AnsweredAssumed Answered

capturar propiedad owner del workflow

Question asked by giorgio on Jun 16, 2009
He encontrado esto por el foro

Buenas!

Supongo que ya le has echado un vistazo a la Extración de Metadatos de alfresco (http://wiki.alfresco.com/wiki/Metadata_Extraction).
Alfresco proporciona un mecanismo para extraer los metadatos de los contenidos que se han añadido o modificado en el repositorio. Se puede llamar a una acción por defecto para extraer los metadatos y, según el tipo del contenido, extraerá unas propiedades u otras.

Alfresco proporciona unos extractores por defecto (para pdf, office, html, mp3, opendocument, openoffice, mail) pero también es posible incorporar extractores personalizados.
Como referencia puedes consultar la clase org.alfresco.repo.content.metadata.OpenDocumentMetadataExtracter, y la página anterior del wiki.

Otra opción, si es algo puntual, es que realices la consulta en la base de datos directamente.
La verdad es que no hay documentación al respecto sobre el esquema de la base de datos, pero llevo algún tiempo descifrando cosillas (  ) y las propiedades de un nodo en concreto es muy sencillo de obtener.
Existe la clase ALF_NODE_PROPERTIES, cuya clave primaria está formada por 2 elementos: NODE_ID (que es el identificador de BD del nodo) y QNAME (que es el nombre de la propiedad). Entonces, si te interesa las propiedades de un nodo en concreto basta con que vayas al explorador de nodos, te quedes con el id de base de datos (es la propiedad dbid) y realizas un select en tu esquema:

Código: Seleccionar todo
SELECT * FROM ALF_NODE_PROPERTIES WHERE NODE_ID = xx
Si te interesara el valor de una propiedad en concreto, pues restringes más la query:

Código: Seleccionar todo
SELECT * FROM ALF_NODE_PROPERTIES WHERE NODE_ID = xx AND QNAME = '{http://www.alfresco.org/model/content/1.0}owner';
Lo anterior te devuelve el owner del nodo xx, donde xx es un valor numérico.

Luego podrías complicarlo más, porque tienes la tabla "maestra" ALF_NODE, que representa a todos los nodos del repositorio (y está lógicamente relacionada con la tabla anterior)
de forma que ALF_NODE tiene el atributo ID, que es la foreign key en ALF_NODE_PROPERTIES (NODE_ID). Esta tabla la podrías emplear para restringir los nodos de un determinado tipo (la tabla ALF_NODE tiene el atributo TYPE_QNAME, y por ejemplo, en la select podrías querer conseguir únicamente las propiedades de los espacios: {http://www.alfresco.org/model/content/1.0}folder).

En fin, es cuestión de echarle un ojo a esas tablas, y ver si resuelven tu problema.
Bueno, espero que te haya resultado útil.

Saludos!!

Esa consulta a base de datos la podria hacer desde el review_pooled_procesdefinition para poder traerme la propiedad owner(es decir el propiertario) del workflow en ese momento? Espero puedan ayudarme un saludo

Outcomes