Próximos eventos de Alfresco: septiembre – diciembre 2011

Aunque para este tipo de anuncios suelo utilizar mi cuenta Twitter, en este caso voy a hacer una excepción ya que creo que merece la pena por la cantidad de temas que se avecinan. Quiero comentaros los eventos de Alfresco que tenemos planificados celebrar próximamente, que son muchos, muy interesantes y accesibles a todos. Estoy hablando principalmente de la Alfresco DevCon, Talleres Expertos, Webinars y por supuesto la fiesta de lanzamiento de Alfresco 4.0 Community.
  • Alfresco DevCon, conferencia anual de desarrolladores:
Empezamos por el más importante de todos por su repercusión y asistencia, y ya un clásico anual para los desarrolladores de Alfresco, la Alfresco DevCon se celebrará este año en Londres y será durante los días 9 y 10 de noviembre (también en San Diego un par de semanas antes). Si tienes pensado asistir, recuerda que el día 8 hay una jornada formación, donde te puedes aprovechar para tomar una introducción bastante amplia sobre Alfresco, llamada “Alfresco JumpStart“, o un curso orientado a expertos y desarrolladores, “Advanced Alfresco Training“. Las conferencias de la DevCon serán presentadas ingenieros de Alfresco y por importantes gurús de la comunidad. Sin duda es una oportunidad para conocerlos a todos ellos en persona y compartir inquietudes, dudas y ver casos de éxito. Más información en los siguientes enlaces: http://blogs.alfresco.com/wp/devcon/2011/08/19/registration-now-open/ y
No te pierdas el video de presentación: http://www.youtube.com/watch?v=RZtv9NBI6uU
  • Talleres Expertos:
Siguiendo con la dinámica de las “Master Class” que realizábamos por España y Potugal, hemos rebautizado estas sesiones gratuitas con el nombre de “Taller Experto“. Está orientado a clientes, partners y organizaciones interesadas en implementar Alfresco Enterprise, y que tengan un conocimiento amplio de la plataforma ya que se tratarán temas avanzados de diferente índole a elegir por los asistentes, es decir, “Talleres Expertos” a la carta. En estas sesiones que constan de dos charlas hablaremos de temas diversos como Arquitectura, Introducción a desarrollo, Escalabilidad, Clustering, CMIS, Subsistemas, Autenticación y Single Sign On, Almacenamiento, Web Quick Start, Conectores – Interfaces, etc. En algunos casos contaremos con invitados de lujo como Mike Farman (Product Manager de Alfresco) y Rui Monteiro (Solutions Engineer para EMEA de Alfresco). Para asistir a estos Talleres hay que registrarse aquí y posteriormente confirmaremos asistencia por correo electrónico, las plazas son muy limitadas.
  • Webinars:
Estos seminarios virtuales de una hora de duración aproximadamente donde damos a conocer funcionalidades o nuevas características de Alfresco y podéis participar haciendo preguntas. Los próximos webinars son “Alfresco y Activiti”, “Alfresco integrado en un ecosistema con Windows, MS Office y Outlook”, “Alfresco en una hora” y “Soluciones de escaneo y digitalización con Alfresco”. Puedes registrarte a cada uno de ellos aquí. Y puedes acceder a los demás webinar grabados en la sección OnDemand o en nuestro canal de Vimeo.
  • Fiesta publicación de Alfresco 4.0 Community:
Coincidiendo con la liberación de la versión de Alfresco 4.0 Community, celebraremos un encuentro de usuarios, desarrolladores y entusiastas de esta tecnología en Madrid, el día 11 de Octubre. Hablaremos de las novedades y compartiremos experiencias. Para más información sobre esta “fiesta” os recomiendo seguir este hilo del foro, ya que aún quedan temas por confirmar.

Más sobre digitalización y escaneo en Alfresco: tabla con opciones existentes

