Archive for the 'FLOSS' Category

Essential commands for Alfresco BART

diciembre 11th, 2013

Alfresco BART usage:

./alfresco-bart.sh [set] [date dest]

But what really modes are? With modes I mean different ways to use Alfresco BART depending of what do you want to do, for instance:

  • backup: runs an incremental backup or a full if first time
  • restore: runs the restore, wizard if no arguments, see below more commands with arguments [set] [date] [dest], while [set] can also be “all” for all sets.
  • verify: verifies the backup, it compares what you have backed up and what you have in your live system.
  • collection: shows all the backup sets already in the backup archive that might be restored.
  • list: lists the files currently backed up in the archive. It shows files contained in the last backup.

Sets:

  • no value: use all backup sets
  • index: use index backup set (group) for selected mode.
  • db: use data base backup set (group) for selected mode.
  • cs: use content store backup set (group) for selected mode.
  • files: use rest of files backup set (group) for selected mode.

Now lets see how to use Alfresco BART.

To make a backup:

./alfresco-bart.sh backup

NOTE1: if first time, it makes a full backup
NOTE2: you should add this command to your root crontab with something like “0 5 * * * /path/to/alfresco-bart.sh backup” (without quotes) if you want to run your backup daily at 5AM (after Alfresco’s nightly backups and maintenance jobs).
NOTE3: running command above with without any data sets (index, db, cs or files) it will perform a backup of all data sets configured in alfresco-bart.properties. You can run “./alfresco-bart.sh backup files” to only perform a backup of your configuration files, installation and customization files or “./alfresco-bart.sh backup cs” to create a backup (full if first time or incremental if not) of your contentstore and additional stores configured.

Commands and options to restore backup:

To restore an existing backup guided by the wizard:

./alfresco-bart.sh restore

################## Welcome to Alfresco BART Recovery wizard ###################

This backup and recovery tool does not overrides nor modify your existing
data, then you must have a destination folder ready to do the entire
or partial restore process.

##############################################################################

Choose a restore option:
1) Full restore
2) Set restore
3) Restore a single file of your Alfresco repository
4) Restore alfresco-global.properties from a given date
5) Restore other configuration file or directory

Enter an option [1|2|3|4|5] or CTRL+c to exit:

To restore the last (now) existing backup of all sets (all) and leave it in /tmp:

./alfresco-bart.sh restore all now /tmp

To restore a DB backup from 14 days ago to /tmp:

./alfresco-bart.sh restore db 14D /tmp

To restore the indexes backup from december 2nd 2013:

./alfresco-bart.sh restore index 12-02-2013 /tmp

Valid date format is: now: for last backup, s: for second, m: minutes, h: hours, D: days, W: weeks, M: months or Y: years, all date values must be specified without spaces, i.e: 4D, 2W, 1Y, 33m. Dates may also be like: YYYY/MM/DD, YYYY-MM-DD, MM/DD/YYYY or MM-DD-YYYY.

To restore a single file deleted on the repository but existing in previous backup please use the backup wizard by typing: “./alfresco-bart.sh restore” and then follow instructions in the menu option “3”.

To restore the alfresco-global.properties configuration file from a given date please use the backup wizard by typing: “./alfresco-bart.sh restore” and then follow instructions in the menu option “4”.

Finally if you want to restore any other configuration, installation or custom file from your existing backup on a given date follow instructions by choosing option 5 in the recovery wizard.

NOTE4: Alfresco BART restore options or recovery wizard never will overrides your existing Alfresco files, you should specify a temporary recovery folder with enough space, then you have to move that content manually or following the instructions on the screen.

In case of source mismatch error with Duplicity try running this command:

./alfresco-bart.sh backup all force

Alfresco BART moved to Github

noviembre 20th, 2013

Quick post just to announce that Alfresco BART (Backup and Recovery Tool) has been moved from my local server to Github. I’m glad to see how many people is starting to test the tool and I need a place to better code and issues management.

