アップロードされたドキュメントの Alfresco で webscript の 'creator' プロパティを変更するにはどうすればよいですか?
私は Alfresco 4.2 を使用しています。
ベスト、D
アップロードされたドキュメントの Alfresco で webscript の 'creator' プロパティを変更するにはどうすればよいですか?
私は Alfresco 4.2 を使用しています。
ベスト、D
「cm:creator」は、直接変更できない管理された監査済みプロパティです。ユーザー権限がドキュメント ノードのコンテンツ/プロパティ (コンテンツは実際には特別なプロパティにすぎません) を変更すると、システムによって更新される "cm:modifier" によく似ています。
リポジトリ API を使用してドキュメントの所有者を変更できます。ただし、これは権限の変更であり、cm:creator プロパティは変更されません (変更すべきではありません)。
私が間違っていなければ、 cm :creator、cm:modifier、cm:created、cm:modifiedなどは Alfresco の監査可能なプロパティです。つまり、Alfresco によって管理されているため、手動で更新することはできません。
私はJavaでサポートされたWebスクリプトを開発し、適切に機能する次のコードを追加しました(クリエーターと修飾子のプロパティを更新するため):
// Disable auditable aspect to allow change properties of cm:auditable aspect
policyBehaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
// Update properties of cm:auditable aspect
nodeService.setProperty(nodeRef, ContentModel.PROP_CREATOR, "xxxxxx");
nodeService.setProperty(nodeRef, ContentModel.PROP_MODIFIER, "xxxxxx");
// Enable auditable aspect
policyBehaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
Bean を宣言する context.xml ファイルに追加することを忘れないでください。
<bean id="xxxxxxxx"
class="your class package"
parent="webscript">
<property name="nodeService" ref="NodeService" />
........
<property name="policyBehaviourFilter" ref="policyBehaviourFilter" />
</bean>
幸運を
このフォーラムの投稿をご覧ください。
述べたように、フィールドが設定されると、それ以上変更することはできません。contentModel.xml を変更して、cm:creator フィールドをデフォルト (読み取りと書き込み) に設定することもできます。
または、その時点でドキュメントをコピーし、FullyAuthenticatedUser を短時間設定して、後で元に戻すこともできます。そのための Java コードを記述する必要があります (たとえば、Java アクションで)。