Durante mi visita a algunos partners en LATAM he estado hablando de características y nuevas funcionalidades de Alfresco, aparte de todo eso, la mayoría de ellos me preguntaron qué opciones ofrece Alfresco para resolver el problema de escaneo o el paradigma “paperless”. Dibujé en varias ocasiones un diagrama con las opciones existentes y he querido ponerlo en digital para compartirlo con vosotros. Este diagrama será la base para el webinar que haremos en dentro de unos meses sobre “Soluciones de escaneo con Alfresco”, al que puedes registrarte desde aquí. En los comentarios podéis compartir vuestra opinión o añadir otras opciones que no haya tenido en cuenta. Espero que os sea útil y con vuestras dudas o comentarios hacer un webinar más completo y atractivo.

Pincha en la imagen para verlo a tamaño completo

Video del webinar “Alfresco Share para usuarios: teoría y práctica”

En este webinar repasamos las características más destacadas de Alfresco Share y una hacemos una parte práctica a nivel de usuario para comenzar a usar Alfresco y poder aprovechar todo su potencial. Configuración del panel de inicio, Creación de sitios, uso de reglas, metadatos, transformaciones, etc. Gracias a Jose Pereira que me ayudó tanto a la preparación de la presentación como la parte de la demo. Te recomiendo mirar su web ya que ha publicado documentos muy buenos sobre Alfresco en español.

Alfresco Share para usuarios: teoria y práctica from Alfresco Spain Portugal on Vimeo.

Video del webinar “Gestión del almacenamiento en Alfresco”

En este webinar sobre “Gestión de almacenamiento en Alfresco” veremos cómo configurar y usar Content Store Selector para implementar ILM (Information Lifecycle Management), XAM-CAS connector para poder conectar Alfresco en sistemas de almacenamiento específicos como Centera, Hitachi, HP u otros con soporte XAM y por último veremos qué es y cómo funciona Transfer y Replication Services para poder transferir contenidos entre repositorios de Alfresco.

Video del webinar “Personalizando Alfresco Share”

Aquí está a vuestra disposición el video del webinar celebrado sobre “Personalización de Alfresco Share”. Os recuerdo el abstract: “Webinar donde aprenderemos a personalizar Alfresco Share con dashlets de diferentes tipos, integrarlo con aplicaciones externas como Flickr, Twitter, Google News y otros recursos externos o cómo personalizar tu propio tema (diseño) y sacar el máximo partido a la plataforma.”

Screencast sobre integración de Alfresco y Google Docs

En colaboración con Fernando Gonzalez hemos preparado el siguiente screencast para mostrar como funciona Alfresco en colaboración con Google Docs, ya sea con tus cuentas de Gmail o con tu propio dominio de Google Apps.

Los objetivos principales de esta integración son:

  • Permitir el acceso a documentos, su edición y colaboración desde cualquier navegador.
  • Colaboración en tiempo real con documentos ofimáticos existentes en Alfresco o creados directamente en Alfresco con Google Docs.
  • Disfrutar de todas las capacidades de colaboración de Google Docs junto con las funcionalidades de gestión de metadatos y seguridad de Alfresco.

Aquí tienes el video y en el blog de Fernando Gonzalez más información, detalles sobre su configuración y puesta en marcha.

Recuerda en la configuración debes indicar el parámetro “googledocs.url” con HTTPS: https://docs.google.com/feeds/default/private/full. Más info aquí http://googleappsdeveloper.blogspot.com/2011/09/requiring-ssl-for-documents-list.html

Conoce el estándar CMIS: Trabajar con CMIS

CMIS soporta SOAP y también REST a través del protocolo AtomPub. Atom o AtomPub es un estándar del IETF para la creación y actualización de los recursos web. Está basado en REST y es muy flexible en la extensión de los metadatos que maneja. Este protocolo es la base para la API REST.
CMIS está hecho pensado en los sistemas existentes y para permitir casos uso básicos, tales como:
    • Permite a los usuarios la creación colaborativa de contenido, por ejemplo para hacer uno o más documentos, páginas web, etc.
    • Una forma de acceso a portales, con CMIS se permite visualizar y mostrar contenidos desde múltiples fuentes.
    • Mashups de contenidos en sitios web, sitios web que usan CMIS pueden crear aplicaciones compuestas o integrar los datos y las funcionalidades de uno o varios repositorios.
    • Búsqueda paralela contra múltiples interfaces de repositorios CMIS.
  • Repositorio CMIS
