# CMIS

CMIS (Content Management Interoperability Services) est un standard ouvert géré par OASIS. Son but est d'augmenter l'interopérabilité entre les systèmes de gestion de contenu (gestion électronique des documents, gestion de contenu d'entreprise,...).

## Concept

CMIS fournit un modèle de données commun couvrant les types de fichiers et répertoires avec des propriétés génériques pouvant être lues ou écrites. CMIS décrit aussi un système de gestion des droits d'accès, de contrôle de version et offre la possibilité de définir des relations génériques. Il dispose d'un ensemble de services pour modifier ou interroger le modèle de données et peut être utilisé par plusieurs protocoles comme SOAP et REST à l'aide de la convention Atom. Le modèle est basé sur des architectures communes de systèmes de gestion de documents.

## Historique

Le débat sur CMIS a débuté en 2005. En 2008, une fois la version 0.5 publiée, sa gestion est confiée à OASIS, un consortium de standards du Web. En mai 2010, la version 1.0 est officialisée. OASIS a approuvé CMIS en tant que spécification le 1er Mai 2010. La dernière spécification date de Mai 2013 avec la version 1.1. Depuis une extension a été ajoutée en Mars 2014 pour prendre en compte une empreinte (hash) sur le contenu du document.
Bien qu'initié par AIIM, CMIS est maintenant administré par OASIS, composé de Adobe Systems, Alfresco, EMC, eXo Platform, FatWire, HP, IBM, ISIS Papyrus, Liferay, Microsoft, Open Text, Oracle et SAP. Le standard est accessible au public pour qu'il puisse faire part de ses commentaires sur le site de l'OASIS.

## Liste des implémentations
### Serveur CMIS

| Logiciel | Capacités | Open source | Notes |
| Acropolis 3.9.5+ | ACL=manage AllVersionsSearchable=false Changes=properties ContentStreamUpdatability=anytime GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=true PWCUpdatable=true Query=bothcombined Renditions=none Unfiling=true VersionSpecificFiling=false Join=none | Non | Connecteur CMIS pour Acropolis ECM. Supporte AtomPub et Web Services, édité par Odyssée Ingénierie. |
| Alfresco 3.3+ | ACL=manage AllVersionsSearchable=false Changes=objectidsonly ContentStreamUpdatability=anytime GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=true PWCUpdatable=true Query=bothcombined Renditions=read Unfiling=false VersionSpecificFiling=false Join=none | Oui | |
| Apache Chemistry InMemory Server 0.5 | ACL=none AllVersionsSearchable=false Changes=properties ContentStreamUpdatability=pwconly GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=false PWCUpdatable=true Query=metadataonly Renditions=none Unfiling=true VersionSpecificFiling=false Join=none | Oui | Garde toutes les données en mémoire. Prévu pour être utilisé non en production mais à des fins de tests et de développement. |
| CincomECM CMIS connector | Inconnu | Oui | Forké de NemakiWare |
| Day Software CRX 2.1+ | Inconnu | Non | |
| Docuthèque 4.2+ | GetDescendants=true GetFolderTree=false ContentStreamUpdatability=none Changes=none Renditions=none Multifiling=false Unfiling=false VersionSpecificFiling=false PWCUpdatable=false PWCSearchable=false AllVersionsSearchable=false Query=none Join=none ACL=none | Non | GetDescendants=true : supporté par nos API Connecteur CMIS pour Docuthèque. Supporte AtomPub. Permet la publication de contenu sur mobile. |
| Numen/Doxtreem | ACL=manage AllVersionsSearchable=true Changes=all ContentStreamUpdatability=pwconly GetDescendants=true GetFolderTree=true Join=innerandouter Multifiling=true OrderBy=none PWCSearchable=true PWCUpdatable=true Query=bothcombined Renditions=read Unfiling=true VersionSpecificFiling=true | Oui | Conforme à CMIS 1.1 |
| ELO V9+ ELO Professional et ELO Enterprise | ACL=manage AllVersionsSearchable=false Changes=true ContentStreamUpdatability=none GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=false PWCUpdatable=false Query=true Renditions=read Unfiling=true VersionSpecificFiling=false Join=none | Non | Ce module permet de consulter l’ensemble des documents et dossiers. Il peut être connecté à des clients CMIS 1.0 et 1.1. Le connecteur fonctionne en AtomPub, SOAP ou JSON Binding. |
| Open Text Documentum 6.7 | ACL=manage AllVersionsSearchable=true Changes=none ContentStreamUpdatability=anytime GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=false PWCUpdatable=false Query=With Fulltext: bothcombined; Without Fulltext: metadataonly Renditions=read (not implemented for folders) Unfiling=false VersionSpecificFiling=false Join=inneronly | Non | |
| eXo Platform avec xCMIS | Inconnu | Oui | |
| Fabasoft (en) | GetDescendants=true GetFolderTree=true Multifiling support=true ContentStreamUpdatability=anytime | Non | Fournit des extensions au noyau de la spécification CMIS pour supporter des "aspects" |
| IBM FileNet 5.0 | Inconnu | Non | |
| IBM Connections Files 3.0 | Inconnu | Non | Seuls les documents sont accessibles via CMIS, les autres types de contenu sont inaccessibles. |
| IBM LotusLive Files | Inconnu | Non | |
| IBM Lotus Quickr 8.5 Lists | Inconnu | Non | Seules les listes de données sont accessibles via CMIS, les autres types de contenu sont inaccessibles. |
| ISIS Papyrus Objects | ACL=none AllVersionsSearchable=true Changes=none ContentStreamUpdatability=none GetDescendants=true GetFolderTree=true Multifiling=true PWCSearchable=false PWCUpdatable=false Query=none Renditions=none Unfiling=false VersionSpecificFiling=false Join=none | Non | Ce module expose les objets définis dans le dépôt Papyrus. |
| KnowledgeTree 3.7+ | Inconnu | Oui | |
| LogicalDOC 6.8.1 | ACL=none AllVersionsSearchable=false Changes=properties ContentStreamUpdatability=pwconly GetDescendants=true GetFolderTree=true Multifiling=false PWCSearchable=false PWCUpdatable=true Query=metadataonly Renditions=none Unfiling=true VersionSpecificFiling=false Join=none | Oui | Permet de consulter l’ensemble des documents enregistrés sous LogicalDOC (Fichiers et dossiers). Les requêtes sont orientées sur les documents. |
| Maarch 1.3+ | AACL=none AllVersionsSearchable=false Changes=none ContentStreamUpdatability=none GetDescendants=true GetFolderTree=false Multifiling=false PWCSearchable=false PWCUpdatable=false Query=metadataonly Renditions=none Unfiling=true VersionSpecificFiling=false Join=none | Oui | Permet de consulter l’ensemble des documents enregistrés sous Maarch (fichiers, contenu des corbeilles). Les requêtes sont orientées sur les documents. |
| Microsoft SharePoint Server 2010 | Inconnu | Non | Nécessite l'installation du kit de ressources d'administration ou de CMIS4SharePoint. |
| Microsoft SharePoint Server 2013+ | Inconnu | Non | |
| NCMIS | Inconnu | Oui | |
| NemakiWare | ACL=manage AllVersionsSearchable=false Changes=objectidsony ContentSreamUpdatability=anytime GetDescendants=true GetFolderTree=true Multifiling=false Unfiling=false PWCSearchable=false PWCUpdatable=true VersionSpecificFiling=false OrderBy=custom Query=bothcombined Renditions=none | Oui | Conforme à CMIS 1.1 |
| Nuxeo DM 5.3+ et DAM 1.1+ | ACL=none AllVersionsSearchable=true Changes=objectidsonly ContentStreamUpdatability=pwconly GetDescendants=true GetFolderTree=true Multifiling=false PWCSearchable=true PWCUpdatable=true Query=bothcombined Renditions=read Unfiling=false VersionSpecificFiling=false Join=innerandouter | Oui | Les documents proxy et le flux de contenu secondaires ne sont pas accessibles via CMIS |
| O3spaces 3.2+ | Inconnu | Non | |
| OpenIMS | ContentStreamUpdatability=anytime GetDescendants=true GetFolderTree=true PWCSearchable=true | Oui | Complètement intégré dans OpenIMS DMS. |
| OpenText | Private Working Copy=TRUE PWC updatable=TRUE PWC searchable=TRUE ACL=MANAGE ACL propagation=OBJECTONLY ACL supported=BOTH Changes=NONE ContentStreamUpdatability=ANYTIME GetDescendants=TRUE GetFolderTree=TRUE Query=BOTHCOMBINED All versions searchable=TRUE Join Capability=NONE Multifiling support=FALSE Unfiling support=FALSE Version specific filing=FALSE Renditions=NONE | Non | Avec la publication de ECM Suite 2010, OpenText fourni un support CMIS. Ces capacités sont implémentées à travers un connecteur CMIS par-dessus Enterprise Library Services 10.2.0. |
| OpenWGA 5.2+ | Inconnu | Non | |
| Seapine Surround SCM 2011.1 | Inconnu | Non | |
| Sense/Net 6.0+ | Inconnu | Oui | |
| Storage SEAL | Inconnu | Non | |
| VB.CMIS | Inconnu | Oui | |

### Clients CMIS

| Logiciel | Type | Technologie | Libre | Notes |
| ActiveCMIS | Bibliothèque | Ruby | Oui | |
| cmislib (sous-projet d'Apache Chemistry) | Bibliothèque | Python | Oui | |
| CmisSync | Application | C# | Oui | Synchronisation, similaire à Dropbox. |
| CMIS PHPlib | Bibliothèque | PHP | Oui | |
| cmis-php-client (sous-projet de Apache Chemistry) | Bibliothèque | PHP | Oui | |
| CMIS Spaces | Application | Flex/ActionScript | Oui | Client Flex+AIR RIA avec glisser/déposer, Client Flex+Browser RIA, Portlet, bibliothèques ActionScript (AtomPub REST et SOAP). |
| Confluence + Crowd 3.5+/2.2.2+ | Application | Java | Non | |
| Constellio | Application | Java | Oui | Recherche fédérée. |
| DITALabs DITA CMIS Explorer | Application | PHP/ExtJS | Oui | |
| DotCMIS (sous-projet de Apache Chemistry) | Bibliothèque | .NET | Oui | |
| Drupal 6.x | Application | PHP | Oui | Peut être configuré comme un navigateur CMIS. |
| ECM Mobile | Application | Java | Oui | Explorateur de fichiers mobile. |
| enprovia Mobile Enabler | Application | Java | Non | |
| eXo Platform 4.2 | Application | Java | Oui | Expose un serveur CMIS dans l'application documentaire. |
| Hippo CMS | Application | Java | Oui | Peut être configuré comme un navigateur CMIS. |
| libcmis | Bibliothèque | C/C++ | Oui | |
| LibreOffice 4.0 | Application | C++ | Oui | Utilise libcmis. |
| Liferay 6.1 | Application | Java | Oui | Synchronise le dépôt de documents de Liferay avec un serveur CMIS. |
| NCMIS | Bibliothèque | .NET | Oui | |
| OpenCMIS (sous-projet de Apache Chemistry) | Bibliothèque | Java | Oui | Inclut également un serveur CMIS minimal. |
| OpenIMS | Application | PHP | Oui | Synchronise un dépôt de documents avec un serveur CMIS. |
| OpenWorkdesk (WeWebU Software AG) | Application | Java/ExtJS | Oui | Une suite applicative (pas seulement un navigateur CMIS) pour la GED avec une interface Web 2.0. |
| Papyrus CMIS Adapter | Application | Papyrus Objects | Non | Le module communique avec des dépôts CMIS directement à l'aide de Papyrus Query Language (PQL). |
| Pega BPM | Application | ? | Non | Le connecteur Connect-CMIS Permet une connectivité avec n'importe quel serveur CMIS pour Pega BPM. |
| SilverStripe | Application | PHP | Oui | Le module CMIS Connector intègre du contenu externe dans le CMS SilverStripe via une connexion CMIS. |
| Spark Archives | Application | Java | Non | Spark Archives CMIS Connector est un connecteur disponible sur la gamme SAAE. |
| TYPO3 | Application | PHP | Oui | |
| WordPress | Application | PHP | Oui | Peut être configuré comme un navigateur CMIS. |
| Zero-Install Desktop Integration (ZIDI) (WeWebU Software AG) | Application | Java/ExtJS | Non | ZIDI expose des fragments d'un dépôt ECM comme répertoires partagés pouvant être montés en tant que disques réseaux. |