Introduction
============
This package contains several blueprints for collective.transmogrifier
pipelines, dedicated to the Plone product collective.dancing.
.. contents::
Credits
======================================
|makinacom|_
* `Planet Makina Corpus <http://www.makina-corpus.org>`_
* `Contact us <mailto:python@makina-corpus.org>`_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
collective.blueprint.dancing Installation
===========================================
* When you're reading this you have probably already run
``easy_install collective.blueprint.dancing``. Find out how to install
setuptools (and EasyInstall) here:
http://peak.telecommunity.com/DevCenter/EasyInstall
* Create a file called ``collective.blueprint.dancing-configure.zcml`` in the
``/path/to/instance/etc/package-includes`` directory. The file
should only contain this::
<include package="collective.blueprint.dancing" />
Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance
recipe to manage your project, you can do this:
* Add ``collective.blueprint.dancing`` to the list of eggs to install, e.g.::
[buildout]
...
eggs =
...
collective.blueprint.dancing
* Tell the plone.recipe.zope2instance recipe to install a ZCML slug::
[instance]
recipe = plone.recipe.zope2instance
...
zcml =
collective.blueprint.dancing
* Re-run buildout, e.g. with::
$ ./bin/buildout
You can skip the ZCML slug if you are going to explicitly include the package
from another package's configure.zcml file.
Requirements
------------
* Singing & Dancing - http://pypi.python.org/pypi/collective.dancing
* tested with Plone 3.3.4
Detailed Documentation
======================
ImportSubscriber section
==========================
A ImportSubscriber section allows you to add subscribers to a collective.dancing
channel.
The ImportSubscriber blueprint name is
``collective.blueprint.dancing.importsubscriber``.
To determine the subscriber informations, the ImportSubscriber section inspects
each item and looks for the keys email, channel-id and composer-id, as described
below. Any item missing the ``email`` keys will be skipped.
If the key ``channel-id`` is missing, the ImportSubscriber section looks for the
option ``default-channel-id``. This option defaults to ``default-channel``.
If the key ``composer-id`` is missing, the ImportSubscriber section looks for
the option ``default-composer-id``. This option defaults to ``html``.
For each key, the corresponding information will be found among the following:
* ``_collective.blueprint.dancing.importsubscriber_[sectionname]_[key]``
* ``_collective.blueprint.dancing.importsubscriber_[key]``
* ``_[sectionname]_[key]``
* ``_[key]``
where ``[sectionname]`` is replaced with the name given to the current section,
and ``[key]`` is replaced by ``email``, ``channel-id`` or ``composer-id``. This
allows you to target the right section precisely if needed.
Alternatively, you can specify what key to use for each information by
specifying the``[key]-key`` option, which should be a list of keys to try (one
key per line; use a ``re:`` or ``regexp:`` prefix to specify regular
expressions).
>>> import pprint
>>> importsubscriber = """
... [transmogrifier]
... pipeline =
... source
... importsubscriber
... importsubscriber2
... printer
...
... [source]
... blueprint = collective.blueprint.dancing.tests.importsubscribersource
...
... [importsubscriber]
... blueprint = collective.blueprint.dancing.importsubscriber
...
... [importsubscriber2]
... blueprint = collective.blueprint.dancing.importsubscriber
... default-channel-id=mychannel
... default-composer-id=mycomposer
...
... [printer]
... blueprint = collective.transmogrifier.sections.tests.pprinter
... """
>>> registerConfig(u'collective.blueprint.dancing.tests.importsubscriber',
... importsubscriber)
>>> transmogrifier(u'collective.blueprint.dancing.tests.importsubscriber')
[('_email', 'foo@foo.com')]
[('_email', 'bar@bar.com')]
[('_email', 'existing@email.com')]
>>> pprint.pprint(plone.subscribers)
(u'foo@foo.com -channel:default-channel - composer:html',
u'foo@foo.com -channel:mychannel - composer:mycomposer',
u'bar@bar.com -channel:default-channel - composer:html',
u'bar@bar.com -channel:mychannel - composer:mycomposer')
Change History
=====================
(name of developer listed in brackets)
0.2 - (unreleased)
--------------------
0.1 - 2009-02-10
------------------
- Added ImportSubscriber section. See importsubscriber.txt.
[sylvainb]
Download
==========
`collective.blueprint.dancing-0.1.zip
<http://pypi.python.org/packages/source/c/collective.blueprint.dancing/collective.blueprint.dancing-0.1.zip#md5=5c08a7a8962f75117b222aa2ed8f7541>`_
(`md5
<http://pypi.python.org/pypi?:action=show_md5&digest=5c08a7a8962f75117b222aa2ed8f7541>`_)