• Accomplishments of the Sprint

last modified October 13, 2009 by cbc

Tha Playas:

  • cbcunc = Chris Calloway
  • cewing = Cris Ewing
  • chrisrossi = Chris Rossi
  • matthewwilkes = Matthew Wilkes
  • pupq = Joel Burton
  • aclark = Alex Clark

Who Done What

  1. Template summaries (one-line descriptions) were improved. [pupq]
  2. Templates now have an optional help attribute, which is a rich description of the template and its purpose. Help has been provided for all the ZopeSkel templates. [pupq/cewing]
  3. Variables (questions in templates) now have a human-facing "title" attribute which can be shown instead of the (uglier + more opaque) actual variable name. Titles have been written for questions. [pupq]
  4. Variables now have optional help attribute, which is a rich description of the variable. This can be shown in pastescript UIs. [pupq]
  5. Interactive help has been added, so that you can enter "?" at any question to receive the rich help for that question. [cewing]
  6. "Modes" have been implemented--easy, expert, and all--to reduce the number of questions posed to beginning users. For example, technical questions (like "namespace package 2") are now shown only in expert mode. [cewing/pupq]
  7. The project name (eg, "plone.app.example") is now split into pieces to become the default values for namespace packages names ("plone", "app", "example"). [pupq]
  8. Templates can provide an ndot attribute that signals how many namespaces ("dots") are expected in the project name. When invoked through new zopeskel front-end script, names that don't support that pattern are rejected with help (eg, creating a plone_app with "plone.example" would be rejected, as a 2-namespaced-name, "plone.foo.example", is expected) [pupq]
  9. Rather than having to use the checkvar() and post() methods, templates can now support messages that appear pre-questions and post-generation. Appropriate warnings and where-to-go help has been added. [cewing]
  10. Abstract classes for zope2 products and buildouts have been added; this simplifies inheritance of common attrs, and provides appropriate places for future common logic. [pupq]
  11. A front-end script, 'zopeskel', has been added. This has high-level, friendly help, and an improved command line interface for the task of template usage. It can provide a friendly list of templates and a verbosely-detailed list of templates. [pupq/cewing/chrisrossi]
  12. Users can have a "$HOME/.zopeskel" script with default values for questions, either on a all-template or template-by-template basis. [pupq]
  13. The "zopeskel" script can emit a sample ".zopeskel" file, for editing. [pupq/cbcunc]
  14. A simple HTML help generator can produce a listing of templates, fields, and subtemplates. This will be useful for maintaining an HTML "reference guide" to the ZopeSkel templates. [pupq/cbcunc]
  15. Currently-failing unit tests were fixed. [pupq/cewing]
  16. New unit tests were written for new features. [cewing]
  17. Rather than using a generic var() class for all variables ("questions"), subclasses for different types of variables--string, boolean, choices, etc.--were added. These normalize their own values and provide validation. Therefore, users will get earlier/better feedback on inappropriate values. [pupq/cewing]
  18. A proposal for splitting the project into zopeskel.* packages was discussed and written. [pupq/cbcunc]
  19. Significant effort has gone into a web ui for zopeskel that can be invoked and used by end users. This UI should prove less threatening and easier to understand for new users/integrators (it should end up being similar, but much nicer, than http://paster.joelburton.com). This works, but isn't ready-for-public yet. It has its own TODO list in its branch (zopeskel.webui). [chrisrossi with tiny bits from pupq]
  20. Where questions were duplicated across different templates, they were consolidated for consistency into one place, and referred to from other places. [pupq]
  21. A real-time tool for generating graphs of dependencies and template inheritance was written, suitable for including in high-level documentation. [cbcunc]
  22. Released zopeskel 2.13, which is a tiny release that pins to working version of Cheetah [does NOT incorporate any of the above changes] [matthewwilkes/cbcunc]
  23. Create a ZopeSkel email list on plone.org. [aclark, pupq, cbcunc]