Advanced Installation Configuration w/Dada Mail Installer
- Advanced Configuration with the Dada Mail Installer
- Introduction
- Configure Scheduled Jobs
- Configure Deployment Options
- Configure Profiles
- Configure Caching
- Configure Debugging
- Configure Global Template Options
- Configure Security Options
- Configure CAPTCHA
- Configure Global Mailing List Options
- Configure Global Mass Mailing Options
- Configure Confirmation Token Options
- Configure Program Name
- Configure Secure Program URL
- Configure Amazon SES
- Configure Mandrill
Advanced Configuration with the Dada Mail Installer
This doc covers the options in the Dada Mail Installer under the heading, Advanced Configuration (Optional)
If you're looking for general instructions on how to use the Dada Mail Installer, look no further than,
http://dadamailproject.com/support/documentation-8_4_0/install_dada_mail.pod.html
Introduction
Dada Mail's global configuration is saved in a file called, .dada_config
, which itself is saved in the, .dada_files/.configs
directory. The file is plain text, but is a valid Perl script, so be very, very careful if/when you edit it by hand. The installer is generally provided to you so don't have to do this, but many, many global configuration options exist, that aren't supported by the Dada Mail Installer. For a rundown of what's fully available, see:
http://dadamailproject.com/support/documentation-8_4_0/global_variables.pod.html
We'll be listing the actual global variables used, when discussing what the installer configures for you. You do have the option to edit the .dada_config
file that the installer creates, to make even more customizations.
As a warning, the installer only supports reading in, and editing variables that are presented to you in the Installer itself. That means anything that's not presented to you, will be lost if you change the configuration, with the Installer again. Because of this, you'll want to put your own unsupported (by the Installer) configuration changes in a centralized place in your .dada_config
file, so you can easily (manually via copy and paste) move them back to the .dada_config
file that's generated.
Configure Scheduled Jobs
Dada Mail requires a cronjob to run for some of its more advanced features: keeping tabs on mass mailings going out, sending out scheduled mailings, Bridge, etc.
More on Scheduled Jobs and Dada Mail:
http://dadamailproject.com/d/features-scheduled_cronjobs.pod.html
Scheduled Jobs Flavor
The Scheduled Jobs Flavor changes the URL and PATH INFO used to access Dada Mail, to run your scheduled jobs. The idea is that this URL should be slightly unique, so that someone cannot run the schedules themselves.
The Scheduled Jobs Flavor should be unqiue, and not be the value of another flavor used by Dada Mail (admin
, send_email
, etc). An easy way to make sure of this, is just to preceed your flavor with, _sched
and then set the rest of the string to whatever you would like. Example,
_sched83449774F89D9E95
Log Job Output
When checked, Log Job Output will log anything returned by the jobs run. You'll find this log in the .dada_files/.logs/cronjob_output.txt
file. This is helpful with debugging a problem, but this file can get potentially large, quickly, so think of either using this option temporarily, or schedule a cronjob to either rotate, or delete this log periodically.
Configure Deployment Options
Dada Mail can be deployed as a CGI, FastCGI, or PSGI/Plack app.
If you're setting things up using the included installer through the web-based interface, you're probably going to keep this set as the default, CGI
or FastCGI
. If you would like to set Dada Mail up to be deployed under PSGI, it's best to use the command line interface of the installer, as the web-based installer itself runs under CGI.
More on FastCGI Support:
http://dadamailproject.com/d/features-fastcgi.pod.html
More on PSGI Support:
http://dadamailproject.com/d/features-psgi_support.pod.html
Command Line Installer:
http://dadamailproject.com/d/install_dada_mail_cl.pod.html
Config Variable: $RUNNING_UNDER
. Valid values: CGI
, FastCGI
, PSGI
Configure Profiles
Profiles allow your users to manage their own subscriptions, in one centralized location. For an overview of Dada Mail Profiles, see:
http://dadamailproject.com/support/documentation-8_4_0/features-profiles.pod.html
In general, this option allows you to configure the, $PROFILE_OPTIONS
config variable, which is explained in detail in the doc above. You'll notice that not all of the parameters in that variable are supported by the installer.
Profile Administration Email
The Profile Administration Email holds an email address that used for any transactional email messages that go out for Profile tasks. Since Dada Mail Profiles aren't tied to any one mailing list, Dada Mail won't know exactly what address to use.
We highly encourage you to fill out this variable, or these email messages may not be sent out correctly. You may use just an email address:
me@mydomain.com
a little more fancy, with a full email header, with phrase:
"My First and Last Name!" <me@mydomain.com>
You may set two email addresses:
"My First and Last Name!" <me@mydomain.com>, "Another User" <someone.else@example.com>',
Although the From:
header that goes out will only hold one email address.
If Profiles are enabled and the Profile Administration Email is left blank, the List Owner email address of one of your mailing lists will be used instead.
Enabled Features
CAPTCHA
Registration for Dada Mail Profiles can be verified along with a CAPTCHA. We recommend this feature, if CAPTCHA is available.
Magic Subscription Forms
Magic Subscription Forms are pre-filled out with the user's email address, if they're logged into Dada Mail.
Help Screen
Allows you to show/hide the, What are Dada Mail Profiles? link and screen. You'll see this link in the top-right corner of the user-facing UI, by default.
Profile Login
Allows your users to log into their Profile. Disabling this feature will basically disable much of Profiles, so be careful when disabling.
Profile Registration
Controls whether a new user may register to a new Dada Mail Profile. If disabled, a user may still be registered by doing the following:
Subscribing to a new mailing list
If Profiles are enabled, and a user does not already have a Profile, subscribing to a mailing list will create a new Profile for them, and the credentials will be sent to them, in the, "Subscription Successful!" email message.
The List Owner editing their Profile
Profiles can be edited in the, Manage Subscribers - View screen.
Password Reset
Controls whether the, Forgot Your Profile Password? form is shown or not. If it's not shown, a user's Profile password may still be reset by a List Owner, if they're logged in with the Dada Mail Root Password.
Profile Fields
Controls whether the user may edit their own Profile Fields in their own Profile (once logged in). If disabled, a user's Profile Fields can still be edited by a List Owner, if they're logged in with the Dada Mail Root Password.
Mailing List Subscriptions
Controls whether the, Your Mailing List Subscriptions section is visible to your user in their Profile (once logged in).
Password Protected Directory Information
Controls whether The, Password Protect Directories section is visible to your user in their Profile (once logged in). If disabled, Protected Directories will still be available if any are set up, just not listed in the user's Profile.
Update Email Address
Controls whether the, Update Your Profile Email Address section is visible to your user in their Profile (once logged in). If disabled, a user's Profile password can still be edited by a List Owner, if they're logged in with the Dada Mail Root Password.
Change Password
Controls whether the, Change Your Profile Password section is visible to your user in their Profile (once logged in).
Profile Deletion
Controls whether the, Delete This Profile section is visible to your user in their Profile (once logged in).
Configure Caching
Dada Mail caches information, so to not have to constantly connect to your backend database and/or perform time-consuming calculations.
Enable Screen Cache
The Screen Cache caches the HTML screens you would see in your web browser. We suggest to always have it enabled, unless you're making customizations to the templates themselves, in which case it's exceptionally convenient to disable the Screen Cache.
Config Variable: $SCREEN_CACHE
Enable Data Cache
The Data Cache caches mostly JSON data created by Dada Mail for the graphs and charts it produces. Most of these graphs and charts are produced by the Tracker plugin, but other charts do exist. Since this data is cached, the data shown is not always 100% current. You may disable the Data Cache if you'd like to have the data shown always be the newest data available.
Config Variable: $DATA_CACHE
Configure Debugging
Dada Mail's log tracing and debugging options can be configured in this section. Tracing writes extra lines to your error log, in an attempt to provide extra information about the workings of Dada Mail, that you can then go through, to make sure the app is working as it's supposed to.
We don't suggest keeping any of these debugging settings enabled for production use, as your error log will grow fairly large in size.
For more information on what each option enables, see the section on the, $DEBUG_TRACE
and %CPAN_DEBUG_SETTINGS
variables, in Advanced Error Logging and Reporting: http://dadamailproject.com/d/FAQ-errors.pod.html#advanced_error_logging_and_reporting
Configure Global Template Options
Global Template Options allow you to set a Global, user-facing template - that's the template that's shown for basically anything that's not the Admin List Control Panel.
Although you can set a list-specific template, this leaves any screen that's not tied to a specific mailing list left using the default template, which you may not find desirable.
Set a Global, User-Facing Template
Check this option, if you'd like to set a Global, User-Facing Template. You'll be setting where this template can be found, right below this option -
Use A Custom User Template
Check this option, to enable using your custom template.
Manually/Magically
There are two methods Dada Mail can create a User Template.
Manually
The first is manually, where you basically replace the included user template file with your own. The default user template can be found at:
dada/templates/list_template.tmpl
Some background on Dada Mail's templating language:
http://dadamailproject.com/d/features-email_template_syntax.pod.html
Server Absolute Path or URL to your User Template:
This is where you'll want to enter either the absolute path to your template file, or the URL that it can be found at.
This option gives you total control over the layout and design of your user template. For some people, this is too much control.
Magically (Experimental)
Another option is to, "magically" create a Dada Mail User Template, by basing your design on an already-existing web page. This is useful if you would like integrate your Dada Mail with the rest of your website, by having it's layout/design be based exactly on what already exists.
Magically creating this template may take a bit of trial and error. There are a few options available to tailor it to your specific needs:
Magically creating a template requires that you have the HTML::Tree
CPAN Module installed. See:
http://dadamailproject.com/d/FAQ-installing_CPAN_Perl_modules.pod.html
URL:
Creating a user template magically works by first giving Dada Mail a URL to base the template off of. Set that URL in this textbox.
Add a, <base href="..."> tag:
Since you'll probably be pulling the source of the template from a different location than where Dada Mail is installed, you'll probably need to set a base href tag to the beginning of the HTML.
Check this option, then fill out what the base href URL should be, below. Most likely, it'll be the same URL as the URL, above.
Place Pro Dada's head content before/after existing content.
This controls where Dada Mail places its head content - links to the javascript libraries and css files it uses. Depending on how your current page is coded, you may want to place Dada Mail's head content before, or after what's already there.
Stylesheet Options
Include Dada Mail's own stylesheet
Check this option to have Dada Mail style its content, and only its content, using styles set in its own included stylesheet. This is done by wrapping Dada Mail's own content with another div tag, with the id of, "Dada"
Include a custom stylesheet
Check this option, and give the URL of a custom stylesheet. This option works well in conjunction with the previous option. Say, you want to override the typeface used within Dada Mail's content, but don't want to change Dada Mail's css file.
For clarity, we'll work with just the, p
tag. In your custom stylesheet, you would add a new entry:
#Dada p {
/* your new styles here! */
}
Javascript Options
Dada Mail relies on some JavaScript libraries to enhance its user experience. These libraries aren't strictly required to run Dada Mail, and sometimes disabling them give you a better user experience, when using Magic Templates:
Include a Copy of jQuery (v1.11.3)
Keep this option checked, if your site's design doesn't use jQuery. Uncheck this option if a jQuery library is already being utilized. jQuery is used in almost every Wordpress installation, so if you're basing your user template off of a Wordpress design, uncheck this!
Include a Copy of jQuery UI (v1.9.1)
Similar to jQuery, Dada Mail uses the jQuery UI library as well. If this is already loaded, uncheck this option
Include Dada Mail's JavaScript User-Facing Enhancements
Dada Mail's other collection of Javascript libraries rely on these first two. If you experience problems with Dada Mail's functionality, you may want to disable them as well. Dada Mail's user-facing features should all gracefully degrade, if the Javascript they rely on isn't available.
Place Pro Dada's body content inside the:
Dada Mail will replace already existing content it finds, with Dada Mail's own content. But first, it needs to know where to find that content. Dada Mail supports finding the right place in three ways.
body tag
The first is the most basic: it'll just replace all the content found in the body of your HTML doc. This is most likely not what you want to do, but can be a way to easily have Dada Mail inherit some of the styles of your website.
tag with css id
The second way is the most specific, and it's what we recommend. Give Dada Mail the id of an HTML element, and Dada Mail will only replace the content within that element.
tag with css class
Similar to using an id, you can also use a class name of an HTML element for Dada Mail to replace content with. The problem of using a class is that id's are supposed to be unique in an HTML document; classes are not. But, some layouts are created without using id's at all. In these cases, you still have the option to use a class name.
Test Your User Template
Use this button to check if Dada Mail will be able to retrieve your template. If you're setting your template Magically, a new window will also pop up giving you a preview of what your template will look like.
Config Variable: $TEMPLATE_OPTIONS
.
Configure Security Options
Hide Administration Link
Dada Mail usually shows a simple link to the administration login screen, on the bottom of the default screen. If you would rather this link not be so publically advertised, you my check this option.
You may always get to the administration page by pointing your browser to an address like this:
http://mysite.com/cgi-bin/dada/mail.cgi/admin
This is a small security measure but may just stop people from snooping further.
Disable Outside Logins
This option controls whether login information posted to Dada Mail can only be allowed by a form supplied by Dada Mail itself. This means, you can't create a different form, outside the program to provide a way to login (or do something similar programmatically)
More so than any other option, this variable attempts to stop attempts of logging into a list by automated means.
Admin Flavor Name
Complementary to Hide Administration Link, Admin Flavor Name allows you to set the URL needed to access the screen that has the form to log into all the mailing lists administrated by Dada Mail and to the form to create a new mailing list.
By default, this is set to, admin
, which means to access this screen, you'd go to a URL that looks like this:
http://example.com/cgi-bin/dada/mail.cgi/admin
If you set the Admin Flavor Name to something like, kookoo, you'd then access this screen via the following URL;
http://example.com/cgi-bin/dada/mail.cgi/kookoo
When setting this option remember:
no spaces in the name
Valid values:
poopoo1234
agabaga
JKdsfkKJjjkkjjk
Invalid values:
fads fdas asdf
You Get The Point
Don't set this variable to anything that Dada Mail already uses, like:
subscribe
unsubscribe
login
logout
list
archive
etc. A good way to make sure would be to append, "admin" to your value, like this:
adminfoofoo
adminlalalala
adminwhakawhaka
No checks will be made to make sure you don't have this value set to something already present, so do be careful setting this variable.
Global Variable: $ADMIN_FLAVOR_NAME
Sign In Flavor Name
Similar to Admin Flavor Name, Sign In Flavor Name holds the URL that allows you to log into a particular list (usually), although it is sometimes used to re-login into any of your lists - very similar to the administration screen, but does not give you the form to create a new list.
The same naming rules apply for this variable as they do for Admin Flavor Name,. It's also suggested that you append, "sign_in" to the value you set this, like so:
sign_in_fdskjasdf
sign_in_sneaky_pete
etc.
Global Variable: $SIGN_IN_FLAVOR_NAME
Configure CAPTCHA
Dada Mail uses CAPTCHA challenge-response tests optionally for many things: as a additional step to confirm a subscription, for the Forward a Friend form, and other places.
Dada Mail also supports Mailhide, which uses the reCAPTCHA system to easily protect email addresses shown in Dada Mail's public archives.
In this section, we can configure the CAPTCHA options in Dada Mail:
CAPTCHA Type
Dada Mail allows you to choose between two CAPTCHA types: it's Default, and reCAPTCHA. If available, we suggest using the reCAPTCHA system, as it's more sophisticated, than the CAPTCHA system shipped with Dada Mail. reCAPTCHA does require the, CAPTCHA::reCAPTCHA
CPAN module installed.
You'll also need to sign up for an API key at the reCAPTCHA site: http://www.google.com/recaptcha. Once you've signed up, you'll need to input both the Public and Private reCAPTCHA API key into Dada Mail. Dada Mail will also need the Remote Host filled out - this is basically your domain name, (example.com).
Test CAPTCHA Configuration
Once you've made your selection of what type of CAPTCHA system to use, and inputted any necessary information, you may use the, Test CAPTCHA Configuration button to make sure the CAPTCHA system is working. Results should be shown below the button, as well as an example of the CAPTCHA widget. If the widget does not show, double-check that the information you've added is correct.
reCAPTCHA Mailhide
reCAPTCHA Mailhide is also supported, and also needs a Public and Private API key, which can be created here: http://www.google.com/recaptcha/mailhide/ - NOTE! That this API key pair is different from your reCAPTHCA public/private key - they're not interchangeable.
Test reCAPTCHA Mailhide Configuration
You may use the, Test reCAPTCHA Mailhide Configuration button to make sure the Mailhide system is working. Results should be shown below the button, as well as an example of a protected email address. If the example does not show, double-check that the information you've added is correct.
Configure Global Mailing List Options
Enable Global Unsubscribe
When enabled, Global Unsubscribe will remove a member from all mailing lists, when they're removed from one mailing list.
Enable Global Black List
When enabled, members of all mailing list's Black Lists will be pooled together, when addresses are verified for subscription.
Configure Global Mass Mailing Options
Some mass mailing options are set globally, as sending limitations may be account-wide, rather than mailing list-wide. Mailing List-specific Mass Mailing Options are found in the List Control Panel, under: Mail Sending - Mass Mailing Options
Mass Mailings at Once Limit
This sets how many different mass mailings may go out from an installation of Dada Mail at one time. Conservatively, this is set to, 1 by default.
There are a few reasons why you wouldn't want to set this to any higher limit, one being that there's a possibility that there is a limit on how many email messages you are allowed to go out in a specific period of time.
Another reason is that sending out too many messages at once may cause the server your running to be overloaded.
But, if you've got the bandwidth, and the horsepower, feel free to raise this limit.
Global Variable: $MAILOUT_AT_ONCE_LIMIT
Multiple Mailing List Sending
Check this option to enable multiple mailing list sending. In a nutshell, when enabled, you'll have the option to send the same message to multiple mailing lists, at one time. For more information, see:
http://dadamailproject.com/support/documentation-8_4_0/features-multiple_list_sending.pod.html
Global Variable: $MULTIPLE_LIST_SENDING
This option does not change the $MULTIPLE_LIST_SENDING_TYPE
variable - it's set to, merged
, by default.
Mass Mailings Stale After
Mass Mailings Stale After sets how long a mailout can go with no mailing activity until Dada Mail itself won't automatically reload it, from the point it stopped.
This option attempts to safegaurd you against having a dropped mailing that you've, "forgotten" about reloading, "mysteriously" and unintentionally.
A mailout may still be reloaded if this limit has been surpassed, but it must be done manually, through the list control panel.
Global Variable: $MAILOUT_STALE_AFTER
Configure Confirmation Token Options
Confirmation Tokens are the random letters and numbers you'll see at the end of confirmation URLs in subscription and unsubcription links (among other things).
The token corresponds to information in your database, information we don't necessarily want embedded in the URL itself.
Dada Mail keeps this information around for awhile, so that these confirmation links work.But, this information can take up space in your database, so there is an expiration date associated with them. By default, Dada Mail keeps the information around for 60 days, before removing them.
If you're running a public mailing list, we do not suggest setting this to be under 30 days, as the unsubscribe link that depends on these confirmation tokens is required by the CAN SPAM law to be operable for 30 days.
Configure Program Name
The Program Name, set to either Dada Mail or, Pro Dada by default may be changed here. This name change will be reflected throughout the entire application, but the image used by default in the upper left hand corner will also need to be changed. We do suggest that you simply make your own template, rather than swapping this one image out.
Configure Secure Program URL
The Secure Program URL holds the URL you'd like to use for Dada Mail's List Control Panel. For example, if you can map your Program URL to either an, http://
URL, or a, https://
address, you can set regular access to,
http://example.com/cgi-bin/dada/mail.cgi
and access to the List Control Panel on a secure connection:
https://example.com/cgi-bin/dada/mail.cgi
Configure Amazon SES
You may set up Dada Mail to send via Amazon's Simple Email Service. This is a third party email sending service, which may have a much higher daily email quota and sending rate than what may be allowed on your own hosting account. Amazon SES does charge a fairly low rate for their service (about $0.10 per thousand messages sent). For more information, see the Amazon SES own site (http://aws.amazon.com/ses/) and Dada Mail's docs on Amazon SES (http://dadamailproject.com/d/features-amazon_ses_support.pod.html)
Amazon SES does have a long list of required Perl CPAN modules that need to be installed, before SES sending will work. If any modules are not installed, the installer will list which CPAN modules are still needed.
To configure Dada Mail to use SES sending, first check the checkbox labeled, Configure Amazon SES Then, you will need to give the installer your AWS Access Key ID and a AWS Secret Access Key. To test your information, click the, Test Your AWS Credentials button.