Archive for the tag 'alfresco'

OpenDJ (LDAP Server) and how to configure with Alfresco for your best demos

marzo 7th, 2013

OpenDJ is a fork of the former Sun OpenDS. Is a free and Open Source LDAPv3 server. It is not under our Alfresco Supported Platforms umbrella but it works fine for demo porpuses and is very easy to install, configure and maintain. Since OpenDJ is a Java application you can run it in Linux, Mac or “even” Windows ;)

Lets see how how to start with OpenDJ from scratch.

  • Installation and configuration of OpenDJ:

Download the application downloader and launcher here: http://download.forgerock.org/downloads/opendj/20130305020001/install/QuickSetup.jnlp (you may also download the entire package from here http://www.forgerock.org/opendj.html  but I think with QuickSetup is the easier way)

Download this initial LDIF file with demo users and groups for the first population of our new brand LDAP server.

You must have installed Java in your system in order to execute file QuickSetup.jnlp. Then double click to open it. And follow as in the video:

Now lets configure our Alfresco Server (I did all this steps with Alfresco Enterprise 4.1.3 but should be valid for any 4.X version).

  •  Alfresco configuration:
# vi tomcat/shared/classes/alfresco-global.properties

Add next line with our new authentication system before the default chain.

authentication.chain=ldap1:ldap,alfrescoNtlm1:alfrescoNtlm

Create the needed directory for our new settings:

# mkdir -p tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1

Create your own config file, set as your needs:

vi tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1/ldap-authentication.properties

File:

ldap.authentication.active=true
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=uid=%s,ou=people,dc=alfresco,dc=com
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://localhost:1389
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.authentication.defaultAdministratorUserNames=
ldap.synchronization.active=false
ldap.synchronization.java.naming.security.authentication=simple
ldap.synchronization.java.naming.security.principal=cn\=Directory Manager
ldap.synchronization.java.naming.security.credentials=secret
ldap.synchronization.queryBatchSize=0
ldap.synchronization.attributeBatchSize=0
ldap.synchronization.groupQuery=(objectclass\=groupOfNames)
ldap.synchronization.groupDifferentialQuery=(&(objectclass\=groupOfNames)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(objectclass\=inetOrgPerson)
ldap.synchronization.personDifferentialQuery=(&(objectclass\=inetOrgPerson)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupSearchBase=ou\=groups,dc\=alfresco,dc\=com
ldap.synchronization.userSearchBase=ou\=people,dc\=alfresco,dc\=com
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'Z'
ldap.synchronization.userIdAttributeName=uid
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=o
ldap.synchronization.defaultHomeFolderProvider=largeHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupDisplayNameAttributeName=description
ldap.synchronization.groupType=groupOfNames
ldap.synchronization.personType=inetOrgPerson
ldap.synchronization.groupMemberAttributeName=member
ldap.synchronization.enableProgressEstimation=true
ldap.authentication.java.naming.read.timeout=0

To have a full control about what is happening during the LDAP authentication add next lines to your custome log configuration file like next one. If you don’t have a custom log file already you can create it:

cp tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties tomcat/shared/classes/alfresco/extension/custom-log4j.properties

Add next options to the file:

vi tomcat/shared/classes/alfresco/extension/custom-log4j.properties

Content:

# LDAP
log4j.logger.org.alfresco.repo.importer.ImporterJob=debug
log4j.logger.org.alfresco.repo.importer.ExportSourceImporter=debug
log4j.logger.org.alfresco.repo.security.authentication.ldap=debug

Now reboot and try. Also you can do that easily and without reboot using JMX with console

Remember to keep watching your logs:

tail -f tomcat/logs/catalina.out

When Alfresco is starting after our changes, you must see something like this:

2013-03-07 09:46:26,175  INFO  [management.subsystems.ChildApplicationContextFactory] [main] Starting 'Authentication' subsystem, ID: [Authentication, managed, ldap1]
2013-03-07 09:46:26,212  WARN  [authentication.ldap.LDAPInitialDirContextFactoryImpl] [main] LDAP server supports anonymous bind ldap://localhost:1389
2013-03-07 09:46:26,234  INFO  [authentication.ldap.LDAPInitialDirContextFactoryImpl] [main] LDAP server does not support simple string user ids and invalid credentials at ldap://localhost:1389
2013-03-07 09:46:26,235  INFO  [authentication.ldap.LDAPInitialDirContextFactoryImpl] [main] LDAP server does not fall back to anonymous bind for a simple dn and password at ldap://localhost:1389
2013-03-07 09:46:26,237  INFO  [authentication.ldap.LDAPInitialDirContextFactoryImpl] [main] LDAP server does not fall back to anonymous bind for known principal and invalid credentials at ldap://localhost:1389
2013-03-07 09:46:26,247  INFO  [management.subsystems.ChildApplicationContextFactory] [main] Startup of 'Authentication' subsystem, ID: [Authentication, managed, ldap1] complete

And after your first login:

2013-03-07 09:47:34,404  DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-8080-5] Authenticating user "toni"
2013-03-07 09:47:34,421  DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-8080-5] Setting the current user to "toni"
2013-03-07 09:47:34,422  DEBUG [authentication.ldap.LDAPAuthenticationComponentImpl] [http-8080-5] User "toni" authenticated successfully