CMIS se centra en servicios que puede ofrecer un repositorio para ser realmente interoperable. Estos servicios están basados en gestión de contenidos, metadatos e índices.
El repositorio CMIS, es la forma que tiene Alfresco de mostrar todos los contenidos cumpliendo los requerimientos del estándar. Mediante CMIS podemos ver las capacidades CMIS de nuestro Alfresco en este enlace http://localhost:8080/alfresco/service/cmis/index.html. Vamos a ver con más detalle tres conceptos fundamentales:
    • Consultas CMIS
    • Servicios CMIS
    • Modelo de objetos CMIS
  • Consultas CMIS:
Una consulta CMIS se basa en SQL-92. La consulta es de sólo lectura y no permite manipulación de datos.
En la sintaxis que se puede utilizar están las siguientes cláusulas:
    • SELECT con una lista de objetos
    • FROM con los tipos de objeto que se consultan
    • JOIN para realizar una combinación entre los tipos de objetos (aspectos).
    • WHERE con especificar una condición
    • IN y ANY para consultar propiedades multi-valuadas.
    • CONTAINS para especificar un texto concreto en la búsqueda.
    • IN_FOLDER y IN_TREE para buscar dentro de una jerarquía de carpetas.
    • ORDERBY para ordenar los resultados.
Para hacernos una idea, podríamos entender una consulta CMIS en una estructura relacional donde el tipo de objeto sería como una tabla, el objeto como una fila y la propiedad como una columna que puede tener varios valores. Además se puede consultar el contenido binario real mediante una consulta de texto completo e información de ruta de la carpeta con ayuda de las funciones in_tree y in_folder. Las consultas también se pueden paginar para crear la interfaz de presentación al usuario. Estos son algunos ejemplos de consultas:

[sql]
SELECT * FROM cmis:document
SELECT * FROM cmis:document WHERE cmis:name = ‘invite-email.ftl’
SELECT * FROM cmis:document WHERE cmis:creationDate > TIMESTAMP ‘2011-04-01T00:00:00.000+00:00’
SELECT * FROM cmis:document WHERE CONTAINS(‘alfresco’)
[/sql]

  • Servicios CMIS:
Como hemos comentado, CMIS proporciona servicios a los que puede acceder mediante SOAP o AtomPub (REST), que se pueden usar dependiendo de la preferencia o caso de uso. Estos son los servicios CMIS soportados:
    • Servicios del Repositorio: permiten descubrir repositorios disponibles, obtener la capacidad de estos repositorios y proporcionar información de los tipos disponibles en el repositorio desde el Diccionario de Datos.
    • Servicios de Navegación: permiten navegar por el repositorio mediante el acceso al árbol de carpetas. Se pueden utilizar estos servicios para saber elementos padres e hijos de un objeto concreto.
    • Servicios de Objeto: proporcionan CRUD (Crear, Leer, Actualizar, Borrar) y control de los servicios en cualquier objeto, incluyendo documento, carpeta, política y objetos relacionados. Para los documentos, esto incluye establecer y obtener de sus propiedades, políticas y el contenido en si mismo. Estos servicios se pueden usar mediante la ruta al objeto o el identificador único del objeto. También se pueden saber para qué acciones están autorizados los usuarios.
    • Multifiling Services: permiten establecer jerarquías añadiendo o eliminando un objeto de una carpeta.
    • Servicios de Descubrimiento (discovery services): permiten los servicios de consultas y cambios, adicionalmente permiten paginación de los resultados de las consultas.
    • Servicios de Cambios: permiten saber lo que el contenido ha cambiado desde la última vez que se ha marcado el contenido. Se pueden utilizar estos servicios de cambio para la indexación externa y para servicios de replicación.
    • Servicios de Control de Versiones: funcionan en paralelo a los servicios objeto y proporcionan los servicios de check-in y check-out, además de el historial de versiones de los objetos versionados.
    • Servicios de Relación: permiten crear, gestionar y acceder a las relaciones o asociaciones entre objetos.
    • Servicios de Políticas: se aplican sobre los objetos del repositorio. Las políticas son los objetos utilizados para implementar seguridad, registro o control.
    • Servicios de ACL: permiten crear, gestionar y acceder a las listas de control para controlar quién puede realizar ciertas operaciones sobre un objeto.
  • Modelo de objetos CMIS:
