0

問題

プロパティを持つコンテンツ モデルと、列conractTypeを持つデータ リストがありconractTypeます。を指す必要がありcontextModel.conractTypeますdataList.conractType。たとえば、プロパティ値を挿入する前に、この値がデータ リストに存在することを確認する必要があります。また、データ リスト値に対応するドロップダウン リストからプロパティ値を選択する必要があります。

私の解決策

モデル プロパティとデータ リスト タイプを直接リンクしようとすると、次のようになります。

<!-- DataLists-->
<type name="sc:contractType">
    <title>Options</title>
    <parent>dl:dataListItem</parent>
    <properties>
        <property name="sc:type">
            <title>Type</title>
            <type>d:text</type>
        </property>
    </properties>
</type>

<!-- workflow model-->
<type name="sc:startProcesstask">
    <parent>bpm:startTask</parent>
    <properties>
        <property name="sc:helloName">
            <type>d:text</type>
            <mandatory>true</mandatory>
            <multiple>false</multiple>
        </property>
        <!-- Error after adding this property -->
        <property name="sc:requestCategory">
            <type>sc:contractType</type>
            <mandatory>true</mandatory>
            <multiple>false</multiple>
        </property>
    </properties>
</type>

エラーが発生しました:

Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 09180002 Property type 'sc:contractType' of property 'sc:requestCategory' is not found

だから私は作成する必要があるようです:

  1. 入力値をチェックするカスタムバリデーター
  2. contractType列から可能なすべてのリスト値を取得するカスタム UI 要素。

質問1

この場合、バリデータとUI要素を適切にリンクする方法は? たとえば、データ リストには型と型がありUUIDます。リンクへのリンクUUIDはハードコードですが、値を持つリストが複数ある場合、タイプへのリンクは予期しない状況につながります。リストのデータ型とモデルの間に追加のバインドが必要になる場合がありますか?

質問2

この問題はよくあることだと思いますが、コードを見つけるのは非常に困難です。(contextn モデルとデータ リストを別々に持つ多くのコードですが、まとめてはありません) alfresco は、コンテンツ モデルのプロパティ値をデータ リストにリンクするための組み込みソリューションを提供しますか?

4

1 に答える 1

2

Alfresco's Dictionary has defined several data types that can be used while defining properties in content model Properties

So it wont accept the type that you have defined.

In order to achieve your requirement, you can go for defining sc:requestCategory as child association of sc:startProcesstask

your modified model will looks like:

<!-- DataLists-->
<type name="sc:contractType">
    <title>Options</title>
    <parent>dl:dataListItem</parent>
    <properties>
        <property name="sc:type">
            <title>Type</title>
            <type>d:text</type>
        </property>
    </properties>
</type>

<!-- workflow model-->
<type name="sc:startProcesstask">
    <parent>bpm:startTask</parent>
    <properties>
        <property name="sc:helloName">
            <type>d:text</type>
            <mandatory>true</mandatory>
            <multiple>false</multiple>
        </property>
    </properties>
   <associations>
       <child-association name="sc:requestCategory"">
           <target>
              <class>sc:contractType</class>
              <mandatory>true</mandatory>
              <many>false</many>
            </target>
        </child-association>
    </associations>
</type>
于 2016-10-18T05:05:01.870 に答える