Skip to content

Sections
Personal tools
You are here: Home » Members » pete's Home » NZZUG Meetup 8th September 2005

NZZUG Meetup 8th September 2005

Document Actions
A meetup in Auckland with some general discussion and a demo of ArchGenXML and the benefits of design based coding.

Where/When

Thursday 8th September
4 - 6 pm
Pete's home/office, Ponsonby, Auckland

Who Attended

Cameron Junge - Autonomous Web
Michael Dunstan - EYTL
Pete Simmons - BCMPweb

What'd we get up to?

A few less people than the last two meet ups but another new face (Cam) to add to us two stalwarts.

We started with some general discussion about shared experiences with Zope/Plone and other technologies and the annecdotes were very amusing. We also dicussed upcoming projects we each have on and how we might be able to help each other. This was a great oppurtunity to get different points of view from each of us and our varied backgrounds. Time flew during this part and before we knew it it was 5:15 and we had spent over an hour.

ArchGenXML Demo

I (Pete) then gave an informal demo of ArchGenXML which allows you to design an application in UML diagrams and then generate code from those diagrams.

I demonstrated using a model from a recent project which added custom catalogue types to a PloneMall based website for a partner company to BCMPweb, Addweb. Their site sells websites and the custom mall types are the features that make up the packages that they sell.

The process is essentially, create interfaces, classes etc in your diagram then save it. And use ArchGenXML to generate Archetypes code from the model. The main benefits are that ArchGenXML will do all the heavy lifting when it comes to creating the code and allow you to concentrate on good design. ArchGenXML is also good for anyone with a little (or a lot) experience with UML and design methodologies based around them. In its basic use you have 1 product per diagram and ArchGenXML creates all the "Zope Product skeleton" including things like the __init__.py, Install module (for QuickInstaller/Plone Control Panel install/uninstall) and schema code generation on your types. This allows you to get a leg up and lessens the learning curve needed to get your first Zope Filesystem product up and running.

While there are ways that ArchGenXML works and things you need to do to fit in with those, unlike many IDE type environments ArchGenXML allows you to customise by code editing at every stage.  I have found only 1 thing that I wanted to do and would have when hand coding but couldn't do in ArchGenXML. And having thought it through a little more I realised a nicer way around it. With everything else there has always been a nice clean way to add the required code. For example by default all method bodies are preserved during generation so once you have added some code to do the work you can be sure it will not be overwritten next time you do a generation. This allows you to evolve your code and model as the design evolves.

ArchGenXML has a generic way to add properties to the fields which means as you learn more about Archetypes the tools uses can grown with that knowledge. E.g. if you customise a widget template to use a new special property you added you can add that property to the model and it will get passed through to the code.

ArchGenXML knows how to code a lot of UML features as well, if you add stub classes/interfaces from another product for example code modules for them get created. Then if you add dependices on them, inherit from them, or realise an interface etc. your generated code will have the required imports. See 'import_from' tag.

For more information visit the ArchGenXML Tutorial or contact Pete pete (at) bcmpweb dot com.

From the demo and discussion Micheal decided he should definitly have a look at this. Cam thought it would definitly be useful if he were doing more filesystem work but as he is only working on skinning Plone mostly he said it probably wouldn't add a lot of benefit.

Wrap Up

After the demo we realised it was after 6pm and it was time for us to head home. We all agreed it had been good to catchup and should do it again soon. We will discuss another meet up on the mailing list in the next few weeks.

Related Links

Created by pete
Last modified 2005-09-22 03:05 PM
 

Powered by Plone

This site conforms to the following standards: