Skip to main content

collective.dancing blueprints for collective.transmogrifier pipelines by Makina Corpus

Project description

Introduction

This package contains several blueprints for collective.transmogrifier pipelines, dedicated to the Plone product collective.dancing.

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

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.1 - 2009-02-10

  • Added ImportSubscriber section. See importsubscriber.txt. [sylvainb]

Project details


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page