Archive

Posts Tagged ‘alfresco’

cmislib, cliente CMIS en python

May 23rd, 2010

A finales de agosto del año pasado comencé un nuevo proyecto, un plugin para Trac que permitiese su integración con Alfresco. Desde entonces mucho ha llovido, especialmente este año. Cuando comencé no encontré ninguna librería que facilitase el trabajo con el Restful API que proporciona Alfresco y comencé un pequeño cliente para este proyecto. Más adelante pensé que si el cliente maduraba, quizás me convendría liberarlo de forma independiente al plugin para que otros pudieran evolucionarlo y mejorarlo. Yo sólo quería implementar los métodos más básicos.

Los momentos de standby son realmente malos para cualquier proyecto, pero lo son especialmente para proyectos en los que sólo hay una persona y su planificación no se extiende más allá de tres meses para la primera versión. Con el nacimiento de klicap, decidimos impulsar este plugin y en ello estamos. Antes de retomarlo, analicé el trabajo realizado y me cuestioné algunas decisiones previas. Durante esos días, descubrí cmislib. Según he pedido comprobar, su primer commit tiene fecha de mediados de diciembre de 2009. Su autor es Jeff Potts, presidente y CEO en Metaversant Group, Inc., donde parece que es el único empleado. Esta librería, escrita en python, forma parte del proyecto (en incubación) Apache Chemistry. Éste último tiene como objetivo proporcionar librerías cliente para trabajar con soluciones que implementen la especificación CMIS. La librería no está completa, aun quedan funcionalidades por implementar, pero desde luego su última versión 0.3 publicada es estable y cubre gran parte de la especificación. Teniendo en cuenta que la versión 1.0 de la especificación de CMIS tiene fecha 1 de mayo de 2010, sólo me queda agradecer el excelente trabajo de Jeff.

Esto se traduce en que he dejado de implementar mi propio cliente, y he comenzado a usar esta librería. Esto hace incluso que me planté el nombre del plugin, porque ahora podemos integrar Trac con Alfresco, Nuxeo y otros ECM que implementen CMIS. Desde @klicap haremos lo posible por colaborar en este proyecto.

Comprobar que Alfresco REST API está disponible

November 12th, 2009

Para el plugin de Trac que estoy desarrollando (en los huecos que tengo) estoy desarrollando un pequeño cliente en python que me permita trabajar cómodamente con Alfresco REST API, especialmente con CMIS Web Reference. Uno de los métodos que necesitaba para este cliente es aquel que me permitiese comprobar si la configuración para trabajar con el API era correcta. Comprobar eso lleva implícito comprobar que Alfresco está disponible (se tiene acceso HTTP).

La configuración del plugin en relación a Alfresco es muy simple:

  • Usuario y contraseña (credenciales)
  • URL base en la que se publica RESTful API

Dejo por aquí el fragmento de código:

def is_alive(self):
    isAlive_service = self.__url_api + '/login' +  '?u=dummy&pw=dummy'
    self.__log.debug('Restful Service: ' + isAlive_service)
    try:
        response, content = self.__http.request(isAlive_service, 'GET')
        if response.status == httplib.FORBIDDEN:
            self.__log.debug('Alfresco RESTful API is alive')
            return True
        else:
            self.__log.debug('Alfresco RESTful API is not alive')
            return False
    except:
        self.__log.debug('Alfresco RESTful API is not alive')
        return False

Cualquier sugerencia será bienvenida.

Alfresco Trac Integration Plugin

August 27th, 2009

Así de rimbombante es el nombre del nuevo proyecto en el que estoy dedicando esos ratos, que sumados, pueden dar como resultado una versión de algo. Como se puede deducir es un plugin para Trac (0.11.x o superior) que tiene como principal objetivo mejorar la gestión de los documentos en aquellos ecosistemas que usan Trac.

