ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    i18n_domain="zope"
    >
<permission
    id="zope.workflow.ManageProcessDefinitions"
    title="[manage-workflow-processdefinitions-permission] Manage Workflow ProcessDefinitions"
    />
<permission
    id="zope.workflow.CreateProcessInstances"
    title="[create-workflow-processinstances-permission] Create Workflow ProcessInstances"
    />
<permission
    id="zope.workflow.UseProcessInstances"
    title="[use-workflow-processinstances-permission] Use Workflow ProcessInstances"
    />
<class
    class="zope.app.workflow.definition.ProcessDefinition"
    >
<require
    permission="zope.ManageServices"
    interface="zope.app.workflow.interfaces.IProcessDefinition"
    />
</class>
<utility
    component=".definition.ProcessDefinitionVocabulary"
    name="ProcessDefinitions"
    />
<class
    class=".definition.ProcessDefinitionVocabulary"
    >
</class>
<class
    class=".definition.ProcessDefinitionTerm"
    >
<allow
    interface="zope.schema.interfaces.ITokenizedTerm"
    />
</class>
<class
    class="zope.app.workflow.definition.ProcessDefinitionElementContainer"
    >
<require
    permission="zope.View"
    interface="zope.app.container.interfaces.IReadContainer"
    />
</class>
<adapter
    factory="zope.app.workflow.instance.ProcessInstanceContainerAdapter"
    provides="zope.app.workflow.interfaces.IProcessInstanceContainer"
    for="zope.annotation.interfaces.IAnnotatable"
    permission="zope.workflow.UseProcessInstances"
    trusted="true"
    />
<include
    package=".stateful"
    />
<include
    package=".browser"
    />
</configure>