El modelo de objetos CMIS es similar al modelo de objetos de Alfresco excepto en cuanto a los aspectos. CMIS soporta tipos de objetos que definen las propiedades asociadas a cada tipo. Cada objeto tiene un tipo de objeto, propiedades definidas por ese tipo de objeto y un identificador de objeto.
Los tipos de objetos soportan herencia y pueden tener subtipos tanto para documentos como para carpetas. Los tipos de objetos de documento puede tener flujos de contenido para almacenar y acceder a los datos binarios. Los tipos de objetos también puede estar relacionados entre sí con relaciones de tipos.
    • Objeto Política o Directiva CMIS:
Un objeto de directiva representa una política administrativa que puede aplicarse a un repositorio, como una política de gestión de retención de información.
Una lista de control de acceso es un tipo de objeto de directiva. CMIS permite a las aplicaciones crear o aplicar ACLs. El repositorio de Alfresco también utiliza objetos de directiva para aplicar aspectos.
    • Objeto documento CMIS:
Los objetos documento tienen propiedades y enlaces para acceder a la información binaria que es el documento en si, pueden tener propiedades multivaluadas y versiones. También pueden tener transformaciones que los representan como por ejemplo un thumbnail.
    • Versiones:
Las versiones en CMIS son sencillamente la forma de controlar versiones de varios formas en diferentes implementaciones CMIS. Cada versión es un objeto independiente con su propia identificación de objeto. Con el identificador de un objeto determinado se puede obtener la versión actual o todas las versiones del objeto, así como eliminar una o varias versiones de un objeto.
    • Objeto carpeta:
Los objetos documento se almacenan en una jerarquía de carpetas. Al igual que en Alfresco, una carpeta puede estar dentro de otra para crear la jerarquía. La relación entre carpeta y documento es de muchos a muchos, si el repositorio soporta multi-presentación (multifiling), un documento puede estar presente en más de una carpeta.
  • Enlaces que te pueden interesar:
Os recuerdo que el próximo miércoles 27 de abril hacemos un webinar en español sobre Introducción a CMIS, te puedes registrar aquí http://www.alfresco.com/es/about/events/2011/04/introduccion_cmis/

Análisis e impresiones sobre el libro “Alfresco 3 Business Solutions”

Hace unas semanas terminé de leer este libro y que duda cabe que me ha parecido un manual muy aproximado al mundo real. Últimamente, durante algunas llamadas, charlas y reuniones, lo he estado recomendando por eso mismo. Como no puedo publicarlo entero, me parece interesante hacer un pequeño resumen sobre lo que más me ha gustado y lo que menos.
Una de las cosas que me parece más interesante es que usa como ejemplo continuo una compañía que tiene una serie de necesidades y durante el libro se van cubriendo con Alfresco. Esos requisitos se acercan mucho al día a día de los proyectos que conocemos, los que realizáis proyectos con Alfresco o queréis realizarlos, os sentiréis muy identificados con cada uno de los capítulos. Al ser un libro bastante reciente está basado en Alfresco Enterprise 3.3.3 y Community 3.4.a, que es otra ventaja.
Por ejemplo aquí podéis leer un capítulo completo sobre Migración de información a Alfresco mediante CIFS, ACP o Bulk Import Tool. Es un buen ejemplo de cómo está orientado el libro en su totalidad. Veréis cómo hacer las tareas, planificarlas en un proyecto real y contemplando tiempos de pruebas y pases a producción, cómo optimizarlas y sobre todo, qué problemas nos podemos ir encontrando y como solventarlos. Estoy seguro que aprenderéis opciones de optimización, scripts y trucos de los que no habíais oído hablar antes.
Se repasan las APIs disponibles para realizar integraciones y desarrollos, cómo empezar a desarrollar y realizar AMPs (Capítulos 2 y 3). Una de las funcionalidades más ampliamente cubiertas por el libro es la sección de autenticación, sincronización y uso o configuración de CIFS, en ese sentido es un trabajo muy completo. Incluso podremos aprender a configurar OpenLDAP para que autentique con Alfresco soportando CIFS (capítulos 4 y 5).
Para terminar, y que me ha llamado la atención porque no se suele ver en otros libros, es cómo organizar la jerarquía de espacios en Alfresco, personalización del modelo de datos en base a necesidades concretas, política de versiones, premisos y reglas, tomas de requisitos al respecto, etc. (Capítulo 6).
En definitiva, se nota que es un libro escrito por alguien con experiencia implantando Alfresco y cubre temas que nos vamos a encontrar en nuestro trabajo de instalación, configuración y desarrollo.
¿Qué le falta al libro? Posiblemente más información sobre clustering, dimensionamiento y arquitectura que es algo muy común a la hora de trabajar con Alfresco, aunque a lo largo de todo el libro podremos ver muchos diagramas de instalación e integración. De cualquier forma, esa información está a disposición de nuestros partners y clientes, y también hay mucha información pública al respecto.
Recuerda que el libro se puede comprar en papel, en pdf o en ambos.

