是否可以使用alfresco表单服务为自定义webscript或dashlet创建输入字段

时间:2012-10-31 14:03:10

标签: forms alfresco alfresco-share

forms engine in alfresco share似乎是创建和编辑新内容对象的一种非常强大的方式。是否可以对不直接对应于存储库对象的表单使用此声明性配置?

我正在尝试解决的问题是某些自定义属性的搜索掩码。其中一个搜索字段用于具有列表约束的方面,如果alfresco可以自动创建相应的select元素和验证,就像编辑对象属性时一样。

例如,请考虑以下内容模型:

<constraints>
    <constraint name="jh:listconstraint" type="LIST">
        <parameter name="allowedValues">
            <list>
                <value>100</value>
                <value>200</value>
                <value>300</value>
            </list>
        </parameter>
    </constraint>
    <constraint name="jh:regexConstraint" type="REGEX">
        <parameter name="expression">
            <value>[a-z]{4}</value>
        </parameter>
        <parameter name="requiresMatch">
            <value>true</value>
        </parameter>
    </constraint>
</constraint>

<aspects>
    <aspect name="jh:test">
        <properties>
            <property name="jh:property1">
                <title>Property 1</title>
                <type>d:int</type>
                <constraints>
                    <constraint ref="jh:listconstraint"/>
                </constraints>
            </property>
            <property name="jh:property2">
                <title>Property 2</title>
                <type>d:text</type>
                <constraints>
                    <constraint ref="jh:regexConstraint"/>
                </constraints>
            </property>
        </properties>
    </aspect>
</aspects>

具有此方面的文档的属性表包含具有列表约束的属性的良好下拉选择以及对正则表达式约束的自动验证。我想在自定义dashlet中呈现相同的输入字段,但我自己处理后端逻辑。

目标版本将是露天4.1.1。

1 个答案:

答案 0 :(得分:0)

我怀疑有一种合理的方法来构建基于类型或方面定义的搜索(表单),而不会严重损害表单中的CRUD语义和丑陋的FormsService黑客攻击。

如果你想利用Alfresco Forms,我会尝试在维基上记录基于行动的表格 http://wiki.alfresco.com/wiki/Custom_Actions。你可能仍然不得不担心处理价值限制而你可能不得不重复自己,但它仍然应该给你一个不错的开始。