Búsqueda
Para realizar una búsqueda de archivos en Alfresco, debemos hacer uso de CMIS Query Language; lo que nos permitirá realizar consultas, como si de una base de datos se tratase.
Por ejemplo:
SELECTEl código quedaría de este modo:
d.cmis:name, d.cmis:objectId, d.cmis:baseTypeId, d.cmis:objectTypeId, d.cmis:createdBy,
d.cmis:lastModifiedBy, d.cmis:lastModificationDate, d.cmis:contentStreamMimeType,
d.cmis:contentStreamFileName,d.cmis:contentStreamId,d.cmis:contentStreamLength,
FROM cmis:document as d
string query = @"Pueden probar las consultas utilizando la herramienta CMIS Workbench y para mayor información pueden revisar esta información.
SELECT
d.cmis:name, d.cmis:objectId, d.cmis:baseTypeId, d.cmis:objectTypeId, d.cmis:createdBy,
d.cmis:lastModifiedBy, d.cmis:lastModificationDate, d.cmis:contentStreamMimeType,
d.cmis:contentStreamFileName,d.cmis:contentStreamId,d.cmis:contentStreamLength,
FROM cmis:document as d ";
IItemEnumerable<IQueryResult> result = session.Query(query, false);
Lectura
Lo primero que debemos hacer es crear un objeto de la clase CMISDocument, del siguiente modo:CMISDocument cmisIntegrationResponse = new CMISDocument();Luego obtenemos el objeto (en este caso el documento) que deseamos, utilizando el método GetObject
ICmisObject icmisObject = session.GetObject(ObjectIdDoc);Posteriormente, obtenemos el IContentStream de dicho objeto
DotCMIS.Data.IContentStream contentStream = session.GetContentStream(icmisObject);El objeto IContentStream contendrá el nombre, la extensión y por supuesto el Stream; datos que podemos guardar en alguna objeto del tipo de una clase creada por nosotros; para mejor manejo.
cmisIntegrationResponse.ContentStreamFileName = contentStream.FileName.ToString();
cmisIntegrationResponse.ContentStreamMimeType = contentStream.MimeType.ToString();
cmisIntegrationResponse.Stream = contentStream.Stream;
return cmisIntegrationResponse;
Comentarios
Publicar un comentario