Tipos de contenido y aspectos
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2008 12:36 PM
Hola a todos,
Me gustaría crearme una estructura en mi Alfresco, de carpetas y documentos, pero en vez de usar los tipos de Alfresco (folder y content), mis propios tipos.
Mis carpetas serían de tipo Expediente con unos metadatos específicos.
Mis documentos serían de tipo Docu con otros metadatos específicos.
Dentro de mis expedientes, irían mis docu.
Por lo que he leido en la documentación, en las búsquedas no se pueden hacer JOINs, es decir no podría hacer una join entre mis expedientes y mis docus, pero tengo una idea que puede resultar muy rápida y sencilla para poder simular esas joins. Mis tipos docu, además de tener los metadatos propios tendrían también los metadatos de mi tipo expediente, así las búsquedas podrían simular las JOINS. No sé si me he explicado bien.
Como debería quedar mi xxxxModel.xml ?????????
Digamos que tengo lo siguiente :
Pero me falta la relación de que el tipo Docu, tenga los metadatos del tipo Expediente.
Sería tan sencillo como añadir algo de sub-types o algo así?
Me podeís echar una mano?
Muchas gracias de antemano.
Me gustaría crearme una estructura en mi Alfresco, de carpetas y documentos, pero en vez de usar los tipos de Alfresco (folder y content), mis propios tipos.
Mis carpetas serían de tipo Expediente con unos metadatos específicos.
Mis documentos serían de tipo Docu con otros metadatos específicos.
Dentro de mis expedientes, irían mis docu.
Por lo que he leido en la documentación, en las búsquedas no se pueden hacer JOINs, es decir no podría hacer una join entre mis expedientes y mis docus, pero tengo una idea que puede resultar muy rápida y sencilla para poder simular esas joins. Mis tipos docu, además de tener los metadatos propios tendrían también los metadatos de mi tipo expediente, así las búsquedas podrían simular las JOINS. No sé si me he explicado bien.
Como debería quedar mi xxxxModel.xml ?????????
Digamos que tengo lo siguiente :
<types>
<type name="xxx:expedientes">
<title>Expedientes</title>
<parent>cm:folder</parent>
<properties>
<property name="xxxx">
<title>XXXXXXX</title>
<type>d:text</type>
</property>
<property name="yyyyy">
<title>YYYYY</title>
<type>d:text</type>
</property>
<property name="zzzzzz">
<title>ZZZZ</title>
<type>d:text</type>
</property>
</properties>
</type>
<type name="xxx:docu">
<title>Documentos</title>
<parent>cm:content</parent>
<properties>
<property name="aaaa">
<title>AAAAAA</title>
<type>d:text</type>
</property>
<property name="bbbbb">
<title>BBBBB</title>
<type>d:text</type>
</property>
<property name="ccccc">
<title>CCCCC</title>
<type>d:text</type>
</property>
</properties>
</type>
</types>
Pero me falta la relación de que el tipo Docu, tenga los metadatos del tipo Expediente.
Sería tan sencillo como añadir algo de sub-types o algo así?
Me podeís echar una mano?
Muchas gracias de antemano.
Labels:
- Labels:
-
Archive
3 REPLIES 3

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2008 12:49 PM
Hola txakin,
Lo que te interesa es saber dado un Docu a qué Expediente pertenece??
Si es así, podrías aprovechar la asociación contains que ofrece cm:folder. Es decir, por lo que he visto tu tipo Expediente deriva de cm:folder y tu tipo Docu de cm:content. Eso significa que disponen de todos los metadatos de éstos, incluyendo las relaciones entre éstos.
Si dado un contenido podemos saber a qué espacio pertenece (puesto que es su nodo padre a través de la asociación children…por ejemplo, a través del método getPrimaryParent del NodeService), podrás saber de qué Expediente es un Docu de igual forma…
Si te fijas en la definición del tipo cm_folder, verás que ya tiene una asociación cm:contains, la cual admite un número indeterminado de sys:base (el tipo básico definido en el modelo de Alfresco):
Espero que te haya resultado útil y te evites implementar asociaciones específicas
Saludos!
Lo que te interesa es saber dado un Docu a qué Expediente pertenece??
Si es así, podrías aprovechar la asociación contains que ofrece cm:folder. Es decir, por lo que he visto tu tipo Expediente deriva de cm:folder y tu tipo Docu de cm:content. Eso significa que disponen de todos los metadatos de éstos, incluyendo las relaciones entre éstos.
Si dado un contenido podemos saber a qué espacio pertenece (puesto que es su nodo padre a través de la asociación children…por ejemplo, a través del método getPrimaryParent del NodeService), podrás saber de qué Expediente es un Docu de igual forma…
Si te fijas en la definición del tipo cm_folder, verás que ya tiene una asociación cm:contains, la cual admite un número indeterminado de sys:base (el tipo básico definido en el modelo de Alfresco):
<type name="cm:folder"> <title>Folder</title> <parent>cm:cmobject</parent> <archive>true</archive> <associations> <child-association name="cm:contains"> <source> <mandatory>false</mandatory> <many>true</many> </source> <target> <class>sys:base</class> <mandatory>false</mandatory> <many>true</many> </target> <duplicate>false</duplicate> </child-association> </associations> </type>
Por tanto, yo no veo porqué has de incluir asociaciones especiales…Si te creas un "espacio" de tipo Expediente y le añades "contenido" de tipo Docu estarás implícitamente creando la asociación entre éstos.Espero que te haya resultado útil y te evites implementar asociaciones específicas

