• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
TSB Alfresco Cobrand White tagline

Technology Services Group

  • Home
  • Products
    • Alfresco Enterprise Viewer
    • OpenContent Search
    • OpenContent Case
    • OpenContent Forms
    • OpenMigrate
    • OpenContent Web Services
    • OpenCapture
    • OpenOverlay
  • Solutions
    • Alfresco Content Accelerator for Claims Management
      • Claims Demo Series
    • Alfresco Content Accelerator for Policy & Procedure Management
      • Compliance Demo Series
    • OpenContent Accounts Payable
    • OpenContent Contract Management
    • OpenContent Batch Records
    • OpenContent Government
    • OpenContent Corporate Forms
    • OpenContent Construction Management
    • OpenContent Digital Archive
    • OpenContent Human Resources
    • OpenContent Patient Records
  • Platforms
    • Alfresco Consulting
      • Alfresco Case Study – Canadian Museum of Human Rights
      • Alfresco Case Study – New York Philharmonic
      • Alfresco Case Study – New York Property Insurance Underwriting Association
      • Alfresco Case Study – American Society for Clinical Pathology
      • Alfresco Case Study – American Association of Insurance Services
      • Alfresco Case Study – United Cerebral Palsy
    • HBase
    • DynamoDB
    • OpenText & Documentum Consulting
      • Upgrades – A Well Documented Approach
      • Life Science Solutions
        • Life Sciences Project Sampling
    • Veeva Consulting
    • Ephesoft
    • Workshare
  • Case Studies
    • White Papers
    • 11 Billion Document Migration
    • Learning Zone
    • Digital Asset Collection – Canadian Museum of Human Rights
    • Digital Archive and Retrieval – ASCP
    • Digital Archives – New York Philharmonic
    • Insurance Claim Processing – New York Property Insurance
    • Policy Forms Management with Machine Learning – AAIS
    • Liferay and Alfresco Portal – United Cerebral Palsy of Greater Chicago
  • About
    • Contact Us
  • Blog

Building a Services Layer for Alfresco – When CMIS is Not Enough

You are here: Home / Alfresco / Building a Services Layer for Alfresco – When CMIS is Not Enough

January 31, 2017

We’ve had a number of clients, especially those migrating from a legacy ECM platform, ask us about how to go about building a services layer for Alfresco.  Typically these clients have existing applications that use either a legacy API or proprietary services layer for the old platform.  One question that comes up is: “should we use CMIS”?  For this post, lets talk about what CMIS is and when it may not provide enough tools for your applications.

What is CMIS?

At it’s core, The Content Management Interoperability Services, known as CMIS, provide for a generic API layer that can be used against many different ECM systems.  From the CMIS 1.1 spec:

The Content Management Interoperability Services (CMIS) standard defines a domain model and Web Services, Restful AtomPub and browser (JSON) bindings that can be used by applications to work with one or more Content Management repositories/systems.

The CMIS interface is designed to be layered on top of existing Content Management systems and their existing programmatic interfaces. It is not intended to prescribe how specific features should be implemented within those CM systems, nor to exhaustively expose all of the CM system’s capabilities through the CMIS interfaces. Rather, it is intended to define a generic/universal set of capabilities provided by a CM system and a set of services for working with those capabilities.

CMIS Limitations

