tracker_add_missing_num_subs.cgi
tracker_add_missing_num_subs.cgi
Description
Around v5.0.0 to v5.0.3 (the actually version this problem happens is fuzzy), there is/was a problem with the Tracker plugin, where it wouldn't successfully track the Number of Subscribers at the time of a mass mailing, or this metric wasn't being tracked, because of a user preference (Enable Subscriber Count Logging was unchecked).
Some related bugs:
https://github.com/justingit/dada-mail/issues/281
This leads to a major problem, as Tracker uses this one metric to grab all the mass mailings that it shows in its reports. No "Number of Subscriber" report, no report for anything else.
tracker_add_missing_num_subs.cgi
adds that missing entry into the database. You can get a preview of what this plugin will most likely achieve in the Tracker before running this script. In the Tracker Preferences, uncheck the option, Clean Up Tracker Reports. Your missing entries should now be shown, although other, "garbage" entries will probably also be shown, such as Test Mass Mailings.
Since the number of subscribers of a past mass mailing is unknown, it will simply add a new entry and record, 0
subscribers. (You may later manualy fix this in the SQL table, if you would like.).
This script also makes some assumptions, so not to make a new "Number of Subscribers" entry for every single thing in the Tracker Log:
Doesn't already have a, "num_subscribers" entry
Only mass mailings with missing "num_subscribers" entries will be looked at.
This also means that it's safe to re-run this script multiple times, if you find the desire to do so.
Mass Mailings with an Archived Message but no, "num_subscribers" entry will be given one
Mass Mailings without an Archived Message and too few total Tracker entries will NOT be given a new "num_subscriber" entry
At the moment, this limit is a paltry, 5, and you may change this limit on the top of the script, in the variable,
$need_this_many_entries
This plugin also only works with any of the SQL backends, and does not work with the Default (plaintext logs) Backend.
Configuration
No configuration will need to be done in this script itself. The permissions of this script simply need to be set to, 755
.
Using
Please fix backup the dada_mass_mailing_event_log table in your SQL database. Although this script will not remove any data from your database, it will potentially add data and add quite a bit data.
Visit tracker_add_missing_num_subs.cgi
in your web browser, or run the script via the command line. Be aware that running the script may potentially take several minutes, depending on how many entries in the database you have, how many lists you have - things like that.
Once the script is finished, visit the Tracker plugin and see if the missing Message entries are now visible. The Tracker Summary graph itself will probably have some wildly changing entries, as the actual Subscribers data is not available.
COPYRIGHT
Copyright (c) 1999 - 2016 Justin Simoni All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.