Dada Mail 7.x to Dada Mail 8.x Guide

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

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.


Dada Mail Project

Download

Installation

Support