Why Are We Doing This?
From teaching classes and looking at the logs from http://paster.joelburton.com, Joel has learned how thousands of people are using paster/ZopeSkel, and what questions they answer incorrectly. We have a good sense that we can simplify some of the questions while still keeping the output the same, and providing a much better experience for some of our users.
What's the Current Situation?
Currently, when you run a command like:
$ bin/paster create -t plone foo.barYou're really using PasteScript and ZopeSkel:
- PasteScript being part of the paster project (by Ian Bicking),
- and ZopeSkel being a community-maintained Plone project (though it does contain a few recipes of use for generic-Zope and Silva uses).
We have a number of recipes, most importantly:
- plone: A standard Plone product
- plone3_theme: A Plone 3 theme
- archetypes: A standard Archetype-based content type product
- plone_app: A standard Plone product, but assumes "two namespaces" (ie, "joelburton.themes.purplecow"; the name "plone_app" comes from the fact that many of these were originally called "plone.app.something").
There are other recipes for KSS plugins, PAS plugins, and other detailed things.
There are also "base recipes" for things like non-Plone zope products, standard Python eggs, etc. We inherit from these, but these are rarely used directly by Plone people for Plone products.
We think that, while paster/ZopeSkel has been a huge improvement over make-up-as-you-go or copy-and-paste-from-other-products, it would benefit from additional infrastructure and additional recipes/localcommands.