Personalizar Alfresco

17/01/2014

Alfresco es un CMS muy potente desarrollado en Java y compatible con múltiples sistemas operativos. Con la interfaz web de Alfresco disponemos de gran tipo de funcionalidades: calendario compartido, listas de datos, librerías, etc.. que son muy fáciles de personalizar en un Sitio.

Sitio configurado de Alfresco

Sitio configurado de Alfresco

Aunque Alfresco dispone de gran cantidad de funcionalidades preinstaladas (out of the box) , en un entorno de producción nos encontramos que necesitamos personalizar Alfresco con nuevas funcionalidades. Alfresco dispone de muchas formas y herramientas de personalizar y extender la funcionalidad del propio Alfresco. Veamos todas las posibilidades de personalización.

1. Extender los modelos de datos de Alfresco

La forma más sencilla de extender la funcionalidad de Alfresco es cambiando y adaptando los propios ficheros de configuración de Alfresco. En concreto podemos añadir y cambiar distintos ficheros en las carpetas:

\tomcat\shared\classes\alfresco\extension
\tomcat\shared\classes\alfresco\web-extension

y podemos cambiar el fichero de configuración shared-config-custom.xml para añadir nuevos modelos de datos en Alfresco, tal como listas de datos o aspectos.

En esta url tenemos un post que explica detalladamente cómo añadir una nueva lista de datos personalizada:

https://miblogtecnico.wordpress.com/2014/01/10/configurar-una-nueva-lista-de-datos-en-alfresco/

2. Añadir un nuevo paquete de módulos a Alfresco

Una forma muy sencilla de extender Alfresco es instalando un paquete de módulo AMP (Alfresco Module Package). Un paquete AMP es una funcionalidad desarrollada por terceros que es posible instalar/desinstalar en Alfresco utilizando una herramienta denominada MMT (Module Management Tool).

En esta url se explica cómo podemos instalar un nuevo paquete de AMP con la herramienta MMT

http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Ftasks%2Famp-install.html

Además existe esta url con un catálogo público donde podemos descargar distintos paquetes de AMP desarrollados por terceros para ampliar nuestro Alfresco.

http://addons.alfresco.com/browse

3. Desarrollar nuestro propio WebServices con el SDK

Otra forma de extender Alfresco es desarollando nuestro propio código o funcionalidad e integrándolo con Alfresco ya sea mediante un paquete AMP o con los WebServices u otro servicio que proporcione Alfresco.

Alfresco proporciona un SDK preparado para poder conectarnos a él usando webservices.  Dicho SDK podemos descargarlo desde esta url:

http://wiki.alfresco.com/wiki/Community_file_list_4.0.d

Una vez descargado, podemos integrarlo con Eclipse para el desarrollo de aplicaciones Java. En esta url se explica detalladamente cómo descargar el sdk e importar los ejemplos en Eclipse.

http://wiki.alfresco.com/wiki/Alfresco_SDK_4.0

Para importar y hacer funciona un ejemplo del SDK, abrimos Eclipse y seleccionamos el menú Fichero y la opción Importar. Aparecerá el asistente de importación de proyectos donde seleccionaremos General y Proyectos Existentes en nuestro espacio de trabajo.

Importar proyectos en Eclipse

Importar proyectos en Eclipse

El asistente nos pedirá la carpeta raíz donde está instalado el SDK y veremos que aparecen los proyectos en el apartado de Proyectos. Si finalizamos el asistente veremos que Eclipse importa dichos proyectos en nuestro entorno de trabajo.

Proyectos importados del SDK en Eclipse

Proyectos importados del SDK en Eclipse

En dichos proyectos existe un proyecto muy sencillo denominado SDK FirstWebServiceClient que contiene todo lo necesario para conectar con Alfresco vía WebServices. Si abrimos el fichero FirstWebServiceClient.java podemos personalizarlo para conectar con nuestro Alfresco. En concreto hay que declarar un nuevo objeto de factoría de webservices (WebServiceFactory) con la url del WebServices de Alfresco e indicar un usuario y contraseña con derechos de conexión con el objecto (AuthenticationUtils) con estas dos simples líneas de código:

WebServiceFactory.setEndpointAddress(“http://127.0.0.1:8080/alfresco/soapapi/”);
AuthenticationUtils.startSession(“admin”, “admin”);

Objectos de conexión con los webservices de Alfresco

Objectos de conexión con los webservices de Alfresco

Si seguimos examinando el código de ejemplo, veremos que más adelante este código crea un fichero denominado “Web Services sample” concatenado con la fecha del sistema y lo almacena en el repositorio de Alfresco.

Creación del nuevo fichero en el repositorio de Alfresco

Creación del nuevo fichero en el repositorio de Alfresco

Si ejecutamos el webservice veremos que la ejecución es correcta. Nos indica el tamaño del nuevo fichero.

Longitud del nuevo fichero

Longitud del nuevo fichero

Para comprobar que dicho fichero es creado en el repositorio de Alfresco, conectamos al share y accedemos al repositorio. Allí veremos el nuevo fichero creado usando los webservices del sdk de Alfresco.

Fichero creado usando el webservices del sdk de Alfresco

Fichero creado usando el webservices del sdk de Alfresco

 

De esta forma vemos qué fácil es extender y personalizar Alfresco y cómo podemos integrarlo con aplicaciones de terceros usando WebServices.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: