I just released a new beta version of Dada Mail, mostly working to clear up some problems with people using the MySQL backend and attempting to upgrade and finding problems
Here's the links to 4 0 4 beta 1:
http://github
com/downloads/justingit/dada-mail/dada-4_0_4-beta1
tar
gz
http://github
com/downloads/justingit/dada-mail/dada-4_0_4-beta1
zip
I'd love to get some feedback - especially if the dada3 -> dada4 migration script is working correctly Make a backup of your entire database before using it, first My initial testing seems to render pretty gosh-darn-good results
Here's some highlights from the FAQ's to help you along:
UTF-8 Issues
MySQL, PostgreSQL, SQLite schema changes
Some compatibility issues cropped up, regarding UTF-8/unicode character set/encoding in re: to the SQL schemas The schemas for all supported SQL backends have been modified to better work, mostly by changing fields with type, text(320), to type, varchar(80) Other notes have been added to the UTF-8 FAQ
dada3_to_dada4_sql pl changes
Along with looking into changing the default schema in Dada Mail, the v3 to v4 migration script will now make the necessary schema and character set changes
The character encoding changes and SQL schema changes could potentially be desctructive, so we do, in fact, highly encourage you to make a backup of the entire database, before running the migration tool Most notably, the character encoding change does not work perfectly If your data contains a lot of non-Latin1 characters, we'd highly suggest you do your own ASCII/Latin1 to UTF-8 migration, before upgrading your Dada Mail
If you are running a verion of Dada Mail 4 0 0 to 4 0 3, you'll still need to make those schema changes manually if you're having trouble (exactly what to do, including example SQL is located in the UTF-8 FAQ)
Bug Fixes 4 0 4
"Save, Then Test Your Sending Preferences " button broken in Sending Preferences
http://github com/justingit/dada-mail/issues/closed#issue/31
Upgrading
You are potentially going to have problems
Its possible that, since List Settings were never decoded/encoded correctly in past versions, they'll show up the program (once you've upgrade) incorrectly The easiest thing to do is to edit the mistakes and resave the information For most of the program, you're going to have to manually export the information and re-import it with the correct encoding, sadly Dada Mail will probably fail gracefully with old information, but it's possible that you'll see squiggly charaters, instead of what you want to see There's nothing in Dada Mail that will stop this from happening If you experience it (from old information), we're not going to count it as a bug, but rather a known issue
MySQL Notes
"Specified key was too long; max key length is 1000 bytes", Problem (and Solution)
What's recommended here is to alter some of the fields in some of the tables that make up the MySQL schema
The majority of the time, when a field is named, email it looks like this:
email text(320),
Changing this field type from, text(320) to, varchar(80) will be both beneficial to this problem, as well as realistic
The reason why the email fields were set to a size of, 320 is that the RFC says that email addresses can be this long In reality, they never really are Having a field type this long (especially when using for keys and indexes) tends to muck up things, when you have a utf-8 character set
You'll see this field in the table schemas, as well as the table indexes The advice is to delete the old table indexes, alter your tables for anything thathad a field type of, text(320) and make it, varchar(80) and if you want, recreate the table indexes, using what's in thedada/extras/mysql_schema sql file
Here's some SQL that should remove those indexes:
ALTER TABLE dada_subscribers
DROP INDEX dada_subscribers_all_index
;
ALTER TABLE dada_archives
DROP INDEX dada_subscribers_all_index
;
Here's some SQL that should work on changing the field types:
ALTER TABLE dada_bounce_scores
CHANGE email
email
VARCHAR( 80 );
ALTER TABLE dada_profiles
CHANGE email
email
VARCHAR( 80 );
ALTER TABLE dada_profile_fields
CHANGE email
email
VARCHAR( 80 );
ALTER TABLE dada_subscribers
CHANGE email
email
VARCHAR( 80 );
Changing the character set of tables
The following tables should have a character set of, utf8 and a collation of utf8_bin
• dada_settings
• dada_subscribers
• dada_profiles
• dada_profile_fields
• dada_profile_fields_attributes
• dada_archives
A quick-and-dirty solution to changing the character sets (if they aren't already in UTF-8) is to just use the following queries:
ALTER TABLE dada_settings
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE dada_profiles
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE dada_subscribers
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE dada_profile_fields
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE dada_profile_fields_attributes
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE dada_archives
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
There are downsides to this approach - most notably - any UTF-8 encoded (erm, kinda-encoded) stuff is going to get double-decoded, when Dada Mail accesses and uses the information More information:
http://www mysqlperformanceblog com/2009/03/17/converting-character-sets/
Description
The SQL table schema between Dada Mail 3 0 and Dada Mail 4 0 has changed
Information Saved Differently
Profile Subscriber Fields that were once saved in the, dada_subscribers table now are saved in a few different tables: dada_profiles anddada_profile_fields
Attributes of the fields themselves, mostly the, "fallback" value, was saved in the list settings (for some bizarre reason) This information is now saved in the, ,dada_profile_fields_attributes table
Table Schema Datatypes
Many table column data types have changed, to better work with UTF-8/unicode encoding
Character Set/Encoding Changes
Some tables now need to have a character set of, utf-8
This utility creates any missing tables, moves the old Profile Subscriber Fields information to the new tables and removes the old information
REQUIREMENTS
This utility should only be used when upgrading Dada Mail to version 4, from version 3, or version 2 of Dada Mail
This utility should also, only be used if you're using the SQL Backend If you are not using the SQL Backend, you would not need this utility
INSTALLATION
Upgrade your Dada Mail installation to 4 before attempting to use this utility
This utility is located in the Dada Mail distribution, in:
dada/extras/scripts/dada3_to_dada4_sql pl
You'll most likely want to move it to the, dada directory
Change it's persmissions to, 0755 and visit the script in your web browser
This script relies on the SQL schemas that are saved in the,
dada/extras/SQL
directory to be present Make sure this directory has been uploaded to your installation!
No other configuration is needed
From there, migration should be straightforward Follow the directions in your browser window
Once the migration is complete, please REMOVE this utility from your hosting account
A BIG WARNING ABOUT THIS MIGRATION TOOL AND LOST/CORRUPTED INFORMATION
We don't want you to lose information that's valuable to you
Please read this entire section, to understand what's going to happen
A major major huge change between Dada Mail 3 0 and 4 0 is that Subscriber Profile Fields information that used to be different per subscriber, perlist is now shared between lists
What this means is that, if you have a subscriber and there's a few fields, let's say, fist_name, last_name, favorite_color, these three fields will show up for ALL lists (as it had, before), BUT! The information for each list will also be the same In Dada Mail 3 0, it COULD potentially, be different
When you use this migration tool, only ONE version of this information will be moved over It's up to the migration tool to decide what information gets pulled over If you're worried about losing information you want to save, and only keeping information you want, it's suggested (kind of) to not use this migration tool, until you've manually changed the subscriber profile fields information to the information you'd like How to do that? Good question, really You'd probably have to change (manually) all the profile fields information for each subscriber, in each subscription to the version of the information you want
In the real world, we're not sure how much of a problem this is going to be since, the subscriber has to be subscribed to more than one list to first, be impacted by the problem and then, the subscriber has to have different information per list to first lose information from the migration If the information is like what we've used as an example (fist_name, last_name, favorite_color,) the information is probably going to be shared, anyways, so no worries
Dada Mail 4 0 also has the ability to allow your subscribers to change their own Subscription Profile Information, so if they don't like what's saved, they can manually update their own information
If you have a subscription field that's unique to each subscriber, for each list, you're going to be out of luck We don't have a good workaround for that
This utility will also CHANGE the CHARACTER SET of some of the tables in the schema, to, utf8 If you were using Dada Mail and have non-Latin1 characters in your database, these characters will potentially be corrupted If this is not something you want, please change convert and change the character set manually The following tables need to be modified:
• dada_archives
• dada_profiles
• dada_settings
• dada_subscribers
Start a new thread, email: dadadev@dadamailproject.com
This is the developer discussion mailing list for Dada Mail.
If you are just looking for support Dada Mail, consult the message boards at:
https://forum.dadamailproject.com
Documentation for Dada Mail:
Specifically, see the Error FAQ:
https://dadamailproject.com/d/FAQ-errors.pod.html
To post to this list, send a message to:
mailto:dadadev@dadamailproject.com
All subscribers of this list may post to the list itself.
Topics that are welcome:
Dada Mail is on Github:
https://github.com/justingit/dada-mail/
If you would like to fork, branch, send over PRs, open up issues, etc.
This Privacy Policy is for this mailing list, and this mailing list only.
Email addresses collection through this mailing list are used explicitly to work within this email discussion list.
We only collect email addresses through our Closed-Loop Opt-In system.
We don't use your email address for any other purpose.
We won't be sharing your email address with any other entity.
Unsubscription can be done at any time. Please contact us at: justin@dadamailproject.com for any help regarding your subscription, including removal from the mailing list.
All mailing list messages sent from us will include a subscription removal link, which will allow you to remove yourself from this mailing list automatically, and permanently.
All consent to use your email address for any other purpose stated at the time of the mailing list subscription will also be revoked upon mailing list removal.