J'écris une application basée sur OpenCMIS, qui extrait des données d'Alfresco 3.3.Obtenir des propriétés d'extension Alfresco avec OpenCMIS
Il fonctionne très bien avec propriétés standard CMIS tels que cmis:name
ou cmis:contentStreamMimeType
; cependant, je ne peux pas accéder aux propriétés qui Alfresco spécifique dans sont présents sur l'alimentation CMIS AtomPub comme « extensions » 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>
Est-il possible où je peux obtenir la valeur de cm:descripcion
, avec OpenCMIS? Je suppose que j'ai besoin d'utiliser l'interface DocumentType
au lieu de Document
, puis d'appeler sa méthode getExtensions()
. Mais je ne sais pas comment obtenir une instance de DocumentType.
Toute aide serait vraiment appréciée.
Cordialement
Edit: barbante réponse de Florian a déjà travaillé pour moi, je viens de réaliser que je peux obtenir les valeurs de ces propriétés avec CMIS SQL aussi:
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 ...
Merci beaucoup pour votre réponse, Florian. Oui cela fonctionne. C'est presque ce que j'ai fait hier dans ma dernière tentative: session.getBinding(). GetObjectService(). GetProperties(). GetExtensions() ... J'essayais juste la réponse (Liste