Extension:ContactManager

From mediawiki.org
MediaWiki extensions manual
ContactManager
Release status: beta
Implementation Hook , Special page
Description A ContactManager for Mediawiki based on SMW and PageProperties!
Author(s) (thomas-topway-ittalk)
Latest version 1.0
MediaWiki >= 1.35.0
License GNU General Public License 2.0 or later
Download
Quarterly downloads 0
Translate the ContactManager extension if it is available at translatewiki.net
Issues Open tasks · Report a bug



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[edit]

  • Download and place the file(s) in a directory called ContactManager in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php
wfLoadExtension( 'ContactManager' );
  • Run php maintenance/update.php (this will install the required libraries, and will create the semantic properties and PageProperties' forms that this extension needs)
  • Run composer update --no-dev in the extension's folder, to install the required PHP libraries
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


Features[edit]

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[edit]

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:

php extensions/ContactManager/maintenance/ImportMailbox.php

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)

{{#ask:
 [[~Gmail*]]
 |?Email from
 |?Email subject
 |?Email to
 |?Email date
 |format=datatables
}}


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


Enabling Imap on major email providers[edit]

Gmail[edit]

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 imap.gmail.com in the field "Mailbox server" of the form Contact manager mailbox, and the app password in the field "Mailbox password".



Road map[edit]

  • 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[edit]

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)


See also[edit]