ZCML File
principalfolder.zcml

<configure
    xmlns="http://namespaces.zope.org/browser"
    >
<addform
    name="AddPrincipalFolder.html"
    schema="..principalfolder.IInternalPrincipalContainer"
    permission="zope.ManageServices"
    label="Add Principal Folder"
    content_factory="..principalfolder.PrincipalFolder"
    keyword_arguments="prefix"
    />
<addMenuItem
    title="Principal Folder"
    description="A Pluggable Persistent Authentication Plugin"
    permission="zope.ManageServices"
    class="..principalfolder.PrincipalFolder"
    view="AddPrincipalFolder.html"
    />
<addform
    name="AddPrincipalInformation.html"
    schema="..principalfolder.IInternalPrincipal"
    permission="zope.ManageServices"
    label="Add Principal Information"
    fields="login passwordManagerName password title description"
    content_factory="..principalfolder.InternalPrincipal"
    arguments="login password title"
    keyword_arguments="passwordManagerName description"
    />
<addMenuItem
    title="Principal Information"
    permission="zope.ManageServices"
    class="..principalfolder.InternalPrincipal"
    view="AddPrincipalInformation.html"
    />
<editform
    name="edit.html"
    schema="..principalfolder.IInternalPrincipal"
    permission="zope.ManageServices"
    label="Change Internal Principal"
    menu="zmi_views"
    title="Edit"
    fields="login passwordManagerName password title description"
    />
<containerViews
    for="..principalfolder.IInternalPrincipalContainer"
    contents="zope.ManageServices"
    index="zope.ManageServices"
    add="zope.ManageServices"
    />
<schemadisplay
    name="prefix.html"
    schema="..principalfolder.IInternalPrincipalContainer"
    permission="zope.ManageServices"
    label="Principal Folder Prefix"
    menu="zmi_views"
    fields="prefix"
    title="Prefix"
    />
</configure>