Saludos!
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2008 01:04 PM
Hola ajv,
Si eso lo entiendo….si yo accedo a mi DOCU, puedo saber su nodo padre, en este caso EXPEDIENTE.
Pero el problema que tendré es en las búsquedas. Te comento :
Imáginate que quiero hacer una búsqueda con JOIN entre EXPEDIENTES y DOCUMENTOS, es decir, que podré buscar por metadatos del EXPEDIENTE y del DOCUMENTO en la misma busqueda.
Aqui entiendo que la búsqueda no me devolverá el resultado esperado, porque los metadatos de un EXPEDIENTE no los tiene el DOCUMENTO y debería mirar por cada documento su nodo padre, en este caso su EXPEDIENTE…..creo que eso es un poco coñazo
Entiendes mi problema?
Si eso lo entiendo….si yo accedo a mi DOCU, puedo saber su nodo padre, en este caso EXPEDIENTE.
Pero el problema que tendré es en las búsquedas. Te comento :
Imáginate que quiero hacer una búsqueda con JOIN entre EXPEDIENTES y DOCUMENTOS, es decir, que podré buscar por metadatos del EXPEDIENTE y del DOCUMENTO en la misma busqueda.
Aqui entiendo que la búsqueda no me devolverá el resultado esperado, porque los metadatos de un EXPEDIENTE no los tiene el DOCUMENTO y debería mirar por cada documento su nodo padre, en este caso su EXPEDIENTE…..creo que eso es un poco coñazo
Entiendes mi problema?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-02-2015 07:10 AM
Hola txakin. Entiendo el problema que tienes. En este video lo explica al detalle:
https://www.youtube.com/watch?v=ATuLLtsaFQo
Cheka este link, si lo estás haciendo en Linux. https://forums.alfresco.com/es/interrelacion-de-contenidos-formulario-personalizado-10072010-1943 ….(Crédtos: innovasoft)
Yo lo necesito para Windows
https://www.youtube.com/watch?v=ATuLLtsaFQo
Cheka este link, si lo estás haciendo en Linux. https://forums.alfresco.com/es/interrelacion-de-contenidos-formulario-personalizado-10072010-1943 ….(Crédtos: innovasoft)
Yo lo necesito para Windows

