Dada Mail v4.0.4 Beta 1 Released #perl

 
From: "Justin J" <justin@PROTECTED>
Date: March 23rd 2010

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:

Changelog:

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

UTF-8 FAQ (new content)

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/

Dada Mail 3 to Dada Mail 4 Migration Utility

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
  • This mailing list is a public mailing list - anyone may join or leave, at any time.
  • This mailing list is a group discussion list (unmoderated)
  • 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:

https://dadamailproject.com/d

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:

  • Constructive critiques on the program (I like, "x", but, "y" needs some work - here's an idea on how to make this better...)
  • Bug/Error reports
  • Bug fixes
  • Request For Comments on any changes to the program
  • Help customizing Dada Mail for your own needs
  • Patches
  • Language Translations
  • Support Documentation/Doc editing, FAQ's, etc.
  • Discussion of any changes that you would like to be committed to the next version of Dada Mail -

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.

Privacy Policy:

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.