The easiest way to install Plone and the eCampaigning Tool is via the Buildout Script then follow any relevent configuration instructions below.
System Requirements (for eCampaigning Tool 0.2.0)
- Plone 2.5.x
- The following third-party packages are required:
- ATSchemaEditorNG http://plone.org/products/atseng (originally tested with 0.3.3 and recently on 0.4.4 unreleased/SVN)
- ATDataMerge http://plone.org/products/atdatamerge (version 0.1 )
- Note: for eCampaigning Tool 0.2.0 Aplha 1 ONLY you will also need to install TALESField? from the ScriptableFields? Bundle at: http://plone.org/products/scriptablefields
Configuration
After installing on Zope, you will need to ensure that:
- eCampaigning and ATSchemaEditorNG are installed via the Plone 'Add/Remove Products' site setup panel
- A mail host is added and configured to ensure email sending works
- An access rule is added at the site root to ensure tracking works
Adding MailDropHost (optional)
While SecureMailHost (not MailHost) is sufficient for testing, MailDropHost (or other asynchronous mail-forwarding component) is highly recommended for anything but small campaigns since it helps the system to better handle a larger load.
The latest version of MailDropHost (http://www.dataflake.org/software/maildrophost/) available at the time of writing this is version 1.18, which does not support the secureSend method needed by the eCampaigning Tool. Fortunately, the patch is easy:
- Open MailDropHost's 'MaildropHost.py' file for editing
- Comment out 'from Products.MailHost.MailHost import MailHost' and add 'from Products.SecureMailHost.SecureMailHost import SecureMailHost as MailHost'
- Comment out 'def _send(self, m_from, m_to, body):' and add 'def _send(self, m_from, m_to, body, debug=False):'
- Save and refresh product or restart Zope
Adding an Acces Rule (optional)
An access rule is needed for the tracking to work properly. Add it to the site root as outlined below:
- Via the ZMI Product list, create 'Script (Python)' with a name like 'accessRule' in the Plone site root.
- Put the line 'context.checkIncoming()' in the file and save it
- Select 'Set Access Rule' from the ZMI Product list and give it the name of the script you created in step 1
The Access Rule is now set and will pick up the Referrer URL and Entry URL (in addition to the other tracking info it already picked up). When an action is taken, this will be stored in the action record.
Using the Selenium tests to autogenerate an example action (optional)
Creating an action involves creating several Plone content items and configuring them. A Selenium test can be used to speed up this initial effort.
- Get Selenium IDE from OpenQA at: http://www.openqa.org
- Prepare your plone site for testing; see instructions in README in tests/selenium
- Select the test for your Plone version and complete it by filling in your test account password etc.
- Run the test; after it completes, you should have a ready-to-use example action to try out and customize
Known issues
If you get any unicode-related errors (e.g. during data download), check the default encoding of the Python interpreter used by the Zope instance your Plone site runs on. If the default encoding is ASCII, as it is by default, try setting it to UTF-8. You may also want to check any encoding-related settings in your Zope configuration file (in etc/zope.conf). To do this:
- By default the Python default encoding is 'ascii'. To check in the python interpreter use:
>>> import sys >>> sys.getdefaultencoding()
- Find out the path to your SOFTWARE_HOME (ZMI Control Panel)
- Add a file called sitecustomize.py with the following contents:
# sitecustomize.py
# this file can be anywhere in your Python path,
# but it usually goes in ${pythondir}/lib/site-packages/
import sys
sys.setdefaultencoding('utf-8')
- Restart Zope
Issue Tracker
See the Issue Tracker for known issues at: http://plone.org/products/ecampaigning-tool/issues

