Archgenxml modernisation - part 1ΒΆ

Tags: plone, archgenxml

In the recent weeks, I got quite a number of questions about archgenxml and plone 3.0. In summary:

  • The good news is that archgenxml-generated products still pretty much work OK on plone 3.0. Archetypes itself didn't change that much and the majority of what archgenxml does is to feed info to archetypes.
  • The number one problem on plone 3.0: the workflow. Archgenxml generates them the oldfashioned way: workflow files in the Extensions directory. That way of working has been deprecated with plone 3.0, workflows ought to be handled with genericsetup now: in profiles/default/workflow.xml.
  • There is a workaround: install the product in plone 2.5, export the workflow.xml there and add it by hand to your product. Urgh.
Plone programmer in suit - 5, by reinoutvanrees

Improving archgenxml has been in the planning for some time. Since that blog post in september 2006, progress has been slow, but in the last 2 weeks I've again put in quite some effort and I'm again happy coding along in good old train-driven-development commuter work :-) The stuff is all done on the svn trunk version. Some highlights of what's been done:

  • Archgenxml is now something you install with python setup.py.
  • Archgenxml uses the zope3 component architecture internally to handle things. At least, I've got a few interfaces, I'm using one adapter and one utility. It already makes things clearer. The choice for zope3 is a good one, I can tell. See one of the next blog posts.
  • One horrible hack has been done to be able to import said zope3 machinery. I posted earlier about setup.py problems. Basically depending on zope.interface, zope.component and the rest of the stack almost guarantees that you mess up your python's site packages with versions that are incompatible with other zopes (like, your running instances...) that you're running with that python. You'd have to isolate bloody everything with workingenv to get this working. So start up archgenxml and the hack will introduce itself and tell you how to handle it :-)
  • All the new code I wrote has doctests. And I try to add doctests for existing code that I copy/paste to new files. So hopefully this means that the quality will slowly rise.
  • A completely empty genericsetup profile is generated and installed by the quickinstaller. Anything you put in there is in mortal danger as it'll probably get plowed under once I start adding genericsetup files with archgenxml.

Well, there's the current status! Ongoing work.

 
vanrees.org logo

Reinout van Rees

My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):