I am spending some time to update the Archetypes Developer Manual on plone.org/documentation, so I can move forward in contributing on other stuff in the Doc Team tasks list.
If you are also in the situation of updating some old AT-based product for Plone 3, this might be useful to you.
The current version of our manual, in the part discussing a sample AT product called InstantMessage, is missing:
- GenericSetup profile for setting types and subskins. This has been missing for a long time, so I decided to update it immediately.
- ZCML-based registration for things such as FS Directory Views or class permissions and factory, which the current version of CMF permits.
I started updating the “InstantMessage” package’s code in this branch.
What was needed: Mainly replacing the old ‘Extensions/Install.py’ code by the needed GenericSetup profile XML files:
- for content types:
- profiles/default/types.xml
- profiles/default/types/InstantMessage.xml
- profiles/default/factorytool.xml
- for the sub-skin: profiles/default/skins.xml
Then, you need a piece of code for loading the GenericSetup profile. You do that, nowadays, by adding a configure.zcml file at the root of the package with the following code:
<configurexmlns="http://namespaces.zope.org/zope" xmlns:genericsetup="http://namespaces.zope.org/genericsetup" i18n_domain="instantmessage" > <genericsetup:registerProfile name="InstantMessage" title="InstantMessage" directory="profiles/default" description="Extension profile for InstantMessage sample AT content type." provides="Products.GenericSetup.interfaces.EXTENSION" /> </configure>
I think I can now update the manual to reflect the new setup code - pointing to a couple of GS-related tutorials that already exist on plone.org, and merge the updated branch of the code with the trunk so people can get this new version.
Next step: Introduce other ZCML-based registrations in the CMF/AT context. This update could wait for the “versions” feature support on plone.org so we add these details without loosing the text related to the old way of doing.





