Consulta metadatos vía API REST

cancel
Showing results for 
Search instead for 
Did you mean: 
alejandroeveris
Member II

Consulta metadatos vía API REST

Hola, me he creado un tipo de documento específico editando los ficheros de configuración de Alfresco y he añadido unos metadatos concretos a ese tipo.
Ahora desde el código me gustaría hacer una llamada vía REST para devolver unos ficheros filtrando por esos metadatos que he añadido (Por ejemplo, si le he metido el metadato "Localidad", filtrar por todos los ficheros cuya Localidad sea 'X'). He pensado en primera instancia en hacerlo con una consulta hecha en cmis, pero creo que no es posible.
¿Cómo podría hacerlo?
Muchas gracias.
6 Replies
angelborroy
Alfresco Employee

Re: Consulta metadatos vía API REST

Puedes hacerlo por CMIS, la consulta sería algo así:

<CODE>select * from cmis:document where xxx:Localidad = 'ZARAGOZA' and cmisSmiley SurprisedbjectTypeId = 'D:xxx:customDocument'</CODE>

Cambia <CODE>xxx</CODE> por el prefijo de tu modelo de datos y <CODE>customDocument</CODE> por el nombre de tu tipo.
Hyland Developer Evangelist
alejandroeveris
Member II

Re: Consulta metadatos vía API REST

Hola, gracias por contestar.
Yo tengo el modelo de datos definido en un .xml, he probado con la consulta esta, pero no sé si estoy siguiendo bien la sintaxis, pero no termino de hacerla funcionar. Mi modelo de datos se llama 'RBC:contentmodel', y el metadatos por el cual quiero buscar se llama 'RBC:acta-localidad'. ¿Estaría bien esta consulta?

select * from cmis:document where RBC:acta-localidad = 'VALENCIA' and cmisSmiley SurprisedbjectTypeId = 'D:RBC:contentmodel'

Esta consulta no me funciona, y por cierto, estoy usando la versión Community, no sé si tendrá algo que ver.
Muchas gracias.
alejandroeveris
Member II

Re: Consulta metadatos vía API REST

Hola, me respondo a mí mismo.
He conseguido hacer la consulta a medias. Consigo filtrar por tipo de dato, pero no consigo filtrar por los metadatos que es lo que realmente me interesa.
Lo tengo montado de manera que cada tipo de dato tiene unos metadatos diferentes, y me gustaría filtrar por esos metadatos, pero al hacer la consulta con 'select * from cmis:document' ni siquiera se muestran los metadatos que comentaba.
¿Debería usar otro sistema de consultas o me sigue funcionando cmis?
Muchas gracias
angelborroy
Alfresco Employee

Re: Consulta metadatos vía API REST

Debería funcionarte.

¿Puedes incluir aquí el XML del modelo y los datos por los que quieres buscar? ¿Qué API de CMIS estás usando? ¿1.0, 1.1?
Hyland Developer Evangelist
alejandroeveris
Member II

Re: Consulta metadatos vía API REST

He conseguido mostrar en una consulta los datos combinando cmis:document con mi modelo de datos, pero no puedo filtrar por uno de los campos que tengo. ¿Es posible que sea problema del guión?
select w.* from cmis:document as d join RBC:acta as w on d.cmisSmiley SurprisedbjectId = w.cmisSmiley SurprisedbjectId where w.RBC:acta-localidad = 'VALENCIA'
alejandroeveris
Member II

Re: Consulta metadatos vía API REST

Ya he resuelto el error.
El problema estaba en el guión. Lo he cambiado a guión bajo (RBC:acta_localidad) y ya ha funcionado perfectamente. Ya hace los filtros bien.
Gracias por la ayuda.