Skip to main content

UML to code generator for Plone

Project description

Overview

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 custom Member type and some workflows thrown in.

How it works

In practice, you draw your UML diagrams in a tool like ArgoUML 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 diagrams). 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.

Supported Plone Versions

We support Plone Versions 2.5.x and >3.1.x. But if you have code generated with some ArchGenXML version below 2 you will need to adjust the generated model and code manually. There is no smooth migration. If you dont need to make your code run on Plone 3, stick to an older version of ArchGenXML.

Further Reading

The Manual documents most of ArchGenXML features. There are also plenty third party documentations in several languages. Just use Google to find more on this topic.

Changelog

2.5 (2010-09-04)

  • Extender doesn’t generate interfaces twice anymore. [jensens]

  • You can now set meta_type=”Subtractive Workflow” (default is “Workflow”) and state_var=”confidential_state” for example (default is “review_state”) on a workflow to use it with collective.subtractiveworkflow. [vincentfretin]

  • Added roles and permissions protected sections in rolemap.xml. [vincentfretin]

  • Replaced buggy odict implementation by the ordereddict implementation available in Python 2.7. [moldy]

  • Unicode fixes for generated module info header. [moldy]

  • Removed DeprecationWarning about the sets module. [vincentfretin]

  • Header info: use better formatting for author. Encode module header strings so we don’t choke on non-ASCII chars. [moldy]

  • Make “dependend_profiles” alternative as multi-tgv available (avoid ultra-long tgvs). [jensens]

  • Added virtual field type “keywords” which results in a LinesField with KeywordWidget (this needs a tgv catalog:index=1). [jensens]

  • Prevent error on empty tgv. [hpeteragitator]

2.4.1 (2009-04-01)

  • Fix wrong version ‘2.4-‘. ‘2.4-’ version was not fully uploaded. [vincentfretin]

2.4 (2009-04-01)

  • Fix use of index:extras tagged-value [jensens]

  • Enable easy plone.app.content.ATBlob subclassing. Add atblob stereotype to the profile. [jensens]

  • Add stripogram (available as egg) as dependency. [jensens]

  • Fix catalog assignment when catalogmultiples tagged valued is used. [erico_andrei]

Download

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archgenxml-2.5.zip (627.4 kB view details)

Uploaded Source

File details

Details for the file archgenxml-2.5.zip.

File metadata

  • Download URL: archgenxml-2.5.zip
  • Upload date:
  • Size: 627.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for archgenxml-2.5.zip
Algorithm Hash digest
SHA256 10a5ddc3c86ba1919f74ea4ecf50c4e8785bd310df369acc1741535e42959479
MD5 e90afee8f9250ef3462bd1ac23901a30
BLAKE2b-256 5920c339869e78e6499761beb05f17a201e9f6a9210071e57d54a541755068f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page