Curso Introduccin a Alfresco
Guillermo Rodrguez
I. Introduccin
I. Introduccin
ndiceQu es un gestor documental? Introduccin a Alfresco (qu es y un poco de historia...) Caractersticas de Alfresco Licencia
I. Introduccin
Qu es un gestor documental?Un Gestor Documental (Document Management System) es un programa que permite gestionar grandes cantidades de documentos electrnicos. Los sistemas de gestin documental normalmente proporcionan almacenaje, seguridad, flujos de trabajo, versionado, as como capacidades de recuperacin e indexacin. El concepto de Gestor Documental a diferencia de un Gestor de Contenidos (Content Management System) se centra en los documentos.
I. Introduccin
Introduccin a AlfrescoQu es Alfresco?Sistema de gestin documental libre basado en estndares abiertos.
Un poco de historia...Fundado en 2005 por John Newton, cofundador de Documentum y John Powell, ex COO de Business Objects. Sus principales inversores son Accel Partners, Mayfield Fund y SAP. El staff tcnico original estaba compuesto por ingenieros provenientes de Documentum y Oracle.
I. Introduccin
Caractersticas de Alfresco IDesde el punto de vista del usuario:Interfaz web Unidad compartida Control de versiones Bsquedas Integracin con portales existentes Integracin con Office Reglas de contenidos Etiquetado Flujos de trabajo
I. Introduccin
Caractersticas de Alfresco IIDesde el punto de vista del desarrollador/admin:Basado en estndares abiertos Programado en Java Scripts ligeros (JavaScript y Freemarker) Arquitectura REST Motor de indexacin Lucene Motor de flujos de trabajo jBPM Sin instalacin en el cliente Interfaces CIFS, WebDAV, FTP, IMAP Seguridad (usuarios, grupos, roles, integracin LDAP/AD) Motor de transformacin de datos (OpenOffice y SWFTools)
I. Introduccin
LicenciaVersiones
Existen dos versiones de Alfresco: Community Soportada por la comunidad Enterprise Suscripcin Certificado Asistencia tcnica Alfresco Network
II. Alfresco Web Content Management
II. Alfresco Web Content Management
Pantalla inicial
II. Alfresco Web Content Management
Pantalla inicio sesin
II. Alfresco Web Content Management
My Alfresco
II. Alfresco Web Content Management
Company Home
II. Alfresco Web Content Management
My Home
II. Alfresco Web Content Management
Guest Home
II. Alfresco Web Content Management
Configuracin pantalla inicial I
II. Alfresco Web Content Management
Configuracin pantalla inicial II
II. Alfresco Web Content Management
Configuracin pantalla inicial III
II. Alfresco Web Content Management
Consola de administracin
II. Alfresco Web Content Management
Administracin de usuarios
II. Alfresco Web Content Management
Creacin de usuarios I
II. Alfresco Web Content Management
Creacin de usuarios II
II. Alfresco Web Content Management
Creacin de usuarios III
II. Alfresco Web Content Management
Prueba login nuevo usuario
II. Alfresco Web Content Management
Creacin de espacios I
II. Alfresco Web Content Management
Creacin de espacios II
II. Alfresco Web Content Management
Creacin de contenidos I
II. Alfresco Web Content Management
Creacin de contenidos II
II. Alfresco Web Content Management
Creacin de contenidos III
II. Alfresco Web Content Management
Creacin de contenidos IV
II. Alfresco Web Content Management
Propiedades de los contenidos I
II. Alfresco Web Content Management
Propiedades de los contenidos II
II. Alfresco Web Content Management
Flujos de trabajo I
II. Alfresco Web Content Management
Flujos de trabajo II
II. Alfresco Web Content Management
Flujos de trabajo III
II. Alfresco Web Content Management
Flujos de trabajo IV
II. Alfresco Web Content Management
Flujos de trabajo VI
II. Alfresco Web Content Management
Flujos de trabajo VII
II. Alfresco Web Content Management
Invitar usuarios a un espacio I
II. Alfresco Web Content Management
Invitar usuarios a un espacio II
II. Alfresco Web Content Management
Administrar usuarios de un espacio
II. Alfresco Web Content Management
Crear reglas en un espacio I
II. Alfresco Web Content Management
Crear reglas en un espacio II
II. Alfresco Web Content Management
Crear reglas en un espacio III
II. Alfresco Web Content Management
Crear reglas en un espacio IV
II. Alfresco Web Content Management
Administrar reglas de un espacio
II. Alfresco Web Content Management
Bsqueda Avanzada
III. Alfresco Share
III. Alfresco Share
Introduccin
Pantalla inicial Consola de administracin Crear sitio nuevo Configuracin del sitio Funcionalidades (wiki, blog, bibiloteca de documentos, calendario, enlaces, foro)
III. Alfresco Share
Inicio de sesin
III. Alfresco Share
Pantalla inicial
III. Alfresco Share
Consola de administracin
III. Alfresco Share
Configurar pantalla inicial
III. Alfresco Share
Crear sitio nuevo I
III. Alfresco Share
Crear sitio nuevo II
III. Alfresco Share
Pantalla inicial de un sitio
III. Alfresco Share
Configuracin de un sitio
III. Alfresco Share
Invitar a un usuario a un sitio
III. Alfresco Share
Wiki
III. Alfresco Share
Blog
III. Alfresco Share
Biblioteca de documentos
III. Alfresco Share
Calendario
III. Alfresco Share
Enlaces
III. Alfresco Share
Foro
III. Alfresco Share
Listados de datos
III. Alfresco Share
Usuarios del sitio
IV. Instalacin y Configuracin
IV. Instalacin y Configuracin
Introduccin
Obtener Alfresco Antes de empezar Ejecutar el instalador Configuracin Instalar SWFTools Buscar programas (SWFTools, OpenOffice) Archivo alfresco-global.properties Notificaciones por correo electrnico Traducir interfaz Varios...
IV. Instalacin y Configuracin
Obtener Alfresco
Pgina de descarga: http://wiki.alfresco.com/wiki/Download_and_Insta ll_Alfresco En este curso de utilizar la versin Alfresco Community 3.3: http://www.alfresco.com/elqNow/elqRedir.htm? ref=http://dl.alfresco.com/release/community/buil d-2860/Alfresco-Community-3.3g-Linux-x86Install?dl_file=release/community/build2860/Alfresco-Community-3.3g-Linux-x86-Install
IV. Instalacin y Configuracin
Antes de empezar
Instalar: $ sudo aptitude install sun-java6-jdk imagemagick libjpeg-dev Arrancar OpenOffice en modo headless : $ /usr/lib/openoffice/program/soffice "accept=socket,host=localhost,port=8100;urp;S tarOffice.ServiceManager" -nologo -headless -nofirststartwizard
IV. Instalacin y Configuracin
Ejecutar el instalador
Dar permisos de ejecucin: $ chmod +x Alfresco-Community-3.3g-Linuxx86-Install Ejecutar: $ ./Alfresco-Community-3.3g-Linux-x86-Install
IV. Instalacin y Configuracin
Instalacin I
IV. Instalacin y Configuracin
Instalacin II
IV. Instalacin y Configuracin
Instalacin III
IV. Instalacin y Configuracin
Instalacin IV
IV. Instalacin y Configuracin
Instalacin V
IV. Instalacin y Configuracin
Instalacin VI
IV. Instalacin y Configuracin
Instalacin VII
IV. Instalacin y Configuracin
Instalacin VIII
IV. Instalacin y Configuracin
Instalacin IX
IV. Instalacin y Configuracin
Instalacin X
IV. Instalacin y Configuracin
Instalacin XI
IV. Instalacin y Configuracin
Instalacin XII
IV. Instalacin y Configuracin
Instalacin XIII
IV. Instalacin y Configuracin
Instalacin XIV
IV. Instalacin y Configuracin
Instalacin XV
IV. Instalacin y Configuracin
Instalar SWFTools
Obtener SWFTools: http://www.swftools.org/download.html (descargar versin 0.9 o superior) Instalar $ tar xzf swftools-0.9.1.tar.gz $ cd swftools-0.9.1/ $ ./configure $ make $ sudo make install
IV. Instalacin y Configuracin
Buscar programas
Buscar comandos de SWFTools: $ whereis pdf2swf pdf2swf: /usr/local/bin/pdf2swf (Hay que poner la ruta completa) $ whereis convert Convert: /usr/bin/convert/usr/share/man/man1/convert.1.gz (Hay que poner la carpeta root, donde se encuentra la carpeta bin) Buscar comando OpenOffice $ whereis soffice soffice: /usr/bin/soffice (Hay que poner la ruta completa y tener cuidad con la ruta a ooo.user, ya que hay un bug en el instalador para Debian)
IV. Instalacin y Configuracin
Archivo alfresco-global.properties IEl archivo alfresco-global.properties es el principal archivo de configuracin de Alfresco. Los elementos bsicos de configuracin son: Directorio con los datos (alf_data) Configuracin de la conexin a la B.D. Programas externos Correo electrnico
IV. Instalacin y Configuracin
Archivo alfresco-global.properties IIConfiguracin de los programas externos: $ vim tomcat/shared/classes/alfresco-global.properties# # External locations # ----------------------ooo.exe=/usr/bin/soffice ooo.user=/home/willy/trabajo/charlas/alfresco_eghost_2010/alfresco33c/alf_data /oouser jodconverter.officeHome=/home/willy/trabajo/charlas/alfresco_eghost_2010/alfre sco33c jodconverter.portNumbers=8101 #ooo.enabled=false #jodconverter.enabled=true img.root=/usr swf.exe=/usr/local/bin/pdf2swf
IV. Instalacin y Configuracin
Notificaciones por correo electrnicoConfiguracin de envo de notificaciones: $ vim tomcat/shared/classes/alfresco-global.properties # # Sample Gmail settings # -----------------------------------mail.host=smtp.gmail.com mail.port=465 mail.protocol=smtps [email protected] mail.password=miconstrasea # New Properties mail.smtps.starttls.enable=true mail.smtps.auth=true
IV. Instalacin y Configuracin
Traducir el interfaz
Descargar archivo de traducciones: http://forge.alfresco.com/projects/alfrescoeses/ Descomprimir: alfresco_3.2_ES-beta1/messages en tomcat/shared/classes/alfresco/messages alfresco_3.2_ES-beta1/web-extension en tomcat/shared/classes/alfresco/web-extension
IV. Instalacin y Configuracin
Varios
Archivo de log: $ vim alfresco.log Cambiar el modo de ejecucin para que se muestre en la consola en la que lo ejecutamos: $ vim tomcat/bin/startup.sh Al final del archivo cambiar: exec "$PRGDIR"/"$EXECUTABLE" start "$@" Por: exec "$PRGDIR"/"$EXECUTABLE" run "$@" PermGenSizeError $ vim tomcat/bin/startup.sh Aadir al principio la linea: JAVA_OPTS = "${JAVA_OPTS} -XX:PermSize=512m -XX:MaxPermSize=512m"
V. Desarrollo sobre Alfresco
V. Desarrollo sobre Alfresco
Introduccin
Instalacin Alfresco SDK Integracin con Eclipse Definicin de un modelo de datos Visualizacin del modelo de datos Acciones Flujos de trabajo
V. Desarrollo sobre Alfresco
Instalacin Alfresco SDKPrerequisitos: JDK 1.6.x Eclipse IDE 3.2+ MySql 1.5.0.67 Descargar: http://sourceforge.net/projects/alfresco/files/SDK/ Descomprimirlo (no requiere ms instalacin)
V. Desarrollo sobre Alfresco
Integracin con Eclipse IUtilizar Eclipse con Java 6 Men: Window -> Preferences En el rbol: Java -> Compiler Seleccionar 1.6 en la opcin Compiler compliance level y dar a OK Importar los proyectos de Alfresco en Eclipse Men: File -> Import Seleccionar: General -> Exisiting projects into workspace Seleccionar el directiorio donde est el SDK de Alfresco
V. Desarrollo sobre Alfresco
Integracin con Eclipse II
V. Desarrollo sobre Alfresco
Integracin con Eclipse III
V. Desarrollo sobre Alfresco
Definicin de un modelo de datos IEntorno de extensin de Alfresco WCM: tomcat/shared/classes/alfresco/extension Hay que crear un archivo mi-modelo-context.xml que Alfresco lee al iniciar (Spring) en omcat/shared/classes/alfresco/. En dicho archivo hay que indicar qu fichero contendr el modelo de datos.
V. Desarrollo sobre Alfresco
Definicin de un modelo de datos II$ vim tomcat/shared/classes/alfresco/extension/mi-modelocontext.xml alfresco/extension/customModel.xml
V. Desarrollo sobre Alfresco
Definicin de un modelo de datos IIIPara definir el modelo: Editar el archivo customModel.xml Indicar nombre del modelo Definir Imports Definir namespaces Definir tipos de contenido con sus propiedades
V. Desarrollo sobre Alfresco
Definicin de un modelo de datos IV Custom Model Guillermo 1.0 (...)
V. Desarrollo sobre Alfresco()
Definicin de un modelo de datos V Expediente cm:content d:text d:text true
V. Desarrollo sobre Alfresco
Visualizacin del modelo de datos ISe ha definido el modelo de datos, pero hay que indicar cmo se debe mostrar ese modelo. Para hacerlo, hay que editar el archivo web-clientconfig-custom.xml:$ vim tomcat/shared/classes/alfresco/extension/web-clientconfig-custom.xml
V. Desarrollo sobre Alfresco
Visualizacin del modelo de datos I (...)
V. Desarrollo sobre Alfresco()
Visualizacin del modelo de datos II {custom.model}codigo {custom.model}relacionados (...)
V. Desarrollo sobre Alfresco
Visualizacin del modelo de datos II(...)
V. Desarrollo sobre Alfresco
Acciones I
Para crear una accin se toma como referencia el proyecto SDK CustomAction. El proyecto contiene: archivo xml que define qu clase implementa la accin (logger-action-context.xml) la propia clase (LoggerActionExecuter.java) se puden aadir archivos de propiedades con las cadenas de texto (logger-actionmessages.properties)
V. Desarrollo sobre Alfresco
Acciones II
hello-world-action-context.xml:
org.alfresco.sample.hello-world-action-messages
V. Desarrollo sobre Alfresco
Acciones III
HelloWorldActionExecuter.java:
public class HelloWorldActionExecuter extends ActionExecuterAbstractBase { /** The name of the action */ public static final String NAME = "hello-world-action"; @Override protected void executeImpl(Action action, NodeRef actionedUponNodeRef) { System.out.println("Hello World!!!"); } @Override protected void addParameterDefinitions(List paramList) { }
}
V. Desarrollo sobre Alfresco
Acciones IV
hello-world-action-messages.properties:# Action title and description hello-world-action.title=Hello World Action hello-world-action.description=This action says hello to the world.
Despligue de la accin: El archivo hello-world-action-context.xml se debe pegar en la carpeta tomcat/shared/classes/alfresco/extension El jar que contiene tanto la clase de Java compilada como el archivo de propiedades hay que copiarlo en tomcat/webapps/alfresco/WEB-INF/lib
V. Desarrollo sobre Alfresco
Flujos de trabajo I
Alfresco utiliza el motor jBMP. Existe un plugin para Eclipse. Descargar jbpm-jpdl-3.2.3 de: http://sourceforge.net/projects/jbpm/files/ Descomprimir el contenido de la carpeta designer/eclipse en la raz de Eclipse y arrancar Ecplise. Se podrn crear proyectos de tipo JbossJBPM.
V. Desarrollo sobre Alfresco
Flujos de trabajo II
Crear el proyecto: Nuevo -> Proyecto -> JBoss JBPM -> Process Project Hay que darle un nombre y asignarle un motor jBPM (seleccionando la carpeta donde se ha descomprimido el archivo jbpm-jpdl). Para poder desplegarlo directamente hay que editar el archivo processdefinition.xml. En la pestaa deployment hay que introducir los datos de conexin del servidor poniendo /alfresco/jbpm/deployprocess en la opcin Server Deployer.
V. Desarrollo sobre Alfresco
Flujos de trabajo III
Pestaas del archivo processdefinition.xml: Diagram: representacin grfica del flujo de trabajo, se pueden crear acciones y transiciones visualmente (bastante til aunque tiene algunos fallos) Deployment: se puede utilizar para desplegar directamente el workflow en el servidor Design: vista del archivo xml en rbol Source: archivo xml
V. Desarrollo sobre Alfresco
Definicin de un flujo de trabajo IElementos destacados de un flujo de trabajo: Estados: existir un estado inicial (start-state) y otro final (end-state), as como los estados intermedios. Los estados se componen de tareas (task) y transiciones (transition). Actores (swimlane): los flujos de trabajo pueden ser asignados, tanto a usuarios como a grupos. Eventos: pueden realizarse acciones cuando se den ciertos eventos.
V. Desarrollo sobre Alfresco
Definicin de un flujo de trabajo II Going to the first state!
(...)
V. Desarrollo sobre Alfresco
Definicin de un flujo de trabajo III() #{bpm_assignee} (...)
V. Desarrollo sobre Alfresco(...)
Definicin de un flujo de trabajo IV if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate; if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority; Going to the second state!
(...)
V. Desarrollo sobre Alfresco(...)
Definicin de un flujo de trabajo VI Going to the last state! The End!!!
V. Desarrollo sobre Alfresco
Modelo de datos I
Adems de crear el flujo de trabajo en formato BPM, es necesario mapear los estados que estemos usando en dicho workflow con un modelo de datos de Alfresco. Hay que editar el archivo mi-modelo-context.xml incliur el nuevo modelo:$ vim tomcat/shared/classes/alfresco/extension/mi-modelocontext.xml
Aadimos: alfresco/extension/workflowModel.xml
V. Desarrollo sobre Alfresco
Modelo de datos II
alfresco/extension/customModel.xml alfresco/extension/workflowModel.xml
V. Desarrollo sobre Alfresco
Modelo de datos III
$ vim tomcat/shared/classes/alfresco/extension/workflowModel.xml Workflow Model Guillermo 1.0
(...)
V. Desarrollo sobre Alfresco
Modelo de datos IV(...)
bpm:startTask bpm:assignee
(...)
V. Desarrollo sobre Alfresco
Modelo de datos V(...)
bpm:workflowTask add_package_item_actions edit_package_item_actions
(...)
V. Desarrollo sobre Alfresco
Modelo de datos VI
(...) bpm:workflowTask
Adems, hay que reflejarlo en el archivo web-client-configcustom.xml$ vim tomcat/shared/classes/alfresco/extension/web-clientconfig-custom.xml
V. Desarrollo sobre Alfresco
Viusalizacin del modelo de datos I
(...)
V. Desarrollo sobre Alfresco(...)
Viusalizacin del modelo de datos II
Anexo
EnlacesAlfresco http://www.alfresco.com Gestor Documental en Wikipedia: http://es.wikipedia.org/wiki/Software_de_gestin_documental