Conoce el estándar CMIS: Introducción

Este es el primero de una serie de artículos en los que intentaré aportar mi grano de arena para conocer mejor este estándar del que hay mucha información en inglés y poca en español.
  • Introducción:

CMIS, que significa Content Management Interoperability Services, es un estándar OASIS diseñado por por los principales fabricantes de ECM y para la industria de ECM. CMIS permite acceder a los sistemas de gestión de contenidos que implementan CMIS, como Microsoft SharePoint, IBM FileNet, Documentum de EMC, y Alfresco en una forma normalizada e interoperable.

Con CMIS podemos crear aplicaciones que no tengan que limitarse a un sistema de gestión de contenidos concreto y permite asegurar el futuro de las aplicaciones desarrolladas e integradas con los repositorios con soporte CMIS. El estándar ofrece un catálogo completo de funcionalidades y es capaz de manejar una amplia variedad de sistemas de gestión de contenidos. Con CMIS podemos manejar los contenidos, metadatos de contenidos, control de versiones, contenidos de carpetas, asociaciones y transferencia de ficheros, también contempla un lenguaje de consulta, muy parecido a SQL, que permite hacer búsquedas por contenidos, metadatos, contenido de un documento, etc.

  • Implementación de CMIS en Alfresco

La implementación CMIS que incorpora Alfresco es la base para aplicaciones que se desarrollan e integran con ésta. Esto significa que los desarrollos satélites de Alfresco lo hacen mediante CMIS (Transfer Service, por ejemplo). Las dos formas de integrar vía CMIS son: usando la interfaz CMIS RESTful AtomPub mediante WebScripts o con mediante servicios web SOAP (ver abajo la URL de cada una de ellas).

Si vas a programar CMIS AtomPub en Java, puedes utilizar las librerías Apache AbderaAbdera proporciona implementaciones cliente y servidor Atom. Si quieres programar CMIS con PHP, puedes utilizar clientes PHP con soporte CMIS como este o echar un vistazo a la integración Alfresco-Drupal. También existen librerías CMIS .NET, Python, Flex o visita la web del proyecto Apache Chemistry donde encontrarás librerías para Java, Python, PHP y .Net.

A la hora de hacer una aplicación sobre Alfresco o integrar alguna existente, CMIS es la respuesta, os permitirá tener una aplicación portable a otros sistemas ya que podríamos hacer tareas como por ejemplo:

  • El uso o consulta de aspectos o propiedades.
  • Agregar o gestionar los flujos de trabajo.
  • Aplicar acciones o normativas.
  • Realizar operaciones de gestión de registros/expedientes.
  • Trabajar con la gestión de contenidos web.
  • Realizar cualquier gestión o tarea administrativa, la gestión o revisión de usuarios y grupos.
  • Integrar otros Web Scripts con el protocolo AtomPub de CMIS.
URLs a tener en cuenta cuando hablamos de CMIS y Alfresco:
En sucesivos artículos veremos más sobre CMIS, políticas, versiones, objetos, estructura, etc.