cancel
Showing results for 
Search instead for 
Did you mean: 

Importar fichero ACP desde bootstrap-context.xml

maperez
Confirmed Champ
Confirmed Champ

Buenos días,

Estoy empezando a desarrollar módulos AMP para alfresco, por lo que igual mi pregunta es trivial, pero llevo días dándole vueltas sin avanzar.

Resumiendo... desde el ifchero bootstrap-context.xml realizo la importación de varios directorios que se hace bien cuando instalo el módulo AMP, a excepción de uno que únicamente debería de añadir una regla de contenido en el espacio "Espacios personales de usuario" .

.............................

<props>
                        <prop key="uuidBinding">UPDATE_EXISTING</prop>
                        <prop key="path">/${spaces.company_home.childname}/${spaces.user_homes.childname}</prop>
                        <prop key="location">alfresco/module/mimodulo/bootstrap/EstructuraUsuarios.acp</prop>
                    </props>

..................................

Desde "Detalles" del espacio "Espacios personales de usuario" exporto para conseguir el ACP, indicando "Current space" -> "Include children". Si descomprimo ese ACP veo que en el xml está definida la regla de contenido con todos sus datos (es la ejecución de un script).

Pero al instalar el módulo en alfresco, esa regla no se crea en "Espacios personales de usuario". Al tratarse de un espacio por defecto de Alfresco..¿permite la importación?

¿Existe alguna forma más rápida de probar el ACP sin incluirlo en el modulo AMP? así probarlo sin tener que hacer la instalación completa. He probado importar pero lo único que hace es subir el fichero ACP donde le he dicho que haga la importación... algo falta...

Muchas gracias.

7 REPLIES 7

maperez
Confirmed Champ
Confirmed Champ

Ultima prueba, si al crear el ACP (exportar) le digo que "Include children" y "Include this space". Consigo:

- Si importo como destino "Espacios personales de usuario" , crea dentro otro espacio "Espacios personales de usuario" y con la regla de contenido que necesito.

-Si importo como destino "Espacio de empresa" entonces dice que "Duplicate child name not allowed: Espacios personales de usuario". Lógico porque intentará crear un nuevo espacio que ya existe.

¿Alguna idea para automatizar la creación de esta regla de contenido dentro del modulo AMP?

Muchas gracias!!

Quizá esto te ayude: http://www.keensoft.es/alfresco-exportar-un-sitio-completo-de-alfresco-4-2-c-alfresco-5-0-c/

No entiendo bien cuáles son los problemas que os encontráis, pero al menos en el artículo está descrito como importar un ACP sin tener que empaquetarlo y desplegarlo en un AMP.

Hyland Developer Evangelist

cristinamr
World-Class Innovator
World-Class Innovator

Buenas, maperez.

¿Podrías explicarnos mejor cual es la situación? Igual te podemos proponer otras ideas o formas de hacerlo.

Esperamos tu respuesta a ver si podemos ayudarte 😃

Un saludo.

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

maperez
Confirmed Champ
Confirmed Champ

Hola Angel y Cristina , 

En primer lugar gracias por vuestra respuesta.

Comentaros que se trata de un módulo que está funcionando en una 3.4.14 y ahora se debe adaptar para un alfresco 4.2.6, añadiéndole nuevos scripts, reglas de contenido... que se han ido añadiendo a mano sin incluirlo en el amp original. Así la idea es crear una nueva versión del amp que incluya las nuevas funcionalidades.

Todo se ha conseguido a excepción de la creacion de una regla de contenido en "Espacios  personales de usuario" al instalar el amp. Esta regla es sencilla, la ejecución  de un script cada vez que se cree un nuevo espacio de usuario.

A las malas, sería tener en cuenta que después de instalar el amp hay que crear la regla a mano,  pero imagino que habrá alguna forma de hacerlo automáticamente, por que en este mismo amp se crea una estructura de directorios con reglas de  contenido perfectamente (también utilizando un acp en el bootstrap).  La diferencia es que esas reglas van asociadas a nuevos espacios y no a uno que ya existe, "Espacios personales de usuario" y que a lo mejor tiene un tratamiento especial.....

No se si habré conseguido explicar lo que necesitamos, ya me decís .  Muchas gracias!!

Saludos.

angelborroy
Community Manager Community Manager
Community Manager

Creo que es un problema derivado de los UUID, como en el nuevo espacio el UUID de la carpeta "Espacios personales de usuario" no es el mismo, la regla no es aplicada porque no encuentra un target. Alternativamente, podrías crear de nuevo esa regla mediante la API Java también en tiempo de bootstrap.

Hyland Developer Evangelist

Gracias Angel! Estudiaré hacerlo con la API Java, no tengo experiencia en el desarrollo de Alfresco y viendo documentación.... es un mundo Alfresco, muuuchisima información.

cristinamr
World-Class Innovator
World-Class Innovator

Uhmmmmm.... Como comenta Ángel, hay una opción a la hora de generar ese ACP donde se indice si respetas la UUID de los nodos. ¿Tienes acceso a ese 3.4.14? Porque igual puedes hace runa prueba sencilla para descartar opciones: Genera un ACP con una regla sin respetar los uuid y probar a importarlo en una 4.2.x al menos para descartar que provenga de ahí el problema.

Sino tienes acceso, puedes hacer la siguiente prueba: Échale un vistazo a esta documentación, en ella te explica las opciones que tienes a la hora de exportar (Import UUID Bindings), es que igual lo que debes es simplemente cambiar ese valor  <prop key="uuidBinding">UPDATE_EXISTING</prop> por otro más apropiado (CREATE_NEW??) Quizás es cuestión de jugar un poco con los valores posibles y ver cual puede encajarte.

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc