2.90:CMIS Connection (Node Type)

From Grooper Wiki

CMIS Connections allow Grooper to connect to external storage platforms for import and export operations.

Which platform is connected is defined by the CMIS Connection's "Connection Type" property. The CMIS Connection points to one or more locations in the platform where files are stored (referred to as "repositories"), from which documents and their metadata can be brought into Grooper. Further, documents can be processed and exported to said repository.

Currently, Grooper is able access external storage platforms using the following Connection Types:

  • AppXtender document management platform
  • CMIS 1.0 or 1.1 servers
  • Microsoft Exchange email servers
  • Microsoft OneDrive cloud storage
  • Microsoft SharePoint sites
  • Filebound document management system
  • FTP servers
  • IMAP email servers
  • NTFS folders.

About

CMIS stands for Content Management Interoperability Services.  It is an open standard that allows different content management systems to inter-operate over the Internet.  This allows Grooper to use many different platforms (such as AppXtender, or Microsoft SharePoint, or even just the Windows file system) for importing and exporting documents and their contents.  Once a CMIS Connection is created, Grooper can exchange documents with these platforms.

Upon connecting to an external content management system, Grooper will be able to see the "repositories" associated with it.  A repository, in computer science, is a general term for a location where data lives. Different systems refer to "repositories" in different ways.  An email inbox could be a repository. A folder in Windows could be a repository. A cabinet in ApplicationXtender could be a repository.

For our purposes, repositories are like filing cabinets full of documents.  Once a connection is established, it's like giving Grooper a key to that cabinet.  Before you can start input and output tasks, you'll first need to "import" the repository.  This doesn't import data into Grooper in the traditional sense of importing documents into a batch.  Instead, it creates a CMIS Repository object under your connection, which acts like a link between Grooper and the storage platform.  "Importing" here is more like bringing the repository into a framework Grooper can use.  If this was still a filing cabinet, each drawer would be a repository and "importing" them is like unlocking and opening the drawer.  You can now see there are documents in there, and using this "open" connection to the "drawer" you are able to put documents in and take them out.

Use Cases

Grooper has the ability to connect to the following storage platforms via the "Connection Type" property when adding a new CMIS Connection.

Version Differences

2.72 CMIS+ Infrastructure

As of 2.72, Grooper utilizes what we call the CMIS+ infrastructure.  This unifies all content platforms under a single framework as CMIS endpoints.  Prior to version 2.72, there was only one type of CMIS Connection, a CMIS connection using CMIS 1.0 or CMIS 1.1 servers. Now, connections to additional non-CMIS document storage platforms can be made via "CMIS Bindings".

The settings and logic used to connect Grooper to an individual storage platform is contained in its corresponding CMIS Binding. For example, the AppXtender Binding contains all the information Grooper uses to connect to the ApplicationXtender content management system. Which binding you use (and therefore which platform you connect to) is set by creating a CMIS Connection and choosing the appropriate binding as the "Connection Type".

Using this architecture, Grooper is able to create a more standardized import and export workflow. You now use CMIS Import and CMIS Export providers regardless of the storage platform. They connect to a CMIS Repository imported from a CMIS Connection and use that as Grooper's import or export path.

Only how you create a CMIS Connection differs from CMIS Binding to CMIS Binding, as each binding has a different way of connecting to it (You don't connect to an Outlook inbox the same way you connect to a Windows file folder, for example).

2.72 Legacy Providers

Old import and export providers should be replaced with this new functionality. While Grooper's older import and export providers are available as "Legacy Import" and "Legacy Export" providers, these components are depreciated. They will still function but will no longer be upgraded in future versions of Grooper.

Grooper can import documents using CMIS Connections via "Import Descendents" and "Import Query Results". Grooper can export via the CMIS Export providers, Mapped Export and Unmapped Export.

2.72 New Connection Types

By creating the CMIS+ architecture, we have been able to create new connections between Grooper and content management systems. Grooper can now connect to Microsoft OneDrive, SharePoint, and Exchange via new CMIS Bindings. Since these were created as CMIS Bindings, they can be used by CMIS Import and CMIS Export providers. Instead of have to create three new import providers and three new export providers for a total of six brand new components, we can use the already created import and export providers in the CMIS+ framework. A user can create a CMIS Connection using the OneDrive, SharePoint or Exchange Bindings, and use the same import and export provider for them as any of the other CMIS Bindings.

This will also allow Grooper to create CMIS Bindings to connect to currently unavailable content management systems in the future much quicker and easier.

How To

Create a CMIS Connection

These are very general instructions on how to add a CMIS Connection to Grooper. Which document storage platform you connect to is determined by the "Connection Type" property. For specific instructions on how to connect to specific document storage platforms, refer to each one's CMIS Binding article, linked below.

In the node tree, navigate to the "CMIS Connections" folder under the "Infrastructure" folder.



Right click the "CMIS Connections" folder.  Hover over "Add", and select "CMIS Connection...".



Name the CMIS Connection and press the "OK" button.



In the CMIS Connection tab, select the desired input/output platform from the list under "Connection Type".



Configure the properties under the "Connection Settings" section. Note that these settings will be different for each Connection Type.



Press the "Save" button.



Import a Repository

In the node tree, navigate to the "CMIS Connections" folder under the "Infrastructure" folder. Select the desired connection.



Press the List Repositories button.



Select an item in the repository list.



Click the import repository button.



As you can see, a new repository has populated under our CMIS connection. We can now use this repository for input and output operations.



Upon import, you are able to fully view files and folders in that repository directly from Grooper in the Browse Repository tab. You can also delete, copy and paste files directly from this window, meaning this is a direct 1 to 1 connection with the connected repository.  With certain connection types, you may even be able to create new folders.

The Search Repository tab allows you to query repositories to find documents or folders in a CMIS Repository based on certain properties, such as a subject line in a mail message or a file extension. 

2.72 has expanded query capabilities via SQL-like queries:

  • All bindings except NTFS, FTP, SFTP and OneDrive support full text search via the ##CONTAINS## predicate. The OneDrive binding will support full text in the next release.
  • Expanded CMISQL Syntax:  This adds support for CMISQL to provide several new features.
    • CONTAINS predicate - Allows full text search
    • IN predicate - Specifies a list of allowed values for a property, such as defining a file extension (i.e: FileExtension IN ('.pdf', '.docx', '.xlsx'). 
    • IS predicate - Either IS NULL or IS NOT NULL
    • NOT operator - Inverts the logic of individual predicates or a group enclosed by parentheses.  Note: some CMIS Bindings have limited support for the NOT operator.
    • Unlimited nesting