Review of extension Extended Mailing Stats

Published
2014-02-05 06:41
Written by

This time we had a look at the Extended Mailing Stats extensions, that was contributed by Andrew MacNaughty. The extension is used by the Australian Greens (http://greens.au.org). More information on the extension can be found on https://civicrm.org/extensions/extended-mailing-stats. And a big thank you to Andrew and the Australian Greens for sharing this extension!

As the extension is marked as "No, this Extension Release is not ready for automated distribution" we will make comments but not score this extensions. Only extensions marked as "Yes, this Extension Release is ready for automated distribution" are scored.

What does it do

The extension extends the information available on the standard CiviCRM mailing report with additional tracking information that can be quite useful for organizations that use CiviMail. The extension enables a CiviCRM report template, allowing the user to create a report based on the template. One detail we found interesting is how much donations are made within 48 hours after the mailing has been send.

Documentation

First of all a round of applause at how much is documented on Github. Really good, covering all aspects. We do have some comments on individual point, but all in all well documented. Our comments:

  • the Github clone example uses Andrew's Github account, we would prefer git clone https://github.com/mc0e/civicrm-extendedmailingstats.git to the mentioned git clone git@github.com:mc0e/civicrm-extendedmailingstats.git au.org.greens.extendedmailingstats

  • we would prefer the cron job as a scheduled job within the extension, but that was probably not available at the time of creation of the extension. However, now there is a need of a little more explanation as to how to set up a cron job, assuming an intelligent user should be able to configure the extension

Functionality

Straightforward, but definitely quire useful information. Two glitches we had: the report showed an unsubscribe that did not originate from the mailing, and counted two mails sent where only one was sent from the mailing job. Obviously there are some assumptions used in collecting the data for the report, we recommend mentioning these assumptions as they will quite logically explain why some stuff is showing.

Code

Code looks pretty decent, could do with a few more comments. Also, we would prefer to store the functions in a separate class rather than in the 'main' file. So we would probably store all the _extendedmailingstats functions in a separate class called ExtendedMailingStat and called them statically where required. But arguably that is just a question of taste?

Ease of use

As mentioned the git clone does not work if you copy it from the documentation, and the cron job would be easier as a scheduled job. This is what we have done to get it to work:

You have to uncomment line 79 in the code which is

function _extendedmailingstats_cron($params) {

// _extendedmailingstats_cron_db_setup($params, 1);

_extendedmailingstats_cron_mailing($params); // needs to be done at the start

This should be:

function _extendedmailingstats_cron($params) {

_extendedmailingstats_cron_db_setup($params, 1);

_extendedmailingstats_cron_mailing($params); // needs to be done at the start

This will create the neccessary tables in your database.

After that you should run the cronjob to collect the neccessary data for the report.

Overall

Good extension to share, really cool if community members share the specific reports they use and have a generic character! We applaud :-)


Jaap and Erik (http://www.civicoop.org)

Filed under