跳转到主要内容

Plone的UML到代码生成器

项目描述

概述

使用 ArchGenXML,您可以在不写一行Python代码的情况下创建可工作的Python代码。它是一个命令行工具,可以根据UML模型(使用XMI文件(.xmi、.zargo、.zuml))生成基于Archetypes框架的Zope产品。最常见的情况是生成一组自定义内容类型,可能包含一些工具、自定义会员类型和一些工作流。

工作原理

在实际应用中,您可以在像ArgoUML这样的工具中绘制您的UML图,该工具具有生成XMI文件的能力。准备好测试您的产品后,您可以在XMI文件上运行ArchGenXML,这将生成产品目录。生成后,您将能够在Plone中安装您的产品,并使您的新内容类型、工具和工作流可用。

目前,尚未实现往返支持:自定义代码不能转换回XMI(因此是图)。然而,您可以基于现有代码重新生成您的产品。方法体和某些受保护的代码部分将被保留。这意味着您可以在UML模型中演进产品的公共接口、其方法和其属性,而不用担心丢失您编写的代码。

支持的Plone版本

我们支持Plone版本2.5.x和>3.1.x。但如果您使用低于2的某些ArchGenXML版本生成的代码,您将需要手动调整生成的模型和代码。没有平滑迁移。如果您不需要使代码在Plone 3上运行,请坚持使用较旧的ArchGenXML版本。

进一步阅读

手册 记录了ArchGenXML的大部分功能。还有大量第三方文档,使用多种语言。只需使用Google即可查找更多相关信息。

变更日志

2.7 (2017-11-08)

  • 添加了在动作上使用标记值“icon”来管理icon_expr的可能性。[gbastien]

  • 为工作流转换添加了标记值“icon”。[gbastien]

  • 添加了disable_increment_profile_vernum标记值。如果为True,则每次生成时metadata.xml中的版本号不会升级。[thomasdesvenain]

  • 添加图标元数据文件。[thomasdesvenain]

  • 将png用作默认图标。如果folder_icon或document_icon设置为content_icon,则不复制它。[thomasdesvenain]

  • 允许多个工作流。如果许多工作流与类嵌入,则每个工作流都绑定在workflows.xml中。“use_workflow”属性将工作流添加到嵌入的工作流中。[thomasdesvenain]

  • 抽象类没有工作流绑定。[thomasdesvenain]

  • 使用DataGridField导入Column类。[thomasdesvenain]

  • 在工作流定义.xml中添加了受保护的区域。[thomasdesvenain]

  • 视图操作始终为${object_url}/view,否则选择布局将不再工作。[thomasdesvenain]

  • 当我们对一个类添加带有空值的content_icon时,图标表达式为空。[thomasdesvenain]

  • 如果plone >= 4.1,则将网站管理员添加到忽略的额外角色中。[thomasdesvenain]

  • 默认Plone目标版本是4.1。更改默认版本更容易。[thomasdesvenain]

  • 修复了configure.zcml核心部分的保护。[thomasdesvenain]

  • 现在,可以以n,n1.n2等格式管理通用设置版本号,而不仅仅是n1.n2.n3。[thomasdesvenain]

  • 如果plone_target_version标记值设置为4.0或4.1,则针对FTI生成icon_expr而不是content_icon。[vincentfretin]

  • 在type.xml中添加了受保护的FOOT部分。[vincentfretin]

  • 添加了vocabulary_factory标记值。[thomasdesvenain]

  • 避免在Zope 2.13+下出现已弃用的导入警告。[thomasdesvenain]

  • 通过删除生成中的.pt,修复了模板名称和portlet类之间的不一致。[jihaisse]

  • 添加了portlet类的生成方法。portlet类将看起来像经典portlet。[jihaisse]

2.6 (2011-03-10)

  • 将z3接口作为默认接口,不再接受任何zope2接口。[jensens]

  • 在生成workflows.xml时,如果可用,请使用portal_type标记值而不是类名。[vincentfretin]

  • 删除了不必要的导入,对于remember/membrane,现在可以在内容类依赖关系中指定视图权限,现在可以在视图类和内容类之间的依赖关系中指定视图模板的名称,将固定大小参数传递给arrayfield(例如,4生成大小为4),浏览器视图:依赖关系中的名称确定视图名称,删除旧的生成i18n支持。[zworkb]

  • tgv用于dynatree小部件。[hpeteragitator]

  • 添加了worklist:guard_expressions标记定义。[vincentfretin]

  • 修复了在将现有方法的代码写回文件时出现的UnicodeEncodeError,如果代码是unicode格式的话。[deo]

2.5 (2010-09-04)

  • 扩展器不再生成接口两次了。[jensens]

  • 现在可以在工作流上设置meta_type="Subtractive Workflow"(默认为"Workflow")和state_var="confidential_state"(例如,默认为"review_state")以使用collective.subtractiveworkflow。[vincentfretin]

  • 在rolemap.xml中添加了受保护的角色和权限部分。[vincentfretin]

  • 用Python 2.7中可用的ordereddict实现替换了有问题的odict实现。[moldy]

  • 对生成的模块信息头进行了Unicode修复。[moldy]

  • 删除了关于sets模块的DeprecationWarning。[vincentfretin]

  • 标题信息:为作者使用更好的格式化。将模块头字符串编码,这样我们就不会在非ASCII字符上卡住。[moldy]

  • 将“dependend_profiles”作为多-tgv的替代方案提供(避免超长的tgvs)。[jensens]

  • 添加了虚拟字段类型“keywords”,它将生成带有KeywordWidget的LinesField(这需要一个tgv catalog:index=1)。[jensens]

  • 防止在空tgv上出错。[hpeteragitator]

2.4.1 (2009-04-01)

  • 修复了错误的版本‘2.4-‘。‘2.4-’版本并未完全上传。[vincentfretin]

2.4 (2009-04-01)

  • 修复了使用index:extras标记值的错误。[jensens]

  • 启用简单的plone.app.content.ATBlob子类化。将atblob类型添加到配置文件中。[jensens]

  • 将stripogram(作为egg提供)添加为依赖项。[jensens]

  • 修复了当使用catalogmultiples标记值时目录分配的问题。[erico_andrei]

下载

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码分发

archgenxml-2.7.tar.gz (585.5 kB 查看散列值)

上传时间 源代码

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面