Skip to main content

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.7 (2017-11-08)

  • Added possibility to use tagged value ‘icon’ on actions to manage the icon_expr. [gbastien]

  • Added Tagged value ‘icon’ available for workflow transition. [gbastien]

  • Added a disable_increment_profile_vernum tagged value. If it is True, version number in metadata.xml is not upgraded at each generation. [thomasdesvenain]

  • Add icons metadata files. [thomasdesvenain]

  • Use png as default icons. If folder_icon or document_icon is set as content_icon, do not copy it. [thomasdesvenain]

  • Allow multiple worlkflows. If many workflows are embedded with class, each workflow is binded in workflows.xml. ‘use_workflow’ attribute adds a workflow to embedded workflows. [thomasdesvenain]

  • Abstract class have no workflow binding. [thomasdesvenain]

  • Import Column classes with DataGridField. [thomasdesvenain]

  • Added a protected section in workflows definition.xml. [thomasdesvenain]

  • View action is always ${object_url}/view, otherwise select layout doesn’t work anymore. [thomasdesvenain]

  • When we add content_icon with null value on a class, icon expr is empty. [thomasdesvenain]

  • Add Site Administrator to ignored extra roles if plone >= 4.1. [thomasdesvenain]

  • Default plone target version is 4.1. It’s easier to change default version. [thomasdesvenain]

  • Fixed configure.zcml core section protection. [thomasdesvenain]

  • Now, manage formats of generic setup version number as n, n1.n2, and not only n1.n2.n3. [thomasdesvenain]

  • If plone_target_version tagged-value is set to 4.0 or 4.1, then generate icon_expr instead of content_icon for FTIs. [vincentfretin]

  • Add a protected FOOT section in type.xml. [vincentfretin]

  • Add vocabulary_factory tagged value. [thomasdesvenain]

  • Avoid deprecated import warning under Zope 2.13+. [thomasdesvenain]

  • Fixed inconstancy between template name and portlet class by removing .pt in the generation [jihaisse]

  • Added method generation for portlet class. The portlet class will look like the classic portlet. [jihaisse]

2.6 (2011-03-10)

  • make z3 interfaces the default interface and dont accept any longer zope2 interfaces [jensens]

  • Use portal_type tagged-value if available instead of class name when generating workflows.xml. [vincentfretin]

  • remove unneccessary imports for remember/membrane, view permissions can now additionally be specified in the dependency association to the content class, name of the view template can now additionally be specified in the dependency relation between view class and content class, pass fixed size parameter to arrayfield (i.e. 4 generates size-4) , browser views: name on dpendency determines name of view, remove old generator i18n support. [zworkb]

  • tgv for dynatree widget [hpeteragitator]

  • Added worklist:guard_expressions tag definition. [vincentfretin]

  • Fixed UnicodeEncodeError when writing the code of existing methods back to the files and the code is in the unicode format. [deo]

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

Metadata

Release files for archgenxml 2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for archgenxml 2.7
File Size Uploaded Provenance Actions
archgenxml-2.7.tar.gz 585.5 kB Without provenance Details for archgenxml-2.7.tar.gz

Release files / archgenxml-2.7.tar.gz

Download URL archgenxml-2.7.tar.gz
Size 585.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2e5a43b7afd140a4a8daf812824c77e3f25e817b95be068d528315e34afa2cbd
BLAKE2b-256 checksum
How to use checksums
7865737adef281b0638a14a8e2aebca1336b6728188b781d0f6488632fb81a89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for archgenxml 2.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page