ZCML File
configure.zcml

<zope:configure
    xmlns="http://namespaces.zope.org/browser"
    xmlns:zope="http://namespaces.zope.org/zope"
    >
<addMenuItem
    title="Stateful Process Definition"
    description="A stateful workflow process definition"
    permission="zope.ManageServices"
    class="zope.app.workflow.stateful.definition.StatefulProcessDefinition"
    />
<page
    class=".definition.StatefulProcessDefinitionView"
    for="zope.app.workflow.stateful.interfaces.IStatefulProcessDefinition"
    permission="zope.ManageServices"
    name="index.html"
    template="definition_index.pt"
    />
<editform
    name="edit.html"
    schema="zope.app.workflow.stateful.interfaces.IStatefulProcessDefinition"
    permission="zope.workflow.ManageProcessDefinitions"
    template="definition_edit.pt"
    class=".definition.RelevantDataSchemaEdit"
    menu="zmi_views"
    title="Relevant Data Schema"
    />
<menuItems
    menu="zmi_actions"
    for="zope.app.workflow.stateful.interfaces.IStatefulProcessDefinition"
    >
<menuItem
    title="Manage States"
    action="states/contents.html"
    />
<menuItem
    title="Manage Transitions"
    action="transitions/contents.html"
    />
</menuItems>
<menu
    id="add_stateful_states"
    title="State Items"
    />
<menu
    id="add_stateful_transitions"
    title="Transition Items"
    />
<view
    class=".definition.StatesContainerAdding"
    allowed_attributes="addingInfo"
    permission="zope.workflow.ManageProcessDefinitions"
    for="zope.app.workflow.stateful.interfaces.IStatefulStatesContainer"
    name="+"
    menu="zmi_actions"
    title="Add"
    >
<page
    name="index.html"
    template="add.pt"
    />
<page
    name="action.html"
    attribute="action"
    />
</view>
<addform
    name="AddState"
    schema="zope.app.workflow.stateful.interfaces.IState"
    permission="zope.workflow.ManageProcessDefinitions"
    class=".definition.StateAddFormHelper"
    menu="add_stateful_states"
    title="Stateful State"
    fields=""
    content_factory="zope.app.workflow.stateful.definition.State"
    arguments=""
    />
<view
    class=".definition.TransitionsContainerAdding"
    allowed_attributes="addingInfo"
    permission="zope.workflow.ManageProcessDefinitions"
    for="zope.app.workflow.stateful.interfaces.IStatefulTransitionsContainer"
    name="+"
    menu="zmi_actions"
    title="Add"
    >
<page
    name="index.html"
    template="add.pt"
    />
<page
    name="action.html"
    attribute="action"
    />
</view>
<editform
    name="edit.html"
    schema="zope.app.workflow.stateful.interfaces.ITransition"
    permission="zope.workflow.ManageProcessDefinitions"
    label="Edit a Transition"
    menu="zmi_views"
    />
<addform
    name="AddTransition"
    schema="zope.app.workflow.stateful.interfaces.ITransition"
    permission="zope.workflow.ManageProcessDefinitions"
    menu="add_stateful_transitions"
    title="Stateful Transition"
    fields="sourceState destinationState condition script permission triggerMode"
    content_factory="zope.app.workflow.stateful.definition.Transition"
    arguments="sourceState destinationState"
    keyword_arguments="condition script permission triggerMode"
    />
<addMenuItem
    title="Content Workflows Manager"
    description="An utility to manage content and workflow interaction."
    permission="zope.ManageServices"
    class="zope.app.workflow.stateful.contentworkflow.ContentWorkflowsManager"
    />
<page
    class=".contentworkflow.ManageContentProcessRegistry"
    for="zope.app.workflow.stateful.interfaces.IContentWorkflowsManager"
    permission="zope.ManageServices"
    name="index.html"
    template="contentworkflow_registry.pt"
    menu="zmi_views"
    title="Content/Process Registry"
    />
<pages
    class=".instance.ManagementView"
    for="zope.app.workflow.interfaces.IProcessInstanceContainerAdaptable"
    permission="zope.workflow.UseProcessInstances"
    >
<page
    name="workflows.html"
    template="instance_manage.pt"
    menu="zmi_views"
    title="Workflows"
    />
<page
    name="fireTransition.html"
    attribute="fireTransition"
    />
</pages>
<page
    class=".content_filter.FilterList"
    for="zope.app.container.interfaces.IContainer"
    permission="zope.View"
    name="published_content.html"
    attribute="published_content"
    />
<zope:adapter
    factory=".filteradapter.FilterAdapter"
    provides=".interfaces.IContentFilterAdapter"
    for="zope.annotation.interfaces.IAttributeAnnotatable"
    permission="zope.View"
    />
</zope:configure>