Remember to change your LDAP log debug level before going live, something like INFO could be enough.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Integration demo between LibreOffice 4 and Alfresco 4 with CMIS

febrero 18th, 2013

As first post for 2013 I want to share with you all this new screencast about the straightforward configuration and how it works the new version of LibreOffice with Alfresco. Note that my demo was done with Alfresco Enterprise 4.1 but this CMIS integration also should works with Alfresco Community 4.2. As you can see check-in/out and versioning with comments are already supported out-of-the-box from LibreOffice.

Also I would like to highlight the connection binding URL “http://localhost:8080/alfresco/cmisws/RepositoryService?wsdl” that is automatically filled by LibreOffice at configuration time, this URL is the new CMIS Web Services binding address for Alfresco 4.

Appendix:

Alfresco 4 CMIS binding address (based on OpenCMIS):
CMIS Web Services Binding: WSDL Documents = http://localhost:8080/alfresco/cmisws
CMIS AtomPub Binding: AtomPub Service Document = http://localhost:8080/alfresco/cmisatom

Alfresco 3 CMIS binding address (based on Apache CXF, obsolete/deprecated)
CMIS Web Services Binding: WSDL Documents = http://localhost:8080/alfresco/cmis
CMIS AtomPub Binding: AtomPub Service Document = http://localhost:8080/alfresco/service/cmis

More info about Alfresco and CMIS here.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Demo: Alfresco para prevenir fugas de información mediante metadatos

diciembre 3rd, 2012

Al hilo de mi artículo anterior sobre crónica y materiales de la Alfresco DevCon 2012. He pensado que igual es buena idea volver a grabar la demo que hice pero esta vez en español, así poder llegar a más gente. Pues bien, aquí está la demo donde muestro la problemática existente cuando no se tiene control de los metadatos en los contenidos he se hacen públicos y como resolver el problema con Alfresco y el modulo de limpieza de metadatos.

También está disponible en inglés junto al resto de conferencias en el canal de Alfresco en Youtube, lista de videos de San José.

Aprovecho para recordar que creé un proyecto en Google Code para recoger todas las soluciones existentes en torno a Alfresco y Seguridad, puedes verlo aquí http://code.google.com/p/alfresco-security-toolkit/ y si quieres colaborar no dudes en contactar conmigo.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Crónica y materiales de la Alfresco DevCon 2012

noviembre 27th, 2012

Si estáis relacionados de alguna forma con Alfresco sabréis que hace unas semanas celebramos la conferencia anual de desarrolladores en Berlín y en San José (EEUU). Este año he tenido la suerte de poder participar en ambas sesiones como voluntario y como ponente. En Berlín hice la charla sobre “Alfresco Security Best Practices” con demo incluida y en San José repetí la de seguridad y también una breve charla de 5 minutos sobre “Monitoring Alfresco with Nagios/Icinga”. Esta última era una charla novedosa para mi ya que se trataba de hablar de un tema durante 5 minutos con 15 segundos por slide con un máximo de 24 slides, una experiencia interesante sin duda, además permitía a mucha gente participar y dar a conocer algo relacionado con Alfresco de forma breve y concisa. Hubo dos sessiones de estas “mini-charlas” llamadas lightning talks en cada DevCon y merecieron mucho la pena.

Durante las conferencias, principalmente técnicas, se mostraron tanto novedades del producto como desarrollos, módulos, personalizaciones y usos novedosos de Alfresco. Fue un éxito de asistencia, contamos con casi 800 asistentes entre ambos eventos.

En la conferencia de cierre tanto en Berlín como en San José, Jeff Potts, nuestro Chief Community Officer, anunció que el año que viene no habrá DevCon tal como la veníamos celebrando en los últimos años, sino que será una conferencia más abierta tanto a usuarios finales como de negocio además de técnicos, de esta forma conseguiremos un evento más plural y que llegará a más gente de diferentes perfiles.

Al haber en algunas ocasiones 3 conferencias a la vez, ere difícil elegir, ya que la calidad de las mismas era bastante elevada. Me gustaría destacar las conferencias en las que estuve y que me gustaron,

Teniendo en cuenta que mi perfil es más de sistemas, no fui a las que eran puramente de desarrollo y personalización pero oí muy buenas críticas de las siguientes:

No dejes pasar la oportunidad, puedes descargar los materiales, presentaciones e incluso código de ejemplo en la web, sección sesiones, entrando a cada una de ellas.

Espero veros el próximo año en el congreso de Alfresco 2013!

Aquí os dejo las presentaciones de mis dos charlas:

Por cierto, en la hackathon que hicimos en la DevCon de San José (dia previo para hacer desarrollos) actualicé la nueva versión del plugin de Nagios para Alfresco, puedes descargarlo aquí.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Video del webinar “Alfresco One, sincronización y mucho más”

octubre 29th, 2012

En este video mostramos en que consiste esta nueva oferta llamada Alfresco One, las nuevas características de Alfresco y capacidades de sincronización. La demo comienza a partir del minuto 21 (Sincronización con la nube, Alfresco Mobile y Alfresco Desktop Sync). En definitiva, las nuevas tecnologías están cambiando la forma en que las organizaciones trabajan con los contenidos, cómo los comparten, como se realizan los procesos de negocio y como se organizan. Desde la nube a instalaciones de Alfresco en local y la necesidad de acceso a los contenidos desde dispositivos móviles. Aprende como Alfresco resuelve estos problemas para usuarios, departamentos de IT y organizaciones en general.

Alfresco One, sincronización y mucho más from Alfresco Spain Portugal on Vimeo.

EnglishFrenchGermanItalianPortugueseRussianSpanish
MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Instalación de Alfresco con MySQL en Linux desde la linea de comandos

octubre 29th, 2012

En este artículo os voy a mostrar el procedimiento para instalar Alfresco Enterprise 4.1.1 o Community en un servidor Linux 64bits usando el instalador (bundle) desde la linea de comandos (si no tenemos interfaz gráfica instalada en nuestro servidor), y como hacerlo con MySQL 5.1 en lugar de Postgresql (que viene por defecto en el instalador). Usaré Alfresco Enterprise 4.1.1 pero todos los comandos son igualmente válidos para Community;

Descargar el instalador de Alfresco (Enterprise o Community):

Enterprise de este enlace: http://www.alfresco.com/products/enterprise/trial

Community de este otro: alfresco-community-4.2.b-installer-linux-x64.bin

También descargamos el driver de conexión JDBC con MySQL de este enlace: http://dev.mysql.com/downloads/connector/j/

Creamos un usuario con el que correrá el servidor de aplicaciones (Tomcat), por ejemplo, un usuario llamado “alfresco”:

# useradd alfresco

Asignamos una contraseña al usuario alfresco:

# passwd alfresco
Changing password for user alfresco.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Antes de seguir, comprueba que tienes correctamente configurado el fichero de hosts del servidor (/etc/hosts), algo así:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.22 servidor.dominio.com servidor

Creamos el directorio donde vas a instalar Alfresco y damos permisos al usuario que acabamos de crear (ponle el nombre y versión si quieres), por ejemplo yo usaré:

# mkdir /opt/alfresco-enterprise-4.1.1
# chown alfresco.alfresco /opt/alfresco-enterprise-4.1.1

