Registering a profile
GenericSetup profiles are registered via ZCML. The registration is typically done in the configure.zcml of your package. Let's register a default profile for our example my.package
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="my.package">
<genericsetup:registerProfile
name="default"
title="My Package"
directory="profiles/default"
description="Default profile for My Package"
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
</configure>
This is what we would see in the configure.zcml of my.package. Let's examine what each of the attributes of the registerProfile directive mean.
- name
- The name is how GenericSetup will identify your profile. The full profile id is "profile-<package_name>:<profile_name>", in our case profile-my.package:default
- title
- The title of the profile will show up in the portal_setup tool when you select what profile you want to import. The title may also be used in the portal_quickinstaller if it picks up the profile as the install profile for your package.
- directory
- The directory attribute is the relative path to the folder containing the profile information. The directory name is conventionally the same as the profile name.
- description
- The description gives a brief summary of what the profile is used for.
- provides
- The provides attribute tells GenericSetup what kind of profile you are registering. For almost all cases you will be registering an extension profile to extend Plone's base profile.

Author: