Plone’s base setup profile — in Products.CMFPlone.setuphandlers.setupPortalContent() — queries for a registered view named ‘plone-frontpage-setup’ to obtain body text for the front-page populated into a new site.
An add-on site policy product package could register a view (with, unfortunately, no layer interface constraining it) to override the default — however, this would be applicable to all new sites created in an instance.
Is there a pluggable way to use GenericSetup extension profiles to install new front-page content on add-on installation, or does this require a DIY setup handler / import-step?
Reading the source for the base setupPortalContent(), it seems that this was set up for ease of out-of-the-box i18n, but not (yet) for pluggable extension by add-ons?
Have you tried content generation using Generic Setup?
The following example should reset the content generated by setupPortalContent():
Add folder named
structureunder your site policy product’s default profile folder (e.g. src/my.site.policy/my/site/policy/profiles/default/structure/).Under that folder, add a new file named
.deletewith contentUnder the same folder, add a new file named
.objectswith contentStill under the same folder, add a new file named
front-pagewith contentThe new Plone site created with this policy should contain only the front-page described above. (Note that the new front-page has the initial state of its default workflow, which is private by default.)
The easiest way to experiment with content generation further, I think, is to just create something, export
Content-step fromportal_setupand examine the results. Also the Generic Setup Quick Reference by Six Feet Up gives an overview for content generation support in Generic Setup.