Si estáis pensando en empezar una aplicación J2EE sobre Alfresco, os dejamos unos cuantos consejos e ideas que hemos adoptado en un recién finalizado proyecto.
-
OpenCMIS y para todo lo demás Webscripts
Tomamos la determinación de que intentaríamos adaptarnos a lo que CMIS nos diera (OpenCMIS para Java , en nuestro caso v0.4) , y que para aquellas partes que no se pudieran cubrir con la implementación del estándar, desarrollaríamos servicios personalizados mediante webscripts.
Con el proyecto finalizado, la implementación CMIS de Alfresco junto con OpenCMIS nos ha provisto de todo lo necesario para nuestro desarrollo con las siguientes pequeñas excepciones en forma de webscript:
-
Notificaciones Email; Webscript para la generación de notificaciones vía email dada cierta casuística, debido a que el sistemas de reglas y acciones para el envío de notificaciones proporcionada por Alfresco desde su interfaz no se ajustaba a nuestras necesidades.
-
Categorías; Obtención de las subcategorías que pertenezcan a las categorías establecidas en el modelo de desarrollo.
-
Asociaciones; Con la versión 0.4 de OpenCMIS no pudimos hacer gran cosa a la hora de trabajar con asociaciones. Aunque el establecimiento de estas sí fue posible, no pudimos realizar búsquedas sobre estos campos, por lo que acabamos adoptando la medida de crear un webscript para relacionar objetos tipo folder ↔ folder y folder ↔ person.
-
Herramientas para el desarrollo de webscripts
-
Consola Javascript
Las ventajas de usar la consola ya lo hemos comentado en previas entradas.
Si como nosotros, tenéis la necesidad de crear webscripts, la consola Javascript de Alfresco Share os permitirá probar la parte servidora de Javascript.
- Eclipse Freemarker plugin
-
Crear plantillas Freemarker puede resultar cansino si no se tiene una forma de validar la sintaxis básica. Es por ello que el freemarker.jar del plugin JBoss Tools Project os será de gran utilidad. Contiene syntax-highlight, así como autocompletado de su API.
En nuestro caso lo instalamos desde el Marketplace de Eclipse sin problemas.

-
Uso de paquetería OpenCMIS
Antes de empezar el proyecto es conveniente conocer la paquetería que tenemos a nuestra disposición, para así evitar trabajo de más. En nuestro caso, encontramos de utilidad los siguientes objetos:
-
CMIS Workbench
Un amigo necesario para entender cómo se almacena la información bajo CMIS y realizar búsquedas mediante CMIS-SQL.

Si vosotros también tenéis vuestros 'básicos', compartirlos con nosotros ;)