Personal tools
You are here: Home Documentation Tutorials ArchGenXML 1.x- Getting started Introduction
Support

Get Help

Join our chat rooms or support forums if you have more specific questions.

Plone Training
Learn how to design, build, and deploy a website in Plone through one of the numerous Plone training sessions around the world.
Find Plone training…
 
Document Actions

Introduction

An introduction to ArchGenXML - what it is, reasons to use it, who made it.

Jens W. Klein

ArchGenXML is a code-generator for CMF/Plone applications (Products) based on the Archetypes framework. It parses UML models in XMI-Format (.xmi, .zargo, .zuml), created with applications such as ArgoUML, Poseidon or ObjectDomain. This tutorial will help you get started developing applications with the aid of ArchGenXML.
Page 1 of 17.

What is ArchGenXML

With ArchGenXML you can create working python code without writing one single line of python. It is is a commandline utility that generates fully functional Zope Products based on the Archetypes framework from UML models using XMI (.xmi, .zargo, .zuml) files. The most common use case is to generate a set of custom content types, possibly with a few tools, a CMFMember type and some workflows thrown in.

In practice, you draw your UML diagrams in a tool like Poseidon or ObjectDomain which has the ability to generate XMI files. Once you are ready to test your product, you run ArchGenXML on the XMI file, which will generate the product directory. After generation, you will be able to install your product in Plone and have your new content types, tools and workflows available.

At present, round-trip support is not implemented: Custom code can't be converted back into XMI (and thus diagams). However, you can re-generate your product over existing code. Method bodies and certain "protected" code sections will be preserved. This means that you can evolve your product's public interfaces, its methods and its attributes in the UML model, without fear of losing your hand-written code.

ArchGenXML is hosted at svn.plone.org as a subproject of the Archetypes project. It is released under GNU General Public Licence 2 or later.

Why should I use ArchGenXML?

Major reasons:

  • You want to save time
  • You are a lazy programmer
  • You don't like to reinvent the wheel
  • You dont like copying and pasting code and bugs
  • You make heavy use of references and interfaces
  • You have big projects with many different custom types
  • You want or need a well-documented interface to your product
  • You like structured model- and pattern-driven software development
  • You want to maintain your project in future without getting a headache

and many more good and odd other reasons.

Contributors

The project was initially started by Phil Auersperg. Thanks to his laziness :-)

Authors

Phil Auersperg (Project Leader)
BlueDynamics Alliance, Auersperg-Castell KEG, phil@bluedynamics.com,
Jens Klein (Release Manager, Developer and Doc-Writer)
BlueDynamics Alliance, Klein & Partner KEG, jens@bluedynamics.com,
Reinout van Rees (Co-Release Manager, Developer and Doc-Writer)
ZestSoftware
Fabiano Weimar dos Santos (Ideas, Testing, Bugfixing, Workflow)
Weimar Desenvolvimento e Consultoria em Informatica Ltda., xiru@xiru.org,
Martin Aspeli (Improvements, bug fixes and documentation)
Martin Aspeli
and others
thanks to everybody who contributed with testing, doc-writing or code-pieces!

Sponsors

  • Xiru.org, Brazil (Fabiano Weimar dos Santos) sponsors a valuable amount of money into workflow support (State diagrams -> DCWorkflow, will go into release 1.2),
  • PilotSystems, Paris, France (David Sapiro),
  • OpenSource.ag, Innsbruck, Austria (Georg Pleger).

If you want to contribute ArchGenXML by improving the code, helping with documentation or sponsoring money to make us improve it, please contact one of us.

 
by Jens W. Klein last modified August 8, 2007 - 21:29
Contributors: jensens, optilude, reinout, frisi, fifer, et al
All content is copyright Plone Foundation and the individual contributors.

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by