Accedemos con ese usuario o vamos desde root:

# su - alfresco

Tras tener el paquete y el conector con mysql descargados, vamos a empezar la instalación:

Si el paquete no estuviese ejecutable puedes hacerlo con el siguiente comando:

$ chmod +x alfresco-*-installer-linux-x64.bin

Ejecutamos el instalador y seguimos los pasos como se indica a continuación, fíjate bien en las opciones que elijo, cambia el nombre de base de datos, usuario y contraseña en tu caso, también ojo a los cambios al usar MySQL:

$ ./alfresco-enterprise-4.1.1-installer-linux-x64.bin
Language Selection

Please select the installation language
[1] English - English
[2] French - Français
[3] Spanish - Español
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - 日本語
[7] Dutch - Nederlands
[8] Russian - Русский
[9] Simplified Chinese - 简体中文
Please choose an option [1] : 3
----------------------------------------------------------------------------
Bienvenido a la instalación de Alfresco Enterprise.

----------------------------------------------------------------------------
Tipo de instalación

[1] Fácil: instala los servidores con la configuración por defecto
[2] Avanzada: Configura las propiedades de servicio y los puertos de servidor.: También puede elegir componentes opcionales para instalar.
Por favor seleccione una opción [1] : 2

----------------------------------------------------------------------------
Seleccione los componentes que desea instalar; desmarque aquellos que no desea.

Java [Y/n] :Y

PostgreSQL [Y/n] :n

Alfresco : Y (Cannot be edited)

SharePoint [Y/n] :Y

Web Quick Start [y/N] : N

OpenOffice [Y/n] :Y

¿Es correcta la selección que se muestra aqui arriba? [Y/n]: Y

----------------------------------------------------------------------------
Carpeta de instalación

Por favor, elija una carpeta para instalar Alfresco Enterprise

Seleccionar una carpeta [/home/alfresco/alfresco-4.1.1]: /opt/alfresco-enterprise-4.1.1

----------------------------------------------------------------------------
Configuración de la base de datos

