lunes, 4 de abril de 2011

Carga de modelos en Alfresco

Una de los inconvenientes que siempre he encontrado a como Alfresco trata los modelos documentales ad hoc es la forma de crearlos y cargarlos.

Tener que crear un fichero XML con el modelo, sin ningún tipo de ayuda visual o guía interactiva, hace que la creación de modelos sea una tarea más próxima al desarrollo que a la configuración y por lo tanto más difícil de asumir por perfiles de negocio.

El despliegue del modelo se puede hacer de dos formas, desde el classpath, cosa que obliga a reiniciar la aplicación para obtener los cambios o desde el repositorio, desplegando en fichero del modelo en el espacio Data Dictionary > Models . Este segundo método es dinámico ya que permite incorporar modelos al repositorio sin necesidad de reiniciar la aplicación.

El inconveniente que simpre le vi a este segundo método es que, a pesar de que el modelo sí se puede cargar dinámicamente, su representación en el cliente web (definida en el fichero web-client-config-custom.xml del extension) sí que obligaba a reiniciar la aplicación.

Gracias a este post del gran Toni de la Fuente he visto que ya no es necesario hacerlo así. Existe una forma completamente dinámica de incorporar modelos al repositorio y de verlos en el cliente web sin necesidad de reiniciar la aplicación. Los pasos a seguir son los siguientes:

  1. Crear el modelo en un fichero con extensión .xml. Por ejemplo my-model.xml.
  2. Copiar el fichero my-model.xml en el espacio Company Home > Data Dictionay > Models . Si el modelo es válido, a los metadatos del fichero se le añadirá uno llamado Model Active.
  3. Activar el modelo marcando el checkbox del metadato Model Active. A partir de este momento los elementos definidos en el modelo ya se pueden utilizar en el repositorio.
  4. Modificar el fichero web-client-config-custom.xml de la carpeta extension e incluir la representación del modelo creado en el paso 1.
  5. Acceder a la consola del webclient en la siguiente URL: http://serverhost/alfresco/faces/jsp/admin/webclientconfig-console.jsp . Para acceder a esta consola es necesario tener el usuario administrador de Alfresco.
  6. Escribir el comando reload en la caja de comandos y pulsar el botón Submit. El resultado debe ser algo parecido a la siguiente pantalla:

Una vez realizados todos los pasos el modelo estará listo para ser usado desde el cliente web de Alfresco y sin necesidad de reiniciar la aplicación. Esto es una gran ventaja ya que permite ampliar la funcionalidad del gestor documental de una forma más cómodo y con un menos impacto sobre el uso de la aplicación.

Ahora sólo falta conseguir el editor visual de metadatos.

1 comentario:

Toni de la Fuente - blyx.com dijo...

Muy bueno Alex, lo podrías añadir al concurso del foro en español. Saludos y gracias!