Dada Mail 7.x to Dada Mail 8.x Guide
- Dada Mail 7 to Dada Mail 8 Upgrade Guide
- Upgrade Checklist
- Perl Minimum Version: 5.10.1
- FastCGI Support
- PSGI Support
- CGI Support
- CGI::Application-based
- Cronjobs
- Supported Backends: SQL, Unsupported Backend: Default
- Plugins
Dada Mail 7 to Dada Mail 8 Upgrade Guide
Upgrade Checklist
If you are running a version of Dada Mail below v8, here are a few things to make sure you have, before upgrading:
Perl Minimum Version: 5.10.1
MySQL/PostgreSQL + Perl Driver support
Perl Minimum Version: 5.10.1
Dada Mail now requires v5.10.1 of Perl and cannot be run under a version lower. The previous minimum version was v5.8.1.
FastCGI Support
Dada Mail now has FastCGI support! FastCGI support is explained in detail here:
https://dadamailproject.com/d/features-fastcgi.pod.html
In a nutshell, FastCGI allows you to run Dada Mail in a persistent environment. A persistent environment cuts out much of the startup time that happens when running Dada Mail as a CGI script.
This time-savings really becomes apparent if you have a busy website, where Dada Mail is being accessed many times a second. Switching between the two ways Dada Mail can be run (CGI and FastCGI) is fairly easy to do, and we suggest trying out Dada Mail as a plain CGI app, before moving to running it as a FastCGI app.
PSGI Support
Dada Mail also has PSGI support. PSGI support has many of the advantages of running Dada Mail under FastCGI, but is much more modern and flexible because of its idea of Middleware. Details:
https://dadamailproject.com/d/features-psgi_support.pod.html
CGI Support
Just to make things clear, Dada Mail still has support to be run under CGI, as it has since it was written.
CGI::Application-based
Dada Mail has been moved to the CGI::Application framework. This is one of the reasons we've been able to have FastCGI/PSGI support.
More on CGI::Application
:
https://metacpan.org/pod/CGI::Application
Cronjobs
Cronjobs in v8 are vastly simplified, with only one cronjob needing to be set, no matter what features and plugins you have enabled with Dada Mail.
Cronjobs created prior to v8 are no longer used in Dada Mail, so if you are upgrading, you will need to reset your cronjobs: remove the ones that exist for Dada Mail, and add the one new cronjob that's now needed.
The cronjob that's needed will be shown at the last screen of the included installer, as well as in the List Control Panel, under: App Information -- Scheduled Jobs
This cronjob can be customized, and the output of the cronjob can be logged by Dada Mail - both these options can be configured in the Installer as well. See the docs on Scheduled Jobs in Dada Mail:
https://dadamailproject.com/d/features-scheduled_cronjobs.pod.html
Supported Backends: SQL, Unsupported Backend: Default
All the current SQL backends: SQLite, MySQL and PostgreSQL are still supported, but the Default (file-based) Backend will finally be retired.
If you are upgrading your Dada Mail to version 8, and are still running the Default Backend, you will need to migrate to one of the SQL backends.
Plugins
Plugins work entirely different in v8 of Dada Mail. In prior versions, plugins were basically smaller apps that worked independently from the main Dada Mail app (mail.cgi).
You can see this reflecting in the URL to visit the plugin's control panel screen. Prior to v8, the URL would look like this,
http://example.com/cgi-bin/dada/plugins/plugin_name.cgi
In v8, they now look like this,
http://example.com/cgi-bin/dada/mail.cgi/plugins/plugin_name
You're now just called the mail.cgi script, and, /plugins/plugin_name
are just paramaters passed in the PATH_INFO
.
This is to keep the infrastructure of Dada Mail as simple as possible - there's only one app (run persistently if running under FastCGI) that needs to be dealt with.
Some plugins had command line interfaces - those interfaces have all been removed in the name of simplicity.
Plugin Changes/Enhancements
Bridge
Setting the maximum size allowed for messages is now done on a per-mailing list basis, rather than as a global setting.
Bridge is also installed by default, if you're using the included installer in its web-based mode.
Tracker
The line graph on the default screen, showing various analytics across campaigns can be shown normalized by the amount of recipients.
Removed Plugins
Mailing Monitor (mailing_monitor.cgi)
The functionality of the mailing_monitor.cgi
plugin has been folded into the code of Dada Mail - no plugin needed.
Beatitude (scheduled_mailings.pl)
Beatitude, after many years of being marked as, "deprecated", has been removed from Dada Mail. The biggest problem is that the internal architecture of Beatitude was just not going to work going forward.
Scheduling Mass Mailings is supported within the core of Dada Mail, although recurring schedules (run a message every day or every week, etc) are currently not supported.
default_mass_mailing_messages.cgi
The core of Dada Mail now supports Stationery, which allows you to set multiple messages that you can use to start a new draft.