Alfresco:有没有办法继承表单配置以编辑不同文档类型的属性?
Alfresco: Is there a way to inherit form configurations for editing properties of different document types?
我目前正在为我的 Alfresco 实例开发内容模型。在此内容模型中,我有一个基本文档类型和多个特定文档类型(例如报告、测试程序、工作说明书等),它们是基本文档类型的子项。
我正在为共享中的 "edit properties" 部分配置这些文档类型的表单,我正在寻找一种方法来从我的基本文档类型继承表单配置,以便我只需要在我的 share-config-custom.xml 中定义一次(而不是一遍又一遍地复制相同的 xml 代码)。有没有简单的方法可以做到这一点?
谢谢
马库斯
找到了解决方法,即改用方面。在内容模型中定义包含文档元数据的方面,并将它们应用于文档类型。然后你可以通过在 share-config-custom.xml
中使用 evaluator="aspect" 来为这些方面定义表单
具有 "metadata" 方面的内容模型:
<aspects>
<aspect name="vor:docMetaData">
<title>Vorticity Document Metadata</title>
<properties>
<property name="vor:docType">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:docTypeList" />
</constraints>
</property>
<property name="vor:docTitle">
<type>d:text</type>
</property>
<property name="vor:docNumber">
<type>d:text</type>
</property>
<property name="vor:customerNumber">
<type>d:text</type>
</property>
<property name="vor:project">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:projectList" />
</constraints>
</property>
<property name="vor:issueStatus">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:issueOptions" />
</constraints>
</property>
<property name="vor:issueNumber">
<type>d:int</type>
</property>
</properties>
</aspect>
</aspects>
应用于类型的方面:
<types>
<!--Parent vor:doc type-->
<type name="vor:doc">
<title>Vorticity Document</title>
<parent>cm:content</parent>
<mandatory-aspects>
<aspect>vor:docMetaData</aspect>
</mandatory-aspects>
</type>
</types>
share-config-custom.xml中的配置
<config evaluator="aspect" condition="vor:docMetaData">
<forms>
<form>
<field-visibility>
<show id="vor:docTitle" />
<show id="vor:docType" />
<show id="vor:docNumber" />
<show id="vor:customerNumber" />
<show id="vor:project" />
<show id="vor:issueStatus" />
<show id="vor:issueDate" />
</field-visibility>
<appearance>
<set id="docinfo" appearance="" />
<set id="issued" appearance="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field id="vor:docTitle" label="Document Title" set="docinfo" />
<field id="vor:docType" label="Document Type" set="docinfo" />
<field id="vor:docNumber" label="Document Number" set="docinfo" />
<field id="vor:customerNumber" label="Customer Number" set="docinfo" />
<field id="vor:project" label="Project" set="docinfo" />
<field id="vor:issueStatus" label="Issue Status" set="issued" />
<field id="vor:issueDate" label="Issue Date" set="issued" />
</appearance>
</form>
</forms>
</config>
我目前正在为我的 Alfresco 实例开发内容模型。在此内容模型中,我有一个基本文档类型和多个特定文档类型(例如报告、测试程序、工作说明书等),它们是基本文档类型的子项。
我正在为共享中的 "edit properties" 部分配置这些文档类型的表单,我正在寻找一种方法来从我的基本文档类型继承表单配置,以便我只需要在我的 share-config-custom.xml 中定义一次(而不是一遍又一遍地复制相同的 xml 代码)。有没有简单的方法可以做到这一点?
谢谢
马库斯
找到了解决方法,即改用方面。在内容模型中定义包含文档元数据的方面,并将它们应用于文档类型。然后你可以通过在 share-config-custom.xml
中使用 evaluator="aspect" 来为这些方面定义表单具有 "metadata" 方面的内容模型:
<aspects>
<aspect name="vor:docMetaData">
<title>Vorticity Document Metadata</title>
<properties>
<property name="vor:docType">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:docTypeList" />
</constraints>
</property>
<property name="vor:docTitle">
<type>d:text</type>
</property>
<property name="vor:docNumber">
<type>d:text</type>
</property>
<property name="vor:customerNumber">
<type>d:text</type>
</property>
<property name="vor:project">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:projectList" />
</constraints>
</property>
<property name="vor:issueStatus">
<type>d:text</type>
<multiple>false</multiple>
<constraints>
<constraint ref="vor:issueOptions" />
</constraints>
</property>
<property name="vor:issueNumber">
<type>d:int</type>
</property>
</properties>
</aspect>
</aspects>
应用于类型的方面:
<types>
<!--Parent vor:doc type-->
<type name="vor:doc">
<title>Vorticity Document</title>
<parent>cm:content</parent>
<mandatory-aspects>
<aspect>vor:docMetaData</aspect>
</mandatory-aspects>
</type>
</types>
share-config-custom.xml中的配置
<config evaluator="aspect" condition="vor:docMetaData">
<forms>
<form>
<field-visibility>
<show id="vor:docTitle" />
<show id="vor:docType" />
<show id="vor:docNumber" />
<show id="vor:customerNumber" />
<show id="vor:project" />
<show id="vor:issueStatus" />
<show id="vor:issueDate" />
</field-visibility>
<appearance>
<set id="docinfo" appearance="" />
<set id="issued" appearance="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field id="vor:docTitle" label="Document Title" set="docinfo" />
<field id="vor:docType" label="Document Type" set="docinfo" />
<field id="vor:docNumber" label="Document Number" set="docinfo" />
<field id="vor:customerNumber" label="Customer Number" set="docinfo" />
<field id="vor:project" label="Project" set="docinfo" />
<field id="vor:issueStatus" label="Issue Status" set="issued" />
<field id="vor:issueDate" label="Issue Date" set="issued" />
</appearance>
</form>
</forms>
</config>