Please, refer to https://github.com/toniblyx/alfresco-backup-and-recovery-tool for downloads, questions, issues, suggestions or feedback.

Thanks!

Alfresco Backup and Recovery Tool, release v0.1

agosto 7th, 2013

Project was moved to Github!

Please go to https://github.com/toniblyx/alfresco-backup-and-recovery-tool for downloads, questions, issues, suggestions or feedback. Thanks!

Here you go, first release of the Alfresco Backup and Recovery Tool (Alfresco BART). An Apache 2.0 licensed tool for backup and restore of Alfresco ECM.

DESCRIPTION
Alfresco BART is a tool written in shell script on top of Duplicity for Alfresco backups and restore from a local file system, FTP, SCP or Amazon S3 of all its components: indexes, data base, content store and all deployment and configuration files. It should runs in most Linux distributions, for Windows you may use Cygwin (non tested yet).

Brief description of its features: full and incremental backups, backup policies, backup volume control, encryption with GPG, compression. Also it has a restore wizard with shortcuts for quick restore of some key components (alfresco-global.properties and more).

DISCLAIMER
This is an initial version, it has bugs and needs many improvements, please take care :)

FEATURES
Features in this version (v0.1):

  • 5 different modes of work: backup, restore, verify, collection and list
    • backup: runs an incremental backup or a full if first time or configured
    • restore: runs the restore wizard
    • verify: verifies the backup
    • collection: shows all the backup sets in the archive
    • list: lists the files currently backed up in the archive
  • Full and incremental backups.
  • Backup policies:
    • Periodicity: number of days of every full backup, if not backup found it does a full
    • Retention: keep full or incremental copies, clean old backups.
    • Control of number of moths to remove all backups older than or backup retention period.
  • Separated components (backup sets or groups), ability to enable or disable any set (cluster and dedicated search server aware), all backup sets supported are:
    • Indexes (SOLR or Lucene)
    • Data base (MySQL, PostgreSQL and Oracle)
    • Content Store plus deleted, cached and content store selector (optional).
    • Files: all configuration files, deployments, installation files, etc.
  • Restore wizard with support to:
    • restore a full backup (all sets)
    • given backup set
    • restore from a given date or days, month, year ago
    • restore alfresco-global.properties from a point in time
  • Backup volume control:
    • All backups collections are split in a volume size 25MB by default, this can help to store your backup in tapes or in order to upload to a FTP, SCP or S3 server.
  • Backup to different destinations:
    • Local filesystem
    • Remote FTP or FTPS server
    • SCP server (should have shared keys already configured, no authentication with user and password supported)
    • Amazon S3
  • Encryption with GnuPG, all backup volumes are encrypted, this feature is configurable (enable or disable).
  • Compression, all backup volumes are compressed by default
  • Log reporting, Alfresco BART creates a log file each day of operation with in a report of any activity.

DEPENDENCES

  • Duplicity 0.6 (with boto and fabric)
  • Python 
  • GnuPG
  • NcFTP
  • librsync
  • mysqldump for MySQL backup
  • pg_dump for PostgreSQL backup
  • exp for Oracle backup

TODO

  • TEST, TEST and TEST with JBOSS, MySQL, Oracle, S3, FTPs, SCP, etc.
  • Add more input and task controllers (and configuration, first run).
  • Restore single repository file.
  • Snapshots (LVM if exist, AWS if exist).
  • Support for MS SQL Server.
  • Configuration wizard (shell).
  • Share admin panel configuration page as main point to configure more options related to backup (eager, cleaner, index backup, trascan cleaner, etc.).
  • Custom logging control and reporting improvement.

DOWNLOADS and INSTALLATION 

Most recent information about tool and latest code is available in:
http://blyx.com/alfresco-bart

Please report bugs and improvements to: reverse moc.xylb@inot

Video del webinar “Introducción a Alfresco Workdesk”

julio 23rd, 2013

Aquí os dejo el video introductorio a Alfresco Workdesk:

Más información de Workdesk aquí y también puedes descargar un trial aquí o la versión Community aquí.

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.

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í.

Video del webinar sobre “Subsistemas y Autenticación en Alfresco”

abril 7th, 2011

Los subsistemas de Alfresco permiten tener más control y modularidad sobre la aplicación, también nos aportan flexibilidad y facilidad de administración. Durante este webinar vamos a aprender qué son, cómo funcionan internamente y cómo se crean. Revisaremos opciones de configuración del servidor de ficheros, aplicaciones externas y profundizaremos en el subsistema de autenticación y sincronización.

Resumen del Kickoff de Alfresco en Orlando

abril 5th, 2011

Del 23 al 25 de marzo estuvimos en Orlando con motivo del Kickoff 2011 de Alfresco, este tipo de reuniones, que se hacen anualmente, sirven para reunir gran parte de la plantilla de Alfresco y partners de todo el mundo que quisieron y pudieron acompañarnos, de España vinieron representantes de Entel e IN2 que ganó el premio a “EMEA Partner of the year”. En el Kickoff se habla sobre lo realizado en al año anterior, 2010 en este caso, y el futuro del producto/compañía. Este año, el sobrenombre del Kickoff fue “When Social met ECM, it was love at first sight”, sí, un título cuanto menos peculiar, pero luego os explicaré a qué se refiere.

En cuanto a asistencia decir que las salas reservadas en el MJ Marriot Grande Lakes, estaban en todo momento casi llenas, estimo que unas 200 personas aproximadamente.

Hubo charlas de todo tipo, la mayoría abiertas a todos los asistentes, empleados y partners, y un par de ellas sólo para empleados de Alfresco, habiendo al mismo tiempo otros tracks muy interesantes.

Aunque se trataron muchos temas, me gustaría trasladaros y destacar algunas de las novedades clave que se comunicaron sobre el futuro de Alfresco. Así como aclarar algunos conceptos de los que vienen hablando en los últimos meses. También aclarar que, aunque algunas de las cosas que voy a comentar estarán en futuras versiones de Alfresco, también pueden estar sujetas a modificaciones.

Vamos a empezar por lo “social”.

Se habla mucho de “Gestión Social de Contenidos” y “Gestión de Contenidos Sociales”, pero ¿qué significa todo esto? ¿a qué se refiere Alfresco cuando habla tanto de esto? ¿está dejando de lado la visión de repositorio, gestión documental y demás usos? No, lo que ocurre es que los contenidos cada vez son más dinámicos, la conversación es el contenido y hay que buscar la versatilidad, adaptarse, mejorando lo que ya hay y añadiendo nuevas funcionalidades.

  • Gestión Social de Contenidos: hablamos de contenidos con los que trabajamos a diario y con los que colaboramos para crearlos, modificarlos, aprobarlos, etc. Es decir, llevar el ECM a su parte más colaborativa = Alfresco Share.
  • Gestión de Contenidos Sociales: hablamos de la creación y administración de contenidos destinados a ser publicados en redes sociales, es decir, pensad en el típico ejemplo de una organización que sube un vídeo en Youtube, una nota de prensa publicada en una web (con el vídeo embebido) y su Twit correspondiente, esto son tres tareas que podemos entender como asíncronas ¿verdad? Pues gracias a las nuevas funcionalidades de la próxima versión de Alfresco, todos estos contenidos los podremos gestionar de forma concurrente y planificada desde un sólo punto = Alfresco Share. Todo esto aprovechando la capacidad de creación, revisión (workflow), control, seguridad y administración de Alfresco. Y no sólo se conectará con Twitter, Youtube, Servidor de publicación Web Quick Start, sino que también, posteriormente podremos conectarnos con Facebook, Drupal, Flikr, Slideshare, WordPress, Linkedin y muchos otros. Nosotros lo llamamos Alfresco Social Publishing y es un framework que permitirá publicar contenidos a cualquier canal social.