URL de JDBC: [jdbc:postgresql://localhost/alfresco]: jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8

Controlador JDBC: [org.postgresql.Driver]: org.gjt.mm.mysql.Driver

Nombre de la base de datos: [alfresco]: alfresco

Nombre de usuario: []: alfresco

Contraseña: :
Verificar: :
----------------------------------------------------------------------------
Configuración de puerto Tomcat

Por favor, introduzca los parámetros de configuración de Tomcat que desea
utilizar.

Dominio de Servidor Web: [127.0.0.1]:

Puerto del servidor Tomcat: [8080]:

Puerto de cierre de Tomcat: [8005]:

Puerto SSL de Tomcat [8443]:

Puerto AJP de Tomcat: [8009]:

----------------------------------------------------------------------------
Puerto FTP de Alfresco

Por favor, elija un número de puerto para usar para el servidor FTP integrado de
Alfresco.

Puerto: [2121]:

----------------------------------------------------------------------------
Puerto RMI de Alfresco

Por favor, elija un número de puerto que utilizará Alfresco para ejecutar
comandos remotos.

Puerto: [50500]:

----------------------------------------------------------------------------
Contraseña de admin

Por favor, especifique una contraseña a utilizar para la cuenta de administrador
de Alfresco.

Contraseña de admin: :
Repita la contraseña: :
----------------------------------------------------------------------------
Puerto de SharePoint en Alfresco

Por favor, elija un número de puerto para el protocolo SharePoint.

Puerto: [7070]:

----------------------------------------------------------------------------
Puerto de servidor OpenOffice

Por favor, introduzca el puerto en el que el Servidor de OpenOffice va a
escuchar por defecto.

Puerto de servidor OpenOffice [8100]:

----------------------------------------------------------------------------
El programa está listo para iniciar la instalación de Alfresco Enterprise en su
ordenador.

¿Desea continuar? [Y/n]: Y

----------------------------------------------------------------------------
Por favor espere mientras se instala Alfresco Enterprise en su ordenador.

Instalando
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
El programa terminó la instalación de Alfresco Enterprise en su ordenador.

Ver el archivo Léeme [Y/n]: n

Lanzar Alfresco Enterprise Share [Y/n]: n

Como ves en el asistente, no arrancamos ya que nos quedan algunas tareas por acometer todavía.

Fijate sobre todo en las líneas:
PostgreSQL [Y/n] :n
URL de JDBC: [jdbc:postgresql://localhost/alfresco]: jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8
Controlador JDBC: [org.postgresql.Driver]: org.gjt.mm.mysql.Driver
Nombre de la base de datos: [alfresco]: alfresco
Nombre de usuario: []: alfresco

Cambia mysql://localhost/alfresco por la IP o nombre del servidor MySQL y alfresco por el nombre de la base de datos.

Copia el jar con el conector JDBC de MySQL al siguiente directorio:

$ cp mysql-connector-java-5.1.18-bin.jar /opt/alfresco-enterprise-4.1.1/tomcat/lib/

Antes de arrancar el servidor de aplicaciones, en el servidor MySQL, que ya debería estar instalado y levantado, ya sea en local o en un servidor separado hay que crear la base de datos y dar los permisos:

# mysql -u root -p
Enter password:

mysql> create database alfresco;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on alfresco.* to alfresco@localhost identified by 'alfresco';
Query OK, 0 rows affected (0.00 sec)

Hecho lo anterior podrías proceder a hacer algunos cambios en la configuración, pero también puedes hacerlo una vez levantado el servidor (e ir reiniciando con cada cambio si usas Community o sin necesidad de reiniciar si usas Enterprise y la consola de administración).

Arrancamos el servidor:

$ cd /opt/alfresco-enterprise-4.1.1/
$ ./alfresco.sh start
Using CATALINA_BASE: /opt/alfresco-enterprise-4.1.1/tomcat
Using CATALINA_HOME: /opt/alfresco-enterprise-4.1.1/tomcat
Using CATALINA_TMPDIR: /opt/alfresco-enterprise-4.1.1/tomcat/temp
Using JRE_HOME: /opt/alfresco-enterprise-4.1.1/java
Using CLASSPATH: /opt/alfresco-enterprise-4.1.1/tomcat/bin/bootstrap.jar
Using CATALINA_PID: /opt/alfresco-enterprise-4.1.1/tomcat/temp/catalina.pid
/opt/alfresco-enterprise-4.1.1/tomcat/scripts/ctl.sh : tomcat started

Podemos ver los logs con el siguiente comando:

$ tail -f tomcat/logs/catalina.out

Deberíamos ver lineas que nos indican que se va poblando la base de datos, también que se crean los índices de SORL.
Recuerda que verás el siguiente error en el log:

ERROR [org.alfresco.fileserver] [CIFS Server] [SMB] Server error

Al iniciar con un usuario no root, Alfresco no puede levantar el subsistema CIFS ya que no puede usar un puerto por debajo del 1024. Para resolverlo (aunque deberás redireccionar los puertos http://docs.alfresco.com/4.0/topic/com.alfresco.enterprise.doc/tasks/fileserv-CIFS-useracc.html) puedes cambiar la configuración de los puertos de CIFS añadiendo los siguientes parámetros en en el fichero de configuración: tomcat/shared/classes/alfresco-global.properties

cifs.tcpipSMB.port=1445
cifs.netBIOSSMB.sessionPort=1139
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138

Cuando en el log veas la línea:

INFO: Server startup in 104835 ms

Significa que está arrancado y ya puedes acceder a Alfresco Share mediante http://localhost:8080/share o el nombre de servidor que tengas y a Alfresco Explorer con http://localhost:8080/alfresco. Por FTP, recuerda que se usa el puerto 2121 por defecto (si no haces redirección con IPTables). Por Webdav sería con la URL: http://localhost:8080/alfresco/webdav.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Diferencias entre Alfresco Enterprise y Community

octubre 19th, 2012

He grabado este video comentando las diferencias entre las versiones Enterprise y Community de Alfresco. Sin entrar en detalles muy específicos se puede ver de forma clara y en solo 5 minutos qué podemos encontrar en la versión Enterprise de Alfresco.

Diferencias entre Alfresco Enterprise y Community from Alfresco Spain Portugal on Vimeo.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Screencast sobre Alfresco One, sincronización, movilidad y colaboración.

octubre 16th, 2012

En este screencast de cinco minutos se puede ver un ejemplo práctico del uso de Alfresco en local, Alfresco Cloud y Alfresco Mobile, como sincronizar contenidos y colaborar con ellos para hacer un trabajo efectivo y rápido. Recuerda que Alfresco One es una oferta, un paquete que contiene varias opciones de Alfresco, pero todas estas funcionalidades y muchas más están disponibles para los clientes de Alfresco gracias a las novedades de Alfresco 4.1.

Para saber más podéis registraros en el webinar que haremos el próximo día 24 de Octubre a las 16h (hora de España peninsular): http://www.alfresco.com/es/eventos/webinars/alfresco-one-sincronizacion-y-mucho-mas

Screencast sobre AlfrescoOne, sincronización, movilidad y colaboración. from Alfresco Spain Portugal on Vimeo.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Video y presentación del webinar “Nuevo Alfresco Records Management 2.0″

septiembre 6th, 2012

Coma ya anuncié en un artículo anterior, hemos hecho un webinar donde presentamos las nuevas aportaciones del módulo de Record Management de Alfresco y como podemos gestionar de una manera fácil y fiable los registros de una organización. Aquí está el video y la presentación utilizados.

Nuevo Alfresco Records Management 2.0 from Alfresco Spain Portugal on Vimeo.

La presentación en Slideshare:

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Migrar a Alfresco, estrategia y soluciones

agosto 29th, 2012

En este mundillo de los ECM y la gestión de contenidos o de la tecnología en general, continuamente nos encontramos con la necesidad de migrar de una plataforma a otra, en el caso de Alfresco es una constante ya que muchas organizaciones quieren reducir costes de licencias desde sistemas antiguos y propietarios por un sistema abierto, moderno y escalable como es Alfresco.

Las preguntas que nos hacen muy a menudo al respecto son: ¿cual es la mejor forma de migrar a Alfresco? ¿qué estrategia debo seguir? ¿qué soluciones hay en el mercado que me aporten garantías? Y sobre todo, ¿que retos tengo que afrontar realmente en una migración y cambio de ECM?

Bien, vamos por partes.

No hay una mejor forma de migrar Alfresco que sirva para todos los casos, hay la mejor forma para tu caso concreto y para identificarla debes saber realmente qué necesitas mantener del repositorio actual en el nuevo, por ejemplo, no es lo mismo migrar solo los contenidos de un repositorio cualquiera a Alfresco que migrar contenidos más ACL, más modelo de datos. Por lo tanto deberemos tener en cuenta:

  • Modelo de datos (tipos, propiedades, relaciones y jerarquías)
  • Categorías y etiquetas
  • Permisos, roles, herencia de permisos, ¿aplicados a carpetas o a contenidos, ambos?
  • Usuarios y grupos, ¿en local, conectados a un LDAP, AD, etc? ¿Se necesita sincronización?
  • Sistemas de autenticación, al hilo del punto anterior pero importante saber si se usa un sistema de SSO externo.
  • APIs utilizadas por aplicaciones que usan el ECM
  • Transformaciones y reglas de contenido actuales (por ejemplo transformación de AFP a PDF si estamos hablando de IBM)
  • Tipos de búsquedas, sintaxis, opciones (rango de fechas, etc.) y estándar usado para las búsquedas.
  • Necesidades de indexación, nombre fichero, metadatos, contenido, necesitarán Full Text Search? (búsqueda en el contenido de los ficheros)
  • Versiones de los documentos, política de versionado, etc.
  • Workflows actuales o sistema utilizado.
  • ¿Existe inyección de contenidos desde scanners? ¿Como se realiza y que nivel de carga/concurrencia tiene?

Dicho lo anterior, nos encontraremos casos sencillos y casos más complejos, por lo que debemos definir una estrategia de migración basada en:

  • Saber que necesitamos migrar y conocer la estructura de datos origen.
  • Definir la estructura de los datos a migrar, modelos, directorios/espacios y seguridad.
  • Conocer necesidades de la interfaz de usuario si se necesita, como campos necesarios o parámetros de búsqueda.

En la estrategia de migración es necesario conocer la obligatoriedad de coexistencia de ambos ECM durante un tiempo determinado. Si se trata de millones de contenidos no podremos migrar en unas pocas jornadas de trabajo por lo que necesitaremos semanas o meses para migrar y será necesario disponer de ambos entornos a la vez para las aplicaciones o usuarios que lo requieran puedan acceder de forma transparente a los contenidos independientemente de donde estén almacenados.

En cuanto a los retos que tendremos que acomenter durante la migración:

  • Mantener las reglas de negocio específicas que implicarán a los datos migrados. Es capital conocer en profundidad el caso o casos de uso del cliente, de sus diferentes usuarios.
  • Planificación y consolidación de los datos a migrar. Deberemos conocer cuando tiempo nos llevará mover los datos de una plataforma a otra, concurrencia, mejores técnicas a utilizar para maximizar el rendimiento y, como decía anteriormente, si deben coexistir ambas a la vez.
  • No solo debemos preocuparnos por migrar los datos y todo lo relacionado con ellos, también deberemos cambiar como se conectan e interactúan las aplicaciones con el ECM.
  • Es recomendable utilizar una herramienta que nos reduzca la complejidad de la migración, que nos permita añadir orígenes de datos de diferentes ECM y volcarlos a Alfresco, evita tareas manuales, seguro que a lo que te enfrentas ya lo ha hecho alguien. Veremos más adelante que opciones hay.
  • En migraciones de grandes cantidades de datos (millones), medio segundo en una tarea repetitiva puede suponer mucho tiempo, minimiza el tiempo y el esfuerzo al máximo, así obtendrás el mejor rendimiento y reducir los tiempos de migración.
  • Monitoriza toda acción que se realice durante la migración, controla los tiempos continuamente y audita en profundidad que todo se está migrando correctamente.
  • Mantén una infraestructura paralela o la original siempre disponible, piensa que una migración puede fallar, pero los contenidos deben estar disponibles. Minimiza el riesgo y el tiempo de respuesta en caso de marcha atrás. Define correctamente las ventanas de intervención basado en pruebas reales.

Soluciones para migrar a Alfresco:
A continuación vemos diferentes aplicaciones de terceros que nos ayudarán en una migración de otros ECM a Alfresco.

¿Y de todas esas soluciones u otras que puedo encontrar en el mercado cual es la mejor?
De las anteriores hay algunas más completas que otras y también con casos de éxito en cuentas importantes que siempre nos aportarán confianza. El nivel de compromiso de la empresa con los fabricantes, partnership, certificado de la herramienta de migración, etc. también es importante. Conocer los data sources soportados soportados, es decir, ECMs e interfaces que soporta cada solución, si aportan soluciones para permitir la coexistencia de los dos ECMs durante la migración, si el coste de la solución es por proyecto o por número de contenidos, si migran sólo contenidos o son capaces de migrar más información como metadatos, versiones, permisos, etc. Como ves, la elección de una solución u otra también será en función de los requisitos del proyecto.

Como opinión personal, la solución que mejor conozco es Entropysoft ya que la campaña “Switch to Alfresco” que se hizo en 2010 fue con su solución e hice un curso con ellos. Incluso grabé un pequeño video que podéis ver más abajo. También conozco casos reales de migración de IBM FileNet a Alfresco usando el Migration Center, OpenMigrate también es muy usado. Si tienes experiencias con estas u otras soluciones no dudes en decirlo en los comentarios.

En algunos casos, cuando un cliente tiene documentos en filesystem y su propia base de datos de metadatos en hojas de cálculo, lo más común es usar la solución embebida en Alfresco llamada Bulk Import Tool. No dudes en echarle un vistazo, seguro que te puede servir en algún caso, además, permite opciones muy interesantes para no tener que mover (cargar) los archivos en Alfresco si se trata de gran cantidad de información, además es muy rápido.

Por último aquí se puede ver un video de ejemplo de migración que hice durante el curso de Entropysoft; es sin audio, pero se puede ver como mapear datos de Sharepoint a Alfresco al hacer la migración:


Migración de datos de MS SharePoint Server a Alfresco con Entropysoft (video resumen sin audio) from Alfresco Spain Portugal on Vimeo.

Algunas ideas usadas en el artículo tomadas de aquí.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Next »