Der neue Artikeltyp soll als neues Paket erstellt werden. Entsprechend unserer Anforderung nennen wir es vs.registration. Um dieses Paket zu erstellen verwenden wir wieder PasteScript:
$ cd src $ ../bin/zopeskel create -t plone vs.registration
Antworten Sie dabei auf die Frage Are you creating a Zope 2 Product? mit True.
Anschließend informieren wir die Buildout-Umgebung von unserem neuen Paket. Hierzu ändern wir buildout.cfg:
[buildout]
…
develop
src/vs.policy
src/vs.theme
src/vs.registration
…
eggs =
elementtree
vs.policy
vs.theme
vs.registration
…
Nun wird das Buildout-Skript erneut aufgerufen:
$ ./bin/buildout -o
Entgegen dem Policy-Produkt fügen wir keinen neuen zcml-slug hinzu, sondern definieren es als Abhängigkeit in vs.policy. Deshalb fügen wir in vs.policy/configure.zcml folgendes hinzu:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="vs.policy">
<include package="vs.registration" />
…
</configure>