La próxima versión de Alfresco tiene como “codename” Swift, toda una declaración de intenciones. La Community se publicará para finales del verano y la versión Enterprise para principios de invierno. Aunque ya se pueden ver algunas novedades en el subversion. Algunas de las novedades más importantes son las siguientes:

  • Calidad: Una de las novedades que más me gustaron es que se amplía el tiempo de QA que pasa cada versión Enterprise antes de ser publicada y se pone máxima prioridad en la escalabilidad, escalabilidad y fiabilidad de la herramienta, haciendo hincapié en la resolución de bugs abiertos externamente.
  • Escalabilidad, integración con Apache SOLR: será una opción más, es decir, podremos usar el motor de indexación que trae Alfresco (Apache Lucene) o usar Apache SOLR con sus capacidades de escalabilidad y redundancia, hasta llegar a soportar hasta 10 nodos de Alfresco.
  • Clustering: La próxima versión vendrá acompañada de un framework para realizar benchmarks, algo muy solicitado. También se mejorará y soportará el cluster de Webdav, FTP, CIFS y MS Sharepoint. El punto más importante y demandado en este tema es CIFS, que soportará clustering sin perder ninguna funcionalidad.
  • Consola de Administración: dispondrá de una consola de administración web dentro de Alfresco Share que permitirá hacer las configuraciones que actualmente se pueden hacer por JMX. Configurar la autenticación, servidores de ficheros, correo entrante, saliente e IMAP. También se proveerán herramientas para facilitar la creación y gestión de tipos y aspectos.
  • Social Content Management: framework del que hemos hablado anteriormente.
  • Desarollo: Facilita la creación y configuración de acciones, diálogos y evaluadores para la librería de documentos, posibilidad de mostrar menús basados en permisos, tipos, estados, etc. La idea es permitir personalizaciones sin tener que copiar y replicar código existente. Mejora en la API CMIS con todo lo que marca el estándar más extensiones específicas de Alfresco. Soporte de plantillas de contenidos, constraints diferenciados por idiomas y constraints dinámicos basados en listas (no xml ni filesystem).
  • Alfresco Share: Previsualización de vídeos en flash y html5, opciones de “me gusta” en los contenidos, control de lectura de contenidos, personalización del interfaz, logo y colores. Subir documentos mediante “drag and drop” al navegador directamente. Nuevo diseño de la página de previsualización (mejorada para documentos de gran tamaño).
  • Activiti: Estará embebido en la próxima versión (Community 3.4.e) con soporte jBPM y Activiti.
  • También se anunció la integración de Jive-Alfresco, podéis encontrar más información sobre este tema aquí.

Algo que ha quedado muy claro en esta reunión es la firme apuesta de Alfresco seguir siendo el referente en la gestión de contenidos empresariales y la firme decisión de apoyo a CMIS, de hecho, John Powell dijo “Creemos y apostamos por CMIS, pensamos que si puedes cambiarnos, nos usarás”, está claro que la interoperabilidad es clave para el futuro de Alfresco, como lo ha sido hasta ahora.

Concurso Comunidad de habla castellana de Alfresco 2011

marzo 14th, 2011

Cita de la convocatoria oficial publicada aquí

Premios para los colaboradores de la Comunidad de Alfresco de habla castellana.

Hola amigos y colaboradores, desde Alfresco queremos lanzar este concurso para potenciar y agradecer vuestro trabajo y colaboración continua desde hace varios años.

¿En qué consiste este concurso y cuales son los premios?
Si quieres participar, deberás realizar un desarrollo o integración con Alfresco y publicarlo en el hilo correspondiente dentro de este foro “Concursos”, durante el periodo de validez del concurso. No hay límite ni restricción sobre el tipo de integración, puede ser un webscript, un dashlet o cualquier otro desarrollo de mayor envergadura. También entrarán en concurso el mejor artículo, manual o howto sobre Alfresco publicado en dicho periodo y en español. Por lo tanto habrá 3 premios que se citan a continuación:

¿Qué tengo que hacer para participar?
Realizar un desarrollo, integración, artículo, manual o howto con Alfresco y publicarlo, además para poder ser valorado por el jurado deberás inscribirlo en el hilo correspondiente del foro de Alfresco en español. Los materiales deben estar disponibles, como mínimo en español.

¿Durante que periodo puedo participar?
El concurso tendrá lugar desde hoy hasta el próximo 11 de Abril a las 10AM (hora central europea). Llegada esa fecha el jurado analizará y valorará los trabajos entregados para decidir los ganadores.

¿Quién valorará los trabajos de los participantes?
El jurado está compuesto cuatro colaboradores y expertos españoles en la comunidad de Alfresco en castellano, estos son Adrián Jiménez, Javier Martínez, Fernando González y Pedro Jiménez Caracuel.

¿Cuando sabré si estoy premiad@?
Se publicarán los ganadores el día 14 de abril a las 11AM (hora central europea) en este mismo foro, también los daremos a conocer mediante Twitter.

¿Puedo participar en las dos opciones?
Sí, puedes colaborar tanto en la sección desarrollos como en la sección artículos. Además puedes participar con más de una aportación. Lo último que queremos es poner límites a tu imaginación ;)

Desde Alfresco, os animamos a todos a participar y a compartir todo lo que sabéis con la comunidad. Así aprenderemos entre todos y seguiremos creciendo como un referente a nivel mundial.

¡Gracias a todos por vuestra participación!

Alfresco EVT, herramienta para validación del entorno antes de instalar

diciembre 21st, 2010

Mi compañero en AlfrescoPeter Monks (Technical Director for Business Development), ha desarrollado un pequeño programa que permite validar el entorno donde se va a desplegar Alfresco tanto Enterprise como Community, aunque sin duda es más útil para Enterprise. Desde blyx.com quiero mostraros qué es y cómo funciona. Y dadas las fechas en las que estamos, a modo de regalo de Navidad.
Esta útil herramienta llamada Alfresco Environmente Validaton Tool (EVT) , comprueba varios puntos del sistema, base de datos y entorno específico, y nos muestra un informe donde podemos ver qué parámetros debemos cambiar para asegurarnos que Alfresco funcionará correctamente en nuestra red y enlaces donde encontrar esos recursos o recomendaciones. Básicamente analiza los puntos que desde Alfresco entendemos son más críticos o donde podemos encontrar problemas, de esta forma los evitamos.
Usarla es muy sencillo y funciona tanto en LINUX/UNIX como en windows ejecutando un script desde la línea de comandos. Claro, debe estar Java instalado en el sistema. Descomprimimos el zip que descargamos de la web del proyecto, ejecutamos  evt.sh o evt.cmd.
# ./evt.sh -help

Usage: evt[.sh|.cmd] [-?|--help] [-v] [-V|-vv]
            -t databaseType -h databaseHost [-r databasePort]
            [-d databaseName] -l databaseLogin [-p databasePassword]

where:      -?|--help        - display this help
            -v               - produce verbose output
            -V|-vv           - produce super-verbose output (stack traces)
            databaseType     - the type of database.  May be one of:
                               mysql, postgresql, oracle, mssqlserver, db2
            databaseHost     - the hostname of the database server
            databasePort     - the port the database is listening on (optional -
                               defaults to default for the database type)
            databaseName     - the name of the Alfresco database (optional -
                               defaults to 'alfresco')
            databaseLogin    - the login Alfresco will use to connect to the
                               database
            databasePassword - the password for that user (optional)
Aquí vemos un ejemplo de la ejecución en un servidor Linux CentOS 5.5. No voy a usar la opción -vv porque no se ve bien en el blog, pero en tu caso ¡úsala! porque mostrará más información y recomendaciones para solucionar los problemas o alertas que detecte (INFO, WARN! y FAIL!!):

# ./evt.sh -t mysql -h localhost -d alfresco -l alfresco -p alfresco

Alfresco Environment Validation Tool (for Alfresco Enterprise 3.3)
------------------------------------------------------------------

