Setting up products with GenericSetup profiles as dependencies
CMFQuickInstaller, as used in Plone 2.5, doesn't have a way to track and install dependencies for products which are GenericSetup based. One way to overcome this is to use the install() method to manually install the needed profiles.
setup_tool.setImportContext('profile-membrane:default')
setup_tool.runAllImportSteps()
setup_tool.setImportContext('profile-remember:default')
setup_tool.runAllImportSteps()
setup_tool.setImportContext('profile-borg:default')
setup_tool.runAllImportSteps()
setup_tool.setImportContext('profile-Products.DIYPloneStyle:default')
setup_tool.runAllImportSteps()The tricky part is in finding the right name of the profile to set as context id. As you see above, some context ids need the "Products" part, other don't. One easy way that I have found to get the ids is to look at the source for the Properties page of the portal_setup tool. Listed in the select input are the proper ids to use as context ids.
<option value="profile-Archetypes:Archetypes">Archetypes</option>
<option value="profile-Archetypes:Archetypes_samplecontent">Archetypes Sample Content Types</option>
<option value="profile-CMFActionIcons:actionicons">CMFActionIcons</option>
<option value="profile-CMFCalendar:default">CMFCalendar</option>
<option value="profile-CMFDefault:default">CMFDefault Site</option>
<option value="profile-CMFDefault:sample_content">Sample CMFDefault Content</option>
<option value="profile-CMFPlone:plone">Plone Site</option>
<option value="profile-CMFTopic:default">CMFTopic</option>
<option value="profile-CMFUid:default">CMFUid</option>
<option value="profile-DCWorkflow:revision2">CMF Default Workflow [Revision 2]</option>
<option value="profile-Products.TemplateContentTypes:default">TemplateContentTypes Enabled Site</option>
<option value="profile-PluggableAuthService:simple">Simple PAS Content Profile</option>
<option value="profile-PluggableAuthService:empty">Empty PAS Content Profile</option>
<option value="profile-borg:default">Base organisation</option>
<option value="profile-membrane:default">membrane</option>
<option value="profile-membrane:examples">membrane sample content types</option>
<option value="profile-remember:default">remember</option>
</select>