To help discuss how we want this work, we have several named actors:
- Themer: Someone who intends primarily to produce a theme for Plone, and doesn't neccessarily care about this being productized or re-used in other sites. They end up needing paster/ZopeSkel only to build one theme product, and may even need this theme product *just* because they want to move one viewlet to another viewlet manager, and that (currently) requires on-disk ZCML.
- Integrators: Someone who uses paster to build non-exotic Archetypes, portlets, viewlets, and straightforward products that are GenericSetup profiles.
- Developers: Someone who uses paster to build many add-ons, potentially including re-usable themes, sophisticated add-on products, etc.
- Core Plone Developers: Someone who is using paster/ZopeSkel to create core parts of Plone ("plone.app.foozle"), and that benefits from the most advanced, complex, or sophisticated possibilities.
We curently feel that paster/ZopeSkel serves the Developer and Core Developer audience very well--it was designed originally for and by these audiences.
We don't feel it serves integrators very well--the questions asked during use of "paster" are too terse, too technical, and non-obvious, and the generated code would benefit from more comments and pointers to documenation.
For themers, who are using paster/ZopeSkel almost incidentally, we feel that it is significantly too complex (this audience may not have *any* experience with Python or eggs at all).