Validating JVM
  Vendor                : Sun Microsystems Inc. .......................PASS
  Version               : 1.6.0_21 ....................................PASS
  JVM Architecture      : 32 bit ......................................INFO
  Java Home             : /usr/java/jre1.6.0_21 .......................PASS

Validating Operating System
  OS                    : Linux .......................................PASS
  Distribution          : CentOS release 5.5 (Final) ..................WARN!
  OS Architecture       : 32 bit ......................................INFO
  File Descriptors      : 65535 .......................................PASS

Validating Server Hardware
  CPU Clock Speed       : 2673Mhz .....................................PASS
  CPU Count             : 2 sockets, 2 cores ..........................PASS
  Installed RAM         : 2032MB ......................................WARN!

Validating Network
  Local Hostname        : server ......................................PASS
  IP Address            : 10.10.100.100 ...............................PASS
  DNS Hostname          : server.blyx.com .............................PASS
  TCP 8005 (Tomcat)     : available ...................................PASS
  TCP 8080 (HTTP)       : available ...................................PASS
  TCP 50500 (RMI)       : available ...................................PASS
  TCP 21 (FTP)          : available ...................................PASS
  TCP 139 (NetBT)       : available ...................................PASS
  TCP 445 (SMB)         : available ...................................PASS
  TCP 7070 (Sharepoint) : available ...................................PASS
  TCP 25 (SMTP)         : available ...................................PASS
  TCP 143 (IMAP)        : available ...................................PASS
  UDP 137 (NetBT)       : available ...................................PASS
  UDP 138 (NetBT)       : available ...................................PASS
  Database Hostname     : resolved ....................................PASS
  Packet Loss           : (please wait) 0% ............................PASS
  Average Response Time : 0.186ms .....................................PASS
  Response Time Std Dev : 0.042ms .....................................PASS

Validating 3rd Party Apps
  Can fork OpenOffice   : yes .........................................PASS
  OpenOffice Version    : unknown .....................................WARN!
  Can fork ImageMagick  : yes .........................................PASS
  ImageMagick Version   : 6.2 .........................................PASS
  Can fork pdf2swf      : yes .........................................PASS

Validating Database
  Database Type         : mysql ...recognised .........................PASS
  JDBC Driver Loaded    : yes .........................................PASS
  Database Connectivity : connected ...................................PASS
  Scrollable Result Sets: true ........................................PASS
  JDBC Driver Version   : 5.1 .........................................PASS
  MySQL Version         : 5.1.52 ......................................PASS
  Default Storage Engine: InnoDB ......................................PASS
  Case Sensitivity Level: 0 ...........................................WARN!
  Client Encoding       : utf8 ........................................PASS
  Connection Encoding   : utf8 ........................................PASS
  Database Encoding     : latin1 ......................................FAIL!!
  Filesystem Encoding   : binary ......................................PASS
  Results Encoding      : utf8 ........................................PASS
  Server Encoding       : utf8 ........................................PASS
  System Encoding       : utf8 ........................................PASS

                         **** FINAL GRADE: FAIL!! ****

Como vemos en el report, se han analizado muchos puntos que pueden afectar al correcto funcionamiento de Alfresco:
  • Máquina virtual de Java.
  • Sistema Operativo (incluyendo file descriptors).
  • Hardware del servidor.
  • Información de la red, puertos disponibles y tiempos de respuesta con la base de datos.
  • Aplicaciones de terceros que necesita Alfresco para funcionar al 100%.
  • Configuración de la base de datos.
El ejemplo anterior tiene muchos errores para que veáis lo que puede detectar la herramienta. En ese sistema no sería recomendable instalar Alfresco.
Nota: recuerda ejecutar el comando antes de instalar Alfresco o con Alfresco parado, de lo contrario encontrarás muchos FAIL!! y WARN!

Espero que os sea útil.

A propósito, ¡Feliz Navidad a todos! ¡Y Feliz año 2011! Será el décimo aniversario de blyx.com (10 años desde que compré el dominio). Un año impar, seguro que es un buen año para todos.

Next »

css.php