TODO's for ArchGenXML
---------------------

* BUG: Method that end with a comma-newline-value lose that value. For example:

            return (value1,
                    value2)
  If this is the end of a method, the line with "value2)" is lost.
  There is a (failing) unittest for this.
  Workaround: add a 'pass' as last statement in method.

* When generating docstrings, be more clever about linebreaks and whitespace.

    - Poseidon does not wrap, so we need to support funny linebreaks.

* Move remainder of templates in templates/ to DTML

    - action_view.pt
    - generated.pot
    - portlet_template.pt

* stereotype <<portlet>> does not work, but <<portlet_view>>
  does. Documentation points to portlet. Tagged value autoinstall is
  registered for <<portlet>> only.  Here a clean up is needed.

* portlet sample code is Plone 2.0.x style and doenst work with Plone
  2.1.

* Move class, interface generation to DTML. There are too many
  conditionals and strings being generated in the current code. :-)
  Having DTML conditionals and loops would make it much clearer and
  easier to manipulate.

* Tool support: automagically disable uneccessary tabs (like
  base_view, metadata and maybe references) on classes with stereotype
  'portal_tool'. Must be possible to explicitly enable them again.

* Also group together the generateable documentation in one script so
  that it is easy to update the documentation area on plone.org to
  keep it current.

* Longer term: add defaults to the tagged values.

* Perhaps integrate
  http://dev.plone.org/collective/browser/DIYPloneStyle/utils/DIYPloneStyleCompatibility/exportimport/skins.py
  if we're going to do skins.xml stuff.

* Allow python package products instead of zope products.

* Empty out install.py in favour of genericsetup. (partially done)

* Support plone 3.0 portlets.

* Support plone 3.0 viewlets (replacement of many included macros).

* Perhaps look at new 3.0 editor role.

* Move index and brain generation from archetypes fields to
  catalog.xml.
