Extension:ContactManager

ContactManager is an extension built on top of Semantic MediaWiki and PageProperties that allows to manage email from multiple mailboxes, and the related contacts. The complete version is expected to support email tracking and sending of sms messages using a third party service based on the mobile numbers stored as semantic properties in the contact pages.

Installation

 * Download and place the file(s) in a directory called  in your   folder.
 * Add the following code at the bottom of your LocalSettings.php
 * Run  (this will install the required libraries, and will create the semantic properties and PageProperties' forms that this extension needs)
 * Run  in the extension's folder, to install the required PHP libraries
 * ✅ – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Features
ContactManager at the current version allows to bulk import email messages in the wiki and to record them in dedicated slots: specifically one for storing the related metadata, one for the email text, one for the email html and one for the raw headers. All these slots can be navigated thanks to the interface provided by Extension:PageProperties. The extension also creates automatically the required PageProperties forms for the import (specifically: "Contact manager mailbox" and "Contact manager contact").

In future versions ContactManager will feature better forms (specifically forms with compound inputs, expected to be available in a coming version of PageProperties), and will include email filters, and a way to send a wide variety of emails (like single messages, email campaigns, etc.) through a full-featured interface. That, combined with the latest version of Semantic MediaWiki's Datatables allows to use the wiki as a highly flexible email or contact manager, and to easily adapt it to users/customers requirements.

(Slot navigation and email html slot)

Create mailbox and import emails
After the installation open the "Contact manager mailbox" form (available on the sidebar) and fill-in the required fields (except the field "Mailbox retrieved messages" which is used by the extension to record the retrieved messages). Ensure that you have enabled Imap for your mailbox following the instructions below.





Then go in the MediaWiki installation path and run the following command:

Done !! The extension will now import all the messages of the defined mailbox and related attachments, also creating on-the-fly contacts stored with a complete set of semantic properties using the Iconic Name Parser (specifically first name, last name, salutation, middlename, nickname, initials, suffix, full name and email).

Once completed (or stopped at same point) you can display the desired mailbox messages using a parser function like the following (it requires SemanticResultFormats)

It will create a table like the following, where you can navigate and access all your email messages!



Gmail
Go to gmail's settings, tab "Forwarding and POP/IMAP", and enable Imap



then go to your Google account manager, set-up 2FA following these steps and set-up an app password following these steps. Enter  in the field "Mailbox server" of the form Contact manager mailbox, and the app password in the field "Mailbox password".

Road map

 * Email filter
 * Retrieve email of multiple mailboxes from UI
 * send single email messages and email campaigns based on the contacts list (and reply to existing messages)
 * send sms notifications

Support & bugs
Please post error messages in the Talk page of the extension. For custom development or feature requests please use this Contact form (a Extension:CIForms's form)