PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

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

PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Buenas tardes. Estoy intentando refinar un tipo personalizado basado en  carpeta, llamado "proyecto". Me ha surgido la necesidad de asignar un usuario responsable del proyecto como una propiedad más en el tipo. Para definirlo he usado el  Gestor de Modelos del Share de julio de 2017, pero no veo posibilidad de definir una propiedad de tipo "noderef", ni de definirlo como un desplegable o similar. ¿Es factible? ¿Será necesario editar el modelo y modificarlo manualmente?

Gracias por adelantado

1 Solution

Accepted Solutions
angelborroy
Alfresco Employee

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Diría que no.

Si ya tienes documentos creados en Alfresco que están asociados al modelo diseñado con el Gestor de Modelos, entonces hay un problema. 

En ese caso, Alfresco habrá creado un nodo en "/app:company_home/app:dictionary/app:models" de tipo "cm:dictionaryModel" que es invisible desde la navegación de carpetas de Share (puedes verlo con el Navegador de Nodos). Ese nodo contiene el XML de modelo y algunas propiedades adicionales. 

Si subes un nuevo modelo con el mismo nombre y espacio de nombres mediante un AMP, Alfresco tratará de levantar ambos en el arranque y fallará. 

La única alternativa que se me ocurre, aunque es algo marciana, es que trates de actualizar el campo "cm:content" que contiene el XML de modelo en el nodo "cm:dictionaryModel". Aunque, sinceramente, nunca lo he probado y tengo mis serias dudas de que sea algo "civilizado" y mantenible.

En caso contrario, deberías eliminar todos los documentos que estén asignados al tipo del Gestor de Modelos, desactivarlo, subir el AMP con los cambios y volver a crear todos los documentos asociándolos al "nuevo" tipo.

Hyland Developer Evangelist

View solution in original post

7 Replies
angelborroy
Alfresco Employee

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

En el gestor de modelos no se puede ni se podrá definir. Puedes exportarlo a XML, modificarlo y tratar de volver a subirlo. Aunque supongo que fallará.

Lo más práctico es que lo despliegues por otro mecanismo: Deploying a content model | Alfresco Documentation 

Hyland Developer Evangelist
creverte
Active Member II

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Confirmado, Ángel: no permite volver a subirlo con el Gestor de Contenidos, me has ahorrado un montón de cabezazos  a la pared... Por otra parte, no he tenido problema alguno en tomar el modelo exportado, generarlo como un AMP usando Maven y Eclipse y ampliar con la asociación directamente en los XML.

Sea como sea, supongo que reventará por todas partes si trato de desplegarlo en el entorno original, estando activo el modelo creado con el Gestor de Contenidos de Share... ¿Alguna sugerencia para hacer esa extensión del modelo? Ya te digo, en principio sólo querría ampliar con la asociación, sin necesidad de demolerlo todo desde el principio...

angelborroy
Alfresco Employee

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Cualquier cambio sobre un modelo de contenidos que amplíe puede ser desplegado sin problemas. Esto es, si solo has añadido la propiedad puedes desplegarlo sin problemas.

Las operaciones prohibidas son modificar y eliminar. Cuando realizas eso sobre un modelo de contenidos lo haces incompatible con el existente.

Hyland Developer Evangelist
creverte
Active Member II

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Entonces, entiendo que puedo volver a desplegar el modelo ya en uso que creé con el gestor de modelos de Share, y amplié usando Maven+Eclipse con una asociación con un elemento de tipo persona, vía amp en el mismo entorno, siguiendo el procedimiento de copiar el AMP en /opt/alfresco-community/amps, parar Alfresco, ejecutar /opt/alfresco-community/bin/apply_amps.sh y volver a levantar Alfresco. ¿Es correcto?

angelborroy
Alfresco Employee

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Diría que no.

Si ya tienes documentos creados en Alfresco que están asociados al modelo diseñado con el Gestor de Modelos, entonces hay un problema. 

En ese caso, Alfresco habrá creado un nodo en "/app:company_home/app:dictionary/app:models" de tipo "cm:dictionaryModel" que es invisible desde la navegación de carpetas de Share (puedes verlo con el Navegador de Nodos). Ese nodo contiene el XML de modelo y algunas propiedades adicionales. 

Si subes un nuevo modelo con el mismo nombre y espacio de nombres mediante un AMP, Alfresco tratará de levantar ambos en el arranque y fallará. 

La única alternativa que se me ocurre, aunque es algo marciana, es que trates de actualizar el campo "cm:content" que contiene el XML de modelo en el nodo "cm:dictionaryModel". Aunque, sinceramente, nunca lo he probado y tengo mis serias dudas de que sea algo "civilizado" y mantenible.

En caso contrario, deberías eliminar todos los documentos que estén asignados al tipo del Gestor de Modelos, desactivarlo, subir el AMP con los cambios y volver a crear todos los documentos asociándolos al "nuevo" tipo.

Hyland Developer Evangelist
creverte
Active Member II

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

OK, Ángel, muchas gracias. En principio usé el gestor de contenidos para acelerar el desarrollo, partiendo además del hecho de que no teníamos la necesidad de asociaciones (y de que estamos empezando, y con crear el modelo y poder empezar a trajinar en el entorno de desarrollo ya íbamos sobrados...) Visto lo visto, probablemente restauremos un entorno y montemos el modelo directamente desde AMP. Duda adicional... ¿Vía AMP es viable volver a desplegar el mismo modelo ya desplegado vía AMP antes aunque se haya ampliado? Entiendo que sí, pero preguntar no me va a matar y desde luego sí me va a ahorrar cabezazos...

angelborroy
Alfresco Employee

Re: PROPIEDAD "Usuario Responsable" para un contenido personalizado en Alfresco

Jump to solution

Sí, de hecho es como yo trabajo habitualmente.

Algo que no hago es versionar los modelos, ya que eso implica que son campos diferentes y dificulta las búsquedas. Así que siempre creo el modelo más pequeño posible y después lo voy ampliando.

Hyland Developer Evangelist