Mi amigo Toni de la Fuente ha modificado un componente en WebScript (repository) para visualizar todas las consolas de que disponemos en la versión Enterprise de Alfresco: http://blyx.com/2011/03/07/anade-mas-utilidades-de-administracion-en-alfresco-share/ y ha creado un proyecto en google code a partir de este en: http://code.google.com/p/alfresco-useful-admin-links/
Para instalar este WebScript solo hay que copiarlo en la ruta indicada directamente (ver información en su proyecto) o bien, también se puede crear un módulo AMP para que pueda ser instalado dentro del fichero share.war
Bien, eso es lo que vamos a hacer, crearemos un fichero AMP con los ficheros de WebScript para que pueda dejarlo para descarga en su proyecto.
La creación de módulos para «share» de Alfresco es la misma que cuando se crean módulos para el «explorer». Evidentemente cambian las localizaciones, dónde vamos a dejar los ficheros y que en este caso la mayoría de las veces serán archivos relacionados con WebScripts más que clases Java.
Si tenemos el SDK de Alfresco se puede realizar una copia de su «SDK Basic AMP» y a partir de ahí continuar, si no es así se puede crear un proyecto Java en Eclipse y dotarlo de la siguiente estructura:
En build/dist se creará el fichero de módulo, este se generará a partir de un fichero .jar generado, a su vez, a partir de lo que se tenga en el directorio source; así como también de los ficheros que hay en el directorio config.
Dentro del directorio config podemos crear la estructura misma que usa Alfresco (share) para almacenar los componentes y en concreto los de la consola para el administrador; y que está en alfresco/site-webscripts/org/alfresco/components/console
Lo más importante aquí es tener un buen fichero de ant para que pueda ser «compilado» todo correctamente.
Mi fichero ant para esto (build.xml) es el siguiente:
Una vez que todos los componentes están en su sitio solo hay que ejecutar el archivo build.xml (botón derecho encima del fichero build.xml en Eclipse y elegir «Run as…->Ant Build») y comprobar el resultado.
¿Ventajas de tener un módulo?, creo que están claras, mejora la administración y mantenimiento del producto, mayor facilidad para instalación, etc. Por supuesto es lo aconsejado por Alfresco.
¿Desventajas?, pue sí, como con todo, también las hay, la más importante es que copiando los ficheros directamente en el despliegue de la aplicación solo hay que «refrescar» el «inventario» de WebScripts para tenerlos disponibles y en caliente, mientras que de la otra forma aunque no paremos el servidor o la aplicación share, al modificar el .war se autodesplegará produciendo al menos que tengámos que volver a autenticarnos, siempre y cuando no tengamos activado el Single Sign On (SSO)… 😉
Gracias Fernando!
Hola Fernando:
Muy interesante la entrada.
Podrías mostrar el contenido de module.properties?
Es el del proyecto de ejemplo?
Gracias y un saludo,
Antonio
Si, Antonio, es el del proyecto de ejemplo, el contenido es el siguiente:
—- inicio
# Alfresco Useful Admin Links
module.id=alfresco-useful-admin-links
module.title=Alfresco Useful Admin Links
module.description=Add some extra internal useful links into your Alfresco admin panel
module.version=1.0
—- fin
Un saludo y gracias por visitar mi blog.
A mi me ha servido!