Por ahora no hay nada que enseñar. Nunca había desarrollado con python y menos aun, plugins para Trac. Por lo tanto, los primeros ratos los estoy dedicando a conocer el lenguaje, ver código de otros y configurar un entorno de desarrollo aceptable. A continuación algunas ideas para este plugin:

  1. Que permita navegar por los documentos de un proyecto de forma similar a como lo hacemos por el repositorio de subversion u utros SCM.
  2. Búsqueda de documentos teniendo en cuenta sus metadatos
  3. Posibilidad de referenciar a los documentos al igual que se hacen con tickets, milestones, etc…
  4. Explotar el versionado que proporciona Alfresco
  5. Incorporar nuevos documentos

Cualquier sugerencia será bienvenida. Para ello sólo tenéis que dar de alta un nuevo ticket.

Drupal y Alfresco consolidan su amistad

March 24th, 2009

A mediados de enero, escribía una entrada con el título “Drupal y Alfresco se conocen libremente“. Prueba de esa libertad es que ayer, volvíamos a publicar una nueva versión de este módulo de Drupal que permite su integración con Alfresco. Esta nueva versión incluye mejoras considerables en usabilidad, rendimiento y eliminación de código fuente prescindible. A continuación una captura de pantalla del sub-módulo alfresco_browser:

Alfresco Module

Este submódulo es una de los principales atractivos de esta nueva versión:

  1. Visualización de documentos y sus metadatos
  2. Navegación por los distintos espacios
  3. Búsquedas
  4. Creación de contenidos en Drupal a partir de los propios documentos.

Sólo me queda dar la enhorabuena a mi compañero Sergio Martín por su excelente trabajo. Desde luego esta, y otras cosas, son las que me hacen disfrutar día a día de mi trabajo.

Drupal y Alfresco se conocen libremente

January 14th, 2009

La idea de integrar Drupal y Alfresco me rondaba por la cabeza desde marzo de 2008. Esto es una prueba más de que las ideas por sí solas valen poco (no siempre claro está), el verdadero valor está en materializarlas y llevarlas a cabo. La constancia y el esfuerzo marcan una diferencia en la trayectoria profesional de algunas personas.

En esta ocasión ha sido mi compañero y amigo Sergio Martín quien aceptó el reto y los resultados no se han hecho esperar. Desde hace unas horas está disponible para la comunidad de Drupal un módulo que nos permite su integración con Alfreso.

Para conocer las posibilidades de este módulo sólo hay que acceder a su página oficinal. Las posibilidades del módulo son múltiples.

  • ¿Por qué preocuparse de que Drupal gestione los archivos que necesitamos publicar en un sitio web si para eso ya están los gestores documentales? Dejemos que Drupal y Alfresco se encarguen de lo que verdaderamente saben.
  • La integración entre ambas soluciones se realiza usando HTTP-SOAP. Una prueba más de que la orientación a servicios flexibiliza muchísimo la interoperabilidad entre distintas soluciones.
  • ¿Rendimiento? Aun estamos pendientes de obtener algunos datos objetivos.
  • ¿Configuración? Muy sencilla, URL donde Alfresco tiene publicado su API HTTP-SOAP, usuario/contraseña, metadatos con los que deseamos trabajar y poco más.
  • ¿Podemos referenciar los documentos desde otros tipos de contenido? Sí, gracias al submódulo alfresco_attach.module dado que el módulo principal proporciona un nuevo tipo de contenido (Alfresco item) perfectamente referenciable.
  • Para mejorar la usabilidad existe el submódulo alfresco_import.module que nos permite importar de forma sencilla documentos a partir de un espacio de trabajo de Alfresco.

La versión que se ha publicado es un beta (6.x-1.0-beta) y nuestra intención es mantener y evolucionar el módulo. Evidentemente habrá incidencias que se tendrán que solucionar pero también tenemos nuevas funcionalides que no tardarán en llegar.

Te lo he dicho muchas veces, Sergio eres un crack. Lo mejor de todo es que estoy rodeado de otros tantos crack como él y entre todos creo que formamos un buen equipo. Gracias a todos.

Switch to our mobile site