Opencms a partir de su versión 8.5 cumple con la especificación CMIS.
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 de 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…
Esto está muy bien, pero ahora necesitamos herramientas y librerías a ser posible OpenSource que nos permitan desarrollar esta nueva potencia, esto lo conseguimos con: Apache Chemistry OpenCMIS que es una colección de librerías Java, frameworks y herramientas basadas en la especificación CMIS.
Podemos descargarnos la herramienta: Apache Chemistry CMIS Workbench para utilizar como cliente para acceder via CMIS a opencms.
Una vez descargada solo tenemos que ejecutar workbench.sh o workbench.bat
Nos conectaremos a nuestro repositorio Opencms configurando el Login con los siguientes parametros:
(En una instalación típica)
URL: http://localhost:8080/opencms/cmsiatom/
Binding: AtomPub
Username: Admin
Password: admin
>>Load Repositorios – seleccionamos el cmis-offline (por ejemplo)
>>Hacemos login
Accedemos a la aplicación desde la cual podemos crear documentos, carpetas, modificar propiedades, pasar diversos tests de interoperabilidad CMIS para nuestro repositorio y realizar consultas utilizando un languaje SQL style o mediante scripts Grovy etc..: