我正在编写一个基于OpenCMIS的应用程序,它从 Alfresco 3.3 中提取一些数据。
它适用于标准CMIS 属性,例如cmis:name
or cmis:contentStreamMimeType
;但是,我无法访问 CMIS AtomPub 提要中作为“Alfresco 扩展”的 Alfresco 特定属性:
<cmisra:object>
<cmis:properties>
<cmis:propertyString propertyDefinitionId="cmis:name" displayName="Name" queryName="cmis:name">
<cmis:value>test document</cmis:value>
</cmis:propertyString>
<cmis:propertyString propertyDefinitionId="cmis:contentStreamMimeType" displayName="Content Stream MIME Type" queryName="cmis:contentStreamMimeType">
<cmis:value>text/html</cmis:value>
</cmis:propertyString>
...
<alf:aspects>
...
<alf:properties>
<cmis:propertyString propertyDefinitionId="cm:description" displayName="Description" queryName="cm:description">
<cmis:value>This is just a test document</cmis:value>
</cmis:propertyString>
</alf:properties>
</alf:aspects>
</cmis:properties>
</cmisra:object>
有什么方法可以让我cm:descripcion
使用 OpenCMIS 获得 的值?
我的猜测是我需要使用DocumentType
接口而不是Document
,然后调用它的getExtensions()
方法。但我不知道如何获取 DocumentType 的实例。
任何帮助将非常感激。
问候
编辑:虽然弗洛里安的回答已经为我解决了,但我刚刚意识到我也可以使用 CMIS SQL 获取这些属性的值:
select d.*, t.*, a.*
from cmis:document d
join cm:titled t on d.cmis:objectid = t.cmis:objectid
join cm:author a on d.cmis:objectid = a.cmis:objectid
where t.cm:description like ...