0

この問題があります:

昨日、Alfresco にカスタム xmlModel がありました。これには、カスタム タイプ、プロパティによるコンテンツの拡張、およびいくつかの必須の側面がありました。

<type name="custom:myType">
     <title>Object</title>
     <parent>cm:content</parent>
     <properties>
        <property name="custom:myProperty">
           <type>d:text</type>
        </property>
     </properties>
     <mandatory-aspects>
        <aspect>custom:myAspect1</aspect>
     </mandatory-aspects>
  </type>

今、カスタム my Property を次のような新しい側面に移動する緊急の必要性があります。

 <aspect name="custom:myAspect2">
     <title>new aspect</title>
     <properties>
        <property name="custom:myProperty">
           <type>d:text</type>
           <mandatory enforced='true'>true</mandatory>
        </property>
     </properties>
  </aspect>

タイプは次のようになりました。

<type name="custom:myType">
 <title>Object</title>
 <parent>cm:content</parent>
 <mandatory-aspects>
    <aspect>custom:myAspect1</aspect>
    <aspect>custom:myAspect2</aspect>
 </mandatory-aspects>

インデックスを完全に再構築した後、Lucene はこれらの変更を考慮していないようです。そのため、Alfresco では、新しいドキュメントはすべて問題なく、古いモデルでアップロードされ、現在再インデックスされている古いドキュメントでは、プロパティはまだありますが、側面が欠けています。それは正常な動作ですか?またはいくつかの問題/バグ。これはすべて、アスペクトに対して CMIS クエリを作成する必要があるために発生しますが、Alfresco のアスペクトの一部ではないタイプのネイティブ プロパティに対してクエリを作成する際に問題が発生します。コンテンツ タイプではなく、アスペクトのプロパティのみを抽出できるようです。本当?ありがとう

ありがとう。

4

1 に答える 1

2

問題の最初の部分に関しては、古いオブジェクトにアスペクトを追加するためにスクリプトを実行する必要がある場合があります。これらの古いオブジェクトは、オブジェクトに追加されていない必須のアスペクトが必要であると不平を言っているはずなので、実際にリポジトリを開始できたことに驚いています。

行った変更を行った場合、最初にアスペクトを空のアスペクトとして宣言し、次にスクリプトを実行して、意味のあるすべてのノードにアスペクトを追加し、モデルを更新してプロパティをタイプから移動します。アスペクトに移動して再起動します。

CMISとクエリに関する2番目の質問に関しては、タイプの一部として定義されたプロパティをCMISを介して問題なくクエリできるはずです。問題は、プロパティがアスペクトに移動するときです。次に、クエリは次のように結合する必要があります。

queryString = "select d.*, w.* from cmis:document as d join sc:webable as w on d.cmis:objectId = w.cmis:objectId where w.sc:isActive = True";

この例では、sc:webableがアスペクトであり、sc:isActiveプロパティがそのアスペクトで定義されています。

したがって、アスペクトで定義されたプロパティのクエリで問題が発生したと言った場合、型で定義されたプロパティのクエリで問題が発生するよりも、(結合要件のために)意味があります。

また、オブジェクトへのアスペクトの追加とオブジェクトからのアスペクトの削除、オブジェクトにアスペクトがあるかどうかの確認、アスペクトで定義されたプロパティの設定または更新はすべて、アスペクトがCMIS 1.0でサポートされていないため、拡張機能を使用する必要があることに注意してください。ボックス。OpenCMIS用の拡張機能とcmislib用の別の拡張機能があります。

于 2013-02-15T01:28:27.880 に答える