ftw.inflator

HomePage: https://github.com/4teamwork/ftw.inflator

Author: 4teamwork AG

Download: https://pypi.python.org/packages/source/f/ftw.inflator/ftw.inflator-1.3.2.zip

        ftw.inflator
============


This packages helps predefining a Plone site setup including content
creation (using generic setup), defining multiple bundles and a wizard
for installing a new site with a bundle.


.. contents:: Table of Contents


Features
--------

- A simplified site setup wizard. The wizard can be customized and branded.
- A bundle system for defining variants in the setup configuration.
- A generic setup site creation import step which can be used in the bundles
  for creating initial content. It can be used without using the setup wizard
  and bundle system.


Installation
------------

- Add ``ftw.inflator`` to your buildout configuration:

.. code:: ini

    [instance]
    eggs +=
        ftw.inflator


Compatibility
-------------


Plone 4.1

.. image:: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.1.x.cfg/badge/icon
   :target: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.1.x.cfg

Plone 4.2

.. image:: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.2.x.cfg/badge/icon
   :target: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.2.x.cfg

Plone 4.3

.. image:: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.3.x.cfg/badge/icon
   :target: https://jenkins.4teamwork.ch/job/ftw.inflator-master-test-plone-4.3.x.cfg


Setup wizard
------------

On the `manage_main` view of the Zope app there is an additional button
for installing your product.
It leads to the site setup wizard where an ID and a bundle can be selected.

The setup wizard allows to select one of a set of predefined bundles.
See the bundle section for details on how to define bundles.

.. image:: https://raw.github.com/4teamwork/ftw.inflator/master/docs/inflate.png


Wizard customizations
~~~~~~~~~~~~~~~~~~~~~

The product name and logo can easily be customized through ZCML:

.. code:: xml

    <configure
        xmlns="http://namespaces.zope.org/zope"
        xmlns:inflator="http://namespaces.zope.org/inflator"
        i18n_domain="my.package">

        <include package="ftw.inflator" file="meta.zcml" />

        <inflator:customize
            product="Product Name"
            image="resources/product-logo.png"
            />

    </configure>


Bundle system
-------------

A bundle defines a list of profiles which are automatically applied when
creating a new Plone site with this bundle.

It has a base-profile (defaults to the Plone default base profile without
default content).

Defining bundles
~~~~~~~~~~~~~~~~

The bundles are defined in ZCML:

.. code:: xml

    <configure
        xmlns="http://namespaces.zope.org/zope"
        xmlns:inflator="http://namespaces.zope.org/inflator"
        i18n_domain="my.package">

        <include package="ftw.inflator" file="meta.zcml" />

        <inflator:bundle
            title="ftw.inflator example bundle one"
            profiles="plonetheme.sunburst:default
                      my.policy:default
                      my.policy:init-content"
            />

    </configure>

ZCML-Attributes
~~~~~~~~~~~~~~~

title
    The (translatable) title of the bundle, shown in the setup wizard.

profiles
    One or multiple Generic Setup profiles (without ``profile-``-prefix).

description (optional)
    The description of the bundle, shown in the setup wizard.

base (optional)
    The Generic Setup base profile for creating the plone site.
    This defaults to ``Products.CMFPlone:plone``, the default plone base
    profile without content creation.
    Using ``Products.CMFPlone:plone-content`` will generate the default
    example content.

standard (optional)
    By using the standard flag (``standard="True"``) you can define product bundles.
    When registering custom bundles later without flagging them as standard, they
    will appear above the standard bundles in the setup wizard and top is selected.


Full ZCML example:

.. code:: xml

    <configure
        xmlns="http://namespaces.zope.org/zope"
        xmlns:inflator="http://namespaces.zope.org/inflator"
        i18n_domain="ftw.inflator">

        <inc