Since CMIS is an API that must be able to span many different ECM platforms, it becomes necessary to only support basic functionality common across each repository.  CMIS attempts to go beyond the very basic CRUD (Create Read Update Delete) commands, but there are still ECM features that do not exist.  When CMIS was first introduced, there were high hopes in 2010-2013 that “this was just the beginning” and that CMIS would commoditize the ECM industry.  For example, see this article from AIIM in late 2010.  The 1.1 spec was released in 2012, but as of early 2017 there have been no further CMIS spec releases.  CMIS has also been criticized as being more focused on Document Mangement vs. the whole of what clients use ECM platforms for.  Some examples:

  • Workflow – CMIS does not provide support for BPM / workflow functionality
  • Lifecycle – CMIS does not provide support for document lifecycles.  See this article for a detailed discussion of Alfresco versus Documentum as it relates to version, security and lifecycle.
  • Audit Trail – CMIS does not provide APIs to access the repository query audit trail.  We’ve also seen clients request custom audit entries as part of an application implementation as well.  CMIS does not provide APIs to place an audit trail item.
  • Rendition Creation – clients typically configure the ECM repository to automatically rendition documents into PDF when placed into the repository for easy view-ability in browser based applications.  This is typically an automatic action at the ECM server level, so it makes sense that there are no CMIS APIs related to creating a rendition.  However, we have had clients request functionality related to a user requesting a re-rendition of a document or providing a PDF rendition as a document upload.
  •  Version to Version Associations – as discussed in this post, Alfresco does not support version-to-version associations.  Therefore, if you require document annotations to stick on a particular version, or more complex controlled document versioning and security requirements, a CMIS-only approach will not work with Alfresco
  • Non-core ECM API functionality – we’ve seen clients request features that don’t necessarily fall into the CMIS realm; however, it is nice to have a single API to handle these types of items.  While we wouldn’t expect CMIS to support these requirements, many clients want functionality like:
    • PDF to Image transformations – for display of PDF pages for annotation, as in our OpenAnnotate product.
    • PDF Manipulation – give users the ability to split, merge, and rotate PDFs.
    • Checkout to Cloud – when checking out a document, place the document in the cloud (Ex: OneDrive or Google Drive) for easy web-based editing.
    • Download Multiple documents as a zip file.  For example – this could be from a list of documents, or exporting an entire folder as a zip.
  • High Performance – while performance concerns may be negligible for user-based applications, it could be noticeable in large batch scenarios like a document migration.  A 100 millisecond slowdown  won’t be noticeable when dealing with one document, but can become a big problem when working with millions.

Luckily, Alfresco has many APIs available, CMIS just being one of them.  TSG has been building our Rest-based OpenContent services layer since 2007 to satisfy client requirements around ECM repository functionality.  For clients that would like to go beyond the ECM basics with an Alfresco application, we’ve had a lot of success with our clients utilizing OpenContent or the other Alfresco APIs.

Filed Under: Alfresco, Product Suite

Reader Interactions

Comments

  1. Kyle Smith says

    April 4, 2017 at 10:18 am

    Very applicable to our work: great article. We are finding that in FileNet, the CMIS server JVM is costly in terms of processing and memory.

    Reply

Trackbacks

  1. Alfresco – ADF and OpenContent Comparison- REST Web Services says:
    July 19, 2018 at 1:25 pm

    […] CMIS services.  See here for more information on Alfresco CMIS.  Additionally, see our post on Building a Service Layer for Alfresco – When is CMIS not enough for additional detail on some of the gaps of […]

    Reply

Leave a Reply Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Search

Related Posts

  • Microsoft Teams integration and the Alfresco Enterprise Viewer for Document Review
  • Redaction – a focus on efficiency with Alfresco Enterprise Viewer
  • Zoom integration and the Alfresco Enterprise Viewer for Document Review
  • Alfresco Enterprise Viewer – Offline Annotation for Efficient Review
  • Alfresco Enterprise Viewer: Enabling Pharmaceutical and Covid-19 Teams to Function more Efficiently to Fight the Pandemic
  • OpenAnnotate is now Alfresco Enterprise Viewer
  • Alfresco – Do More with OpenAnnotate
  • Redaction for AWS, Alfresco, Documentum and Hadoop – Bulk Redaction upon Ingestion or Migration
  • Suggested Redactions for Documentum, Alfresco or Hadoop using OpenRedact
  • ECM Roadmap – Thoughts on Planning for the Future

Recent Posts

  • Alfresco Content Accelerator and Alfresco Enterprise Viewer – Improving User Collaboration Efficiency
  • Alfresco Content Accelerator – Document Notification Distribution Lists
  • Alfresco Webinar – Productivity Anywhere: How modern claim and policy document processing can help the new work-from-home normal succeed
  • Alfresco – Viewing Annotations on Versions
  • Alfresco Content Accelerator – Collaboration Enhancements
stacks-of-paper

11 BILLION DOCUMENT
BENCHMARK
OVERVIEW

Learn how TSG was able to leverage DynamoDB, S3, ElasticSearch & AWS to successfully migrate 11 Billion documents.

Download White Paper

Footer

Search

Contact

22 West Washington St
5th Floor
Chicago, IL 60602

inquiry@tsgrp.com

312.372.7777

Copyright © 2023 · Technology Services Group, Inc. · Log in

This website uses cookies to improve your experience. Please accept this site's cookies, but you can opt-out if you wish. Privacy Policy ACCEPT | Cookie settings
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT