2021:CMIS Connection (Node Type): Difference between revisions

From Grooper Wiki
Created page with "<onlyinclude> <blockquote style="font-size:14pt"> '''CMIS Connections''' allow Grooper to connect to external storage platforms for import and export operations. </blockquote>..."
 
No edit summary
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<onlyinclude>
{{AutoVersion}}
<blockquote style="font-size:14pt">
 
'''CMIS Connections''' allow Grooper to connect to external storage platforms for import and export operations.
<blockquote>{{#lst:Glossary|CMIS Connection}}</blockquote>
</blockquote>


Grooper is able to connect to a variety of storage platforms, from simple file systems (such as Windows native NTFS system), to email sources, to full-fledged content management systems.  The '''CMIS Connection''' object allows you to configure connection settings, allowing Grooper to integrate import and export control.  With these settings saved on a Grooper object, they are easily referenced by an '''Import Watcher''' service or '''''Export Behaviors''''' applied by the '''[[Export]]''' activity for automated batch processing.   
Grooper is able to connect to a variety of storage platforms, from simple file systems (such as Windows native NTFS system), to email sources, to full-fledged content management systems.  The '''CMIS Connection''' object allows you to configure connection settings, allowing Grooper to integrate import and export control.  With these settings saved on a Grooper object, they are easily referenced by an '''Import Watcher''' service or '''''Export Behaviors''''' applied by the '''[[Export]]''' activity for automated batch processing.   
Line 9: Line 8:


Furthermore, Grooper has import and export access to metadata available to the particular platform.  For example, sender and receipt metadata from emails received from email servers.  This also gives Grooper the ability to map extracted data elements from documents to corresponding data element locations in a content management system.
Furthermore, Grooper has import and export access to metadata available to the particular platform.  For example, sender and receipt metadata from emails received from email servers.  This also gives Grooper the ability to map extracted data elements from documents to corresponding data element locations in a content management system.
</onlyinclude>
== 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 standard protocol allows Grooper to use many different platforms for importing and exporting documents and their contents.  Once a '''CMIS Connection''' is created, Grooper can exchange documents with these platforms.  "Interoperability " means Grooper has the same access to control the system as a human being does.  It is a "one-to-one" connection to the platform, allowing full and total control.
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.  It's a place to put things.  We standardize the various terms used by various storage platforms to simply "repository". 
These repositories are "imported" into Grooper as a '''[[CMIS Repository]]''' object, as a child of the '''CMIS Connection''' object.  This doesn't import data into Grooper in the traditional sense of importing documents into a new '''Batch'''.  "Importing" here is more like bringing the repository into a framework Grooper can use.  Upon importing the repository, Grooper has full file access to that location in the storage platform.
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.  You can open the various drawers of that cabinet.  You can pull out files and put files into.  The storage platform or content management system is like the cabinet. 
* The '''CMIS Connection''' object is like the key.
* The '''CMIS Repository''' object is like a drawer in the cabinet.
* You "connect" to the cabinet by turning the key.  You "import" the repository by opening the drawer.  Now you can see there are documents in there!  You can take them out.  You can read them and put them back in.  You can put new ones in.  You can use this "open" connection to the "drawer" however you need.
== CMIS+ Architecture ==
Grooper expanded on this idea in version 2.72 to create our [[CMIS+]] architecture. CMIS+ unifies all content platforms under a single framework as if they were traditional CMIS endpoints.  Prior to version 2.72, there was only one type of '''CMIS Connection''', a true 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 Binding]]s''".  This provides standardized access to document content and metadata across a variety of external storage platforms.
Using this architecture, Grooper is able to create a simpler and more efficient import and export workflow, using a variety of storage platforms.  You now use the [[CMIS Import]] '''''Import Provider''''' and the ''[[CMIS Export]]'' '''''Export Type''''', 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.
How you create a '''CMIS Connection''' only 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.  Thus, the property configuration for the ''Exchange'' binding is different from the ''NTFS'' binding.
=== CMIS Bindings ===
A ''CMIS Binding'' provides connectivity to external storage platforms for content import and export.  Grooper's CMIS+ architecture expands connectivity from traditional CMIS servers to a variety of on-premise and cloud-based storage platforms by exposing connections to these platforms as ''CMIS Bindings''. 
Each individual ''CMIS Binding'' contains the settings and logic required to exchange documents between Grooper and each distinct platform.  For example, the ''AppXtender Binding'' contains all the information Grooper uses to connect to the ApplicationXtender content management system.
''CMIS Bindings'' are used when creating a '''CMIS Connection''' object.  The first step to creating a '''CMIS Connection''' is to configure the '''''Connection Type''''' property.  Which binding you use (and therefore which platform you connect to) is set here.  First, the user selects which ''CMIS Binding'' they want to use, selecting which storage platform they want to connect to.  The second step is to enter the connection settings for that binding, such as login information for many bindings.
=== Current CMIS Bindings ===
Grooper can connect to the following storage platforms using below using ''CMIS Bindings'':


* The [[AppXtender (CMIS Binding)|ApplicationXtender]] document management platform.
{{#lst:CMIS+|cmisplus}}
* The [[Box (CMIS Binding)|Box]] cloud storage platform.
* The [[FileBound (CMIS Binding)|FileBound]] document management platform.
* [[CMIS (CMIS Binding)|Content management systems]] using CMIS 1.0 or CMIS 1.1 servers.
* The following Microsoft content platforms
** The [[Exchange (CMIS Binding)|Microsoft Exchange]] mail server platform.
** The [[OneDrive (CMIS Binding)|Microsoft OneDrive]] cloud storage platform.
** [[SharePoint (CMIS Binding)|Microsoft SharePoint]] sites.
* [[FTP (CMIS Binding)|FTP]] (File Transfer Protocol) and [[SFTP (CMIS Binding)|SFTP]] (SSH File Transfer Protocol) servers.
* [[IMAP (CMIS Binding)|IMAP]] mail servers
* The Microsoft Windows [[NTFS (CMIS Binding)|NTFS]] file system.


== How To ==
== How To ==
=== Create a CMIS Connection and Import a Repository ===
=== Create a CMIS Connection and Import a Repository ===
 
The following 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.
The following 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.
 
* ''[[AppXtender (CMIS Binding)]]''
* ''[[FileBound (CMIS Binding)]]''
* ''[[CMIS (CMIS Binding)]]''
* ''[[Exchange (CMIS Binding)]]''
* ''[[OneDrive (CMIS Binding)]]''
* ''[[SharePoint (CMIS Binding)]]''
* ''[[Box (CMIS Binding)]]''
* ''[[FTP (CMIS Binding)]]''
* ''[[IMAP (CMIS Binding)]]''
* ''[[NTFS (CMIS Binding)]]''


This tutorial will use the ''NTFS'' binding as its example, connecting to a networked Windows File System folder.
This tutorial will use the ''NTFS'' binding as its example, connecting to a networked Windows File System folder.
Line 80: Line 22:
=== Add the CMIS Connection ===
=== Add the CMIS Connection ===


'''CMIS Connections''' are created and configured in the '''Infrastructure''' folder of the Grooper Node Tree.
'''CMIS Connections''' are created and configured in the '''Global Resources''' folder of the Grooper Node Tree.


{|cellpadding=10 cellspacing=5
{|cellpadding=10 cellspacing=5
|style="width:40%" valign=top|
|style="width:40%" valign=top|
# Navigate to the '''CMIS Connections''' folder under the '''Infrastructure''' folder.
# Right click the '''Global Resources ''' folder.
# Right click the '''CMIS Connections''' folder.  Select "Add" and "CMIS Connection..."
# Select "Add" and "CMIS Connection..."
# This will bring up a window to name the '''CMIS Connection'''.  Name the '''CMIS Connection and press "OK" when finished.
# This will bring up a window to name the '''CMIS Connection'''.  Name the '''CMIS Connection''' and press "OK" when finished.
#* How you name this object is up to you.  However, it's a good idea to at least include which ''CMIS Binding'' you're going to use.  We're connecting to a Windows File System using the ''NTFS'' binding, hence our name "NTFS Example"
#* How you name this object is up to you.  However, it's a good idea to at least include which ''CMIS Binding'' you're going to use.  We're connecting to a Windows File System folder using the ''NTFS'' binding.  The folder's name is "Grooper Import Export".  Hence, our name "NTFS - Grooper Import Export"
|
|
[[File:Cmis-connection-how-to-01.png]]
[[File:2021-cmis-connection-how-to-01.png]]
|}
|}


Line 99: Line 41:
{|cellpadding=10 cellspacing=5
{|cellpadding=10 cellspacing=5
|style="width:40%" valign=top|
|style="width:40%" valign=top|
# This will create a new '''CMIS Connection''' object in the '''CMIS Connections''' folder.
# This will create a new '''CMIS Connection''' object in the '''Global Resources''' folder.
# Select the '''''Connection Type''''' property.
# Select the '''''Connection Type''''' property.
# Use the dropdown menu to select the desired ''CMIS Binding''.  This will be whatever input/output platform you choose to connect to.
# Use the dropdown menu to select the desired ''CMIS Binding''.  This will be whatever input/output platform you choose to connect to.
#* For the purposes of this tutorial, we are choosing ''NTFS'', connecting to the Windows File System.
#* For the purposes of this tutorial, we are choosing ''NTFS'', connecting to the Windows File System.
|
|
[[File:Cmis-connection-how-to-01.png]]
[[File:2021-cmis-connection-how-to-02.png]]
|}
|}
</tab>
</tab>
Line 117: Line 59:
# Expand the '''''Connection Settings''''' properties.
# Expand the '''''Connection Settings''''' properties.
# For the ''NTFS'' binding, select the '''''Repositories''''' property and press the ellipsis button at the end.
# For the ''NTFS'' binding, select the '''''Repositories''''' property and press the ellipsis button at the end.
# This will bring up a "Repository Configuration Collection Editor" for the ''NTFS'' binding.
# This will bring up the '''''Repositories'''' collection editor window for the ''NTFS'' binding.


{|cellpadding="10" cellspacing="5"
{|cellpadding="10" cellspacing="5"
Line 123: Line 65:
|style="font-size:22pt"|'''&#9888;'''||Each ''CMIS Binding'' has different connection settings required for connection.  Depending on the ''CMIS Binding'' chosen for the '''''Connection Type''''' this step will be configured differently.
|style="font-size:22pt"|'''&#9888;'''||Each ''CMIS Binding'' has different connection settings required for connection.  Depending on the ''CMIS Binding'' chosen for the '''''Connection Type''''' this step will be configured differently.


However, once connected, '''CMIS Connections''' are largely the same across ''CMIS Bindings''.
However, once connected, '''CMIS Connections''' are largely the same across ''CMIS Bindings''.  That's the whole point.  The '''CMIS Connection''' object allows for more standardized access to a variety of different storage platforms in terms of how Grooper interoperates with them.
|}
|}


|
|
[[File:Cmis-connection-how-to-03.png]]
[[File:2021-cmis-connection-how-to-03.png]]
|-
|-
|valign=top|
|valign=top|
# Press the "Add" button to add a new Windows folder location.
# Press the "Add" button to add a new Windows folder location.
# Use the '''''Base Path''''' property to enter a Windows File System folder path.
# Use the '''''Base Path''''' property to enter a Windows File System folder path.
#* Note:  Paths should be specified as UNC paths, as seen here.  Avoid mapped or local drive references.  Non-UNC paths may not be accessible to other users, machines or processes.
#* Note:  Windows folder paths should ''always'' be specified as UNC paths, as seen here.  Avoid mapped or local drive references.  Non-UNC paths may not be accessible to other users, machines or processes.
# Press the "Ok" button when finished.
# Press the "Ok" button when finished.
|
|
[[File:Cmis-connection-how-to-04.png]]
[[File:2021-cmis-connection-how-to-04.png]]
|}
|}
</tab>
</tab>
<tab name="Verify Repository Connection" style="margin:20px">
<tab name="Verify Repository Connection" style="margin:20px">
Line 152: Line 92:
#*# There are no accessible repositories in the assigned location.
#*# There are no accessible repositories in the assigned location.
|
|
[[File:Cmis-connection-how-to-05.png]]
[[File:2021-cmis-connection-how-to-05.png]]
|}
|}


Line 165: Line 105:
# Press the "Import Repository" button.
# Press the "Import Repository" button.
|
|
[[File:Cmis-connection-how-to-06.png]]
[[File:2021-cmis-connection-how-to-06.png]]
|-
|-
|valign=top|
|valign=top|
Line 173: Line 113:
You can now use this repository for import and export operations.  Grooper has full access to this folder location to bring in documents and export processed documents.
You can now use this repository for import and export operations.  Grooper has full access to this folder location to bring in documents and export processed documents.
|
|
[[File:Cmis-connection-how-to-07.png]]
[[File:2021-cmis-connection-how-to-07.png]]
|}
|}


Line 183: Line 123:
|style="width:40%" valign=top|
|style="width:40%" valign=top|
# Select the '''CMIS Repository''' object in the Node Tree.
# Select the '''CMIS Repository''' object in the Node Tree.
# While we're here, notice the "Content Types" window, listing '''File''' and '''Folder'''.
# You can use the "Browse Repository" tab to view the documents and folders inside the imported '''CMIS Repository'''.
#* These objects allow Grooper to do more advanced operations such as metadata import and export mapping.  The '''File''' object corresponds to documents and the '''Folder''' object corresponds to folders in the repository.  They exist as child objects of the '''CMIS Connection'''.
# If we double click the "Import" folder, we will open its contents, just like you would using the Windows File Explorer.
# The associated metadata for the '''File''' and '''Folder''' objects are listed in the "Content Type Properties" window.
 
#* The available properties here will change depending on the ''CMIS Binding'' used.  For example, the ''NTFS'' binding allows you to write filenames upon document export.  Therefore, there is a writable "Name" property.
{|cellpadding="10" cellspacing="5"
|-style="background-color:#36b0a7; color:white"
|style="font-size:14pt"|'''FYI'''||All storage platforms can be browsed in this manner via their corresponding ''CMIS Binding'', not just the ''NTFS'' binding.
|}
 
|
|
[[File:Cmis-connection-how-to-08.png]]
[[File:2021-cmis-connection-how-to-08.png]]
|-
|-
|valign=top|
|valign=top|
# You can use the "Browse Repository" tab to view the documents and folders inside the imported '''CMIS Repository'''.
 
# You can select documents in the list here.
# You can select documents in the repository as well.
# A preview of the document will populate in the "Document Viewer" window.
# A preview of the document will populate in the "Document Viewer" window.
You could even copy one or more files and paste them directly into a test '''Batch''' if you like.
|
|
[[File:Cmis-connection-how-to-10.png]]
[[File:2021-cmis-connection-how-to-09.png]]
|-
|-
|valign=top|
|valign=top|
Now that a connection is established, this '''CMIS Repository''' as a direct connection to the folder location.
Furthermore, now that a connection is established, this '''CMIS Repository''' as a direct connection to the folder location.
 
If we are to add a folder in the Windows File System, the '''CMIS Repository''' will be aware of the change.  You can even delete files, rename them, change editable properties, and cut/copy and paste items into folders, just like you can in the storage platform's native application.  You have control of the repository as if you were using it natively.
 
# For example, we could right-click the blank space in the repository browser and select "Add Folder".
# This brings up a new window to name the new folder.
#* Which we've named "Disposed"
# If you press "Execute" a new folder will be created.
|
[[File:2021-cmis-connection-how-to-10.png]]
|-
|valign=top|
That means it creates it in the connected storage platform as well!
 
# In our case a windows folder named "Disposed" was created.
 
And the reverse would hold true as well, if we added a new folder (or new files) to the connected platform, Grooper would be aware of it via the '''CMIS Connection'''.
|
[[File:2021-cmis-connection-how-to-11.png]]
|}
 
</tab>
<tab name="Examining Type Definitions" style="margin:20px">
=== Examining Type Definitions ===


For example, if we are to add a folder in the Windows File System, the '''CMIS Repository''' will be aware of the change.
{|cellpadding=10 cellspacing=5
|style="width:40%" valign=top|
While we're at it, we can examine the ''CMIS Binding's'' '''''Content Type''''' definitions using the "Type Definitions" tab.  These sets of properties allow Grooper to do more advanced operations such as metadata import and export mapping.  The
 
# Select the "Type Definitions" tab.
# The '''File''' '''''Content Type''''' corresponds to documents and the '''Folder''' '''''Content Type''''' corresponds to folders in the repository.
# The associated metadata for the '''File''' and '''Folder''' objects are listed in the "Content Type Properties" window.
#* Blue properties are both readable and writable.
#** Upon exporting '''Batch Folders''', these properties can be edited by mapping property data, such as extracted '''Data Elements'''.
#** For example, the ''NTFS'' binding allows you to write filenames upon document export (via the '''[[Export]]''' activity).  Therefore, there is a writable "'''''Cmis Name'''''" property.
#** Export mappings are configured as part of an '''''Export Behavior''''' configuration when adding a ''CMIS Export'' '''''Export Type'''''.
#* Black properties are read only properties, such as the file's MIME type information.
|
|
[[File:Cmis-connection-how-to-11.png]]
[[File:2021-cmis-connection-how-to-12.png]]
|-
|-
|valign=top|
|valign=top|
# There's the new folder in our '''CMIS Repository'''.
One of the big differences across ''CMIS Bindings'' will be these '''''Content Types'''''.  Documents and folders are represented differently by a '''CMIS Repository''' depending on the ''CMIS Binding''.


You can even delete files, rename them, change editable properties, and cut/copy and paste items into folders, just like you can in the storage platform's native application.  You have control of the repository as if you were using it natively.
# For example, instead of a "File" '''''Content Type''''' the ''Exchange'' binding, has an "Item" '''''Content Type''''' with a series of sub-types that correspond to Outlook email messages, contacts, appointments and tasks.
# Each ''CMIS Binding's'' '''''Content Types''''' has its own set of properties.
#* This gives Grooper greater access to metadata unique to the storage platform.
#* For example, we have the "Message" '''''Content Type''''' selected.  This gives us access to Outlook email related properties, such as '''''Sender''''', '''''To Recipients'''''', and '''''Is Read'''''.
 
{|cellpadding="10" cellspacing="5"
|-style="background-color:#36b0a7; color:white"
|style="font-size:14pt"|'''FYI'''||Whether listed as "Item" or "File" or anything else, the first '''''Content Type''''' generally corresponds to a "document" in the storage platform, and the second content type (generally named "Folder") corresponds to a "folder" in the storage platform.
|}
|
|
[[File:Cmis-connection-how-to-12.png]]
[[File:2021-cmis-connection-how-to-13.png]]
|}
|}
</tab>
</tab>
Line 230: Line 218:


== Version Differences ==
== Version Differences ==
=== 2021 Export Behaviors ===
Version 2021 changed how export operations are performed by introducing the concept of '''''Export Behaviors'''''.  '''''Behaviors''''' in general centralize a '''Content Model''' and its component '''Content Type''' objects importance in various activities.  '''''Export Behavior''''' configurations determine how the '''[[Export]]''' activity exports content to an external storage platform.
The most drastic changes effect how extracted '''Data Elements''' are mapped for file, folder, and data indexing.  Whereas previously, these mappings were configured using '''Content Type''' child objects of a '''CMIS Repository''', these mappings now occur as part of the ''CMIS Export'' '''''Export Type''''' configuration when adding an '''''Export Behavior'''''.


=== 2.9 Box Integration ===
=== 2.9 Box Integration ===
Line 248: Line 242:


This will also allow Grooper to create ''CMIS Bindings'' to connect to currently unavailable content management systems in the future much quicker and easier.
This will also allow Grooper to create ''CMIS Bindings'' to connect to currently unavailable content management systems in the future much quicker and easier.
[[Category:Articles]]
[[Category:Version 2021]]

Revision as of 14:55, 26 April 2024

This article is about an older version of Grooper.

Information may be out of date and UI elements may have changed.

2025202320212.90

cloud CMIS Connections provide a standardized way of connecting to various content management systems (CMS). CMIS Connections allow Grooper to communicate with multiple external storage platforms, enabling access to documents and document metadata that reside outside of Grooper's immediate environment.

  • For those that support the CMIS standard, the CMIS Connection connects to the CMS using the CMIS standard.
  • For those that do not, the CMIS Connection normalizes connection and transfer protocol as if they were a CMIS platform.

Grooper is able to connect to a variety of storage platforms, from simple file systems (such as Windows native NTFS system), to email sources, to full-fledged content management systems. The CMIS Connection object allows you to configure connection settings, allowing Grooper to integrate import and export control. With these settings saved on a Grooper object, they are easily referenced by an Import Watcher service or Export Behaviors applied by the Export activity for automated batch processing.

Which platform is connected is defined by the CMIS Connection's Connection Type property. Once the connection is made to a specific storage location, called a "repository", Grooper has direct access to import and export documents from and to folder locations in the repository.

Furthermore, Grooper has import and export access to metadata available to the particular platform. For example, sender and receipt metadata from emails received from email servers. This also gives Grooper the ability to map extracted data elements from documents to corresponding data element locations in a content management system.


About CMIS+

"CMIS" stands for "Content Management Interoperability Services". It is an open standard that allows different content management systems to inter-operate over the Internet. Grooper expanded on this idea in version 2.72 to create our "CMIS+" architecture. CMIS+ unifies all content platforms under a single framework as if they were traditional CMIS endpoints.


Now, Grooper connects to all available external storage platforms by creating and configuring a CMIS Connection.

  • Once a CMIS Connection is created, Grooper can "interoperate" with these platforms.
  • "Interoperability " means Grooper has the same access to control the system as a human being does.
  • Grooper has a "one-to-one" connection to the platform, allowing full and total control.
  • Because we standardize connection to non-CMIS systems, this includes platforms like NTFS file systems (Windows) that are not CMIS servers.


Using this architecture, Grooper is able to create a simpler and more efficient import and export workflow, using a variety of storage platforms.

  • You now use CMIS Import providers and CMIS Export for any storage platform you can connect to with a CMIS Connection.
  • This also speeds up development for adding new connection types for import/export operations.

Anatomy of a CMIS Connection

When connecting Grooper to external storage platforms, you'll start by creating a CMIS Connection. There are three important parts to understanding a CMIS Connection:

  1. The CMIS Connection itself
  2. The platform it's connecting to. This is defined by the "CMIS Binding" (aka "connection type") selected for the CMIS Connection's "Connection Settings".
  3. Its child CMIS Repositories
    • "Repository" is just a general term for a location where data lives. Different systems refer to "repositories" in different ways.
      • A folder in Windows could be a repository. An email inbox could be a repository. A document library in SharePoint could be a repository. An application in ApplicationEnhancer (formerly ApplicationXtender) could be a repository.
      • "Repository" is a normalized way of referring to various terms used by various storage platforms.


For newer users, the difference between a CMIS Connection and a CMIS Repository can be confusing. The key distinction is as follows:

  • CMIS Connections connect to storage platforms.
    • It's the phone number you dial.
    • The specific platform you're connecting to is defined in its "Connection Settings".
  • CMIS Repositories represent a location within the connected platform.
    • It's the person on the other end of that phone number you want to talk to.
    • CMIS Repositories represent storage locations (typically folders) in the storage platform. They are added as children to a parent CMIS Connection.
    • The CMIS Repository nodes are what Grooper actually uses when configuring import/export operations.
      • You don't talk to a phone number. You talk to a person.
      • You don't reference the parent CMIS Connection when configuring CMIS Import or CMIS Export. Instead you reference a CMIS Repository.

Basic creation steps

There are three basic steps involved to connect Grooper to external storage platforms:

  1. Create a CMIS Connection
  2. Configure the "Connection Settings".
    • Choose what platform you want to connect to (the CMIS Binding).
    • Enter the connection settings required to connect to the platform (This will differ from platform to platform)
  3. Add child CMIS Repositories by importing the storage locations.
    • Importing a CMIS Repository is not the same as importing documents to a new Batch.
      • "Importing" here is more like importing a reference (or bringing the repository into a framework Grooper can use).
      • Upon importing the CMIS Repository, Grooper has full file access to that location in the storage platform.

CMIS Bindings (aka "connection types")

How you configure a CMIS Connection only differs based on what platform you're connecting to. Connection settings include folder paths, URL addresses or usernames or passwords.

  • Example: Connecting to a Windows folder requires a networked folder's UNC path.
  • Example: Connecting to a SharePoint site requires a URL address.
  • Example: Connecting to a email inbox requires an server host name.
  • Example: Connecting to Application Extender, Box, SharePoint, OneDrive, Exchange (Outlook) and more requires a username and password.


Each platform has its own connection requirements. These connection settings and the logic required to interoperate between Grooper and a specific platform are defined by the different "CMIS Binding"

Each CMIS Binding provides the settings and logic to connect Grooper to CMS platforms and file systems for import and export operations.

  • Example: The "Exchange" binding contains all the information Grooper uses to connect to Microsoft Exchange email servers (i.e. Outlook inboxes).
  • Example: The "AppXtender" binding contains all the information Grooper uses to connect to the ApplicationEnhancer (formerly AppXtender) content management system.
  • Example: The "NTFS" binding contains all the information Grooper uses to connect to a Windows file system.
  • And so on.


The first step in configuring a CMIS Connection is choosing what platform you want to connect to. You do this by selecting a "CMIS Binding".

  • You will commonly hear "CMIS Binding" referred to as a "CMIS connection type" or "connection type".
  • Or just "connection", as in an "Exchange connection".

Current CMIS Bindings (aka "connection types")

Grooper can connect to the following storage platforms using below using CMIS Bindings:

Most Commonly Used

Somewhat Commonly Used

Less Commonly Used

  • FTP (File Transfer Protocol) and SFTP (SSH File Transfer Protocol) servers.
  • IMAP mail servers

Least Used

  • Content management systems using CMIS 1.0 or CMIS 1.1 servers.
  • The FileBound document management platform.
  • The IBM FileNet platform.


How To

Create a CMIS Connection and Import a Repository

The following 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.

This tutorial will use the NTFS binding as its example, connecting to a networked Windows File System folder.

Add the CMIS Connection

CMIS Connections are created and configured in the Global Resources folder of the Grooper Node Tree.

  1. Right click the Global Resources folder.
  2. Select "Add" and "CMIS Connection..."
  3. This will bring up a window to name the CMIS Connection. Name the CMIS Connection and press "OK" when finished.
    • How you name this object is up to you. However, it's a good idea to at least include which CMIS Binding you're going to use. We're connecting to a Windows File System folder using the NTFS binding. The folder's name is "Grooper Import Export". Hence, our name "NTFS - Grooper Import Export"

Select the CMIS Binding

  1. This will create a new CMIS Connection object in the Global Resources folder.
  2. Select the Connection Type property.
  3. Use the dropdown menu to select the desired CMIS Binding. This will be whatever input/output platform you choose to connect to.
    • For the purposes of this tutorial, we are choosing NTFS, connecting to the Windows File System.

Configure the Connection Settings

The Connection Settings will be configured differently depending on which CMIS Binding is selected. The settings shown here are specifically for the NTFS binding.

  1. Expand the Connection Settings properties.
  2. For the NTFS binding, select the Repositories property and press the ellipsis button at the end.
  3. This will bring up the Repositories' collection editor window for the NTFS binding.
Each CMIS Binding has different connection settings required for connection. Depending on the CMIS Binding chosen for the Connection Type this step will be configured differently.

However, once connected, CMIS Connections are largely the same across CMIS Bindings. That's the whole point. The CMIS Connection object allows for more standardized access to a variety of different storage platforms in terms of how Grooper interoperates with them.

  1. Press the "Add" button to add a new Windows folder location.
  2. Use the Base Path property to enter a Windows File System folder path.
    • Note: Windows folder paths should always be specified as UNC paths, as seen here. Avoid mapped or local drive references. Non-UNC paths may not be accessible to other users, machines or processes.
  3. Press the "Ok" button when finished.

Verify Repository Connection

  1. Press the "Save" button.
  2. Press the "List Repositories" button to view all repositories available to the CMIS Connection.
  3. Repositories will populate in the "Repository List" window.
    • If you do not see anything listed here, either:
      1. You have not successfully connected to the storage platform.
      2. There are no accessible repositories in the assigned location.

Import a Repository

  1. Select a repository in the "Repository List" window.
  2. Press the "Import Repository" button.

  1. This will add a CMIS Repository object as a child of the CMIS Connection object.
  2. You will also see the dot on the repository icon in the "Repository List" window change from red to green.

You can now use this repository for import and export operations. Grooper has full access to this folder location to bring in documents and export processed documents.

View the Repository

  1. Select the CMIS Repository object in the Node Tree.
  2. You can use the "Browse Repository" tab to view the documents and folders inside the imported CMIS Repository.
  3. If we double click the "Import" folder, we will open its contents, just like you would using the Windows File Explorer.
FYI All storage platforms can be browsed in this manner via their corresponding CMIS Binding, not just the NTFS binding.

  1. You can select documents in the repository as well.
  2. A preview of the document will populate in the "Document Viewer" window.

You could even copy one or more files and paste them directly into a test Batch if you like.

Furthermore, now that a connection is established, this CMIS Repository as a direct connection to the folder location.

If we are to add a folder in the Windows File System, the CMIS Repository will be aware of the change. You can even delete files, rename them, change editable properties, and cut/copy and paste items into folders, just like you can in the storage platform's native application. You have control of the repository as if you were using it natively.

  1. For example, we could right-click the blank space in the repository browser and select "Add Folder".
  2. This brings up a new window to name the new folder.
    • Which we've named "Disposed"
  3. If you press "Execute" a new folder will be created.

That means it creates it in the connected storage platform as well!

  1. In our case a windows folder named "Disposed" was created.

And the reverse would hold true as well, if we added a new folder (or new files) to the connected platform, Grooper would be aware of it via the CMIS Connection.

Examining Type Definitions

While we're at it, we can examine the CMIS Binding's Content Type definitions using the "Type Definitions" tab. These sets of properties allow Grooper to do more advanced operations such as metadata import and export mapping. The

  1. Select the "Type Definitions" tab.
  2. The File Content Type corresponds to documents and the Folder Content Type corresponds to folders in the repository.
  3. The associated metadata for the File and Folder objects are listed in the "Content Type Properties" window.
    • Blue properties are both readable and writable.
      • Upon exporting Batch Folders, these properties can be edited by mapping property data, such as extracted Data Elements.
      • For example, the NTFS binding allows you to write filenames upon document export (via the Export activity). Therefore, there is a writable "Cmis Name" property.
      • Export mappings are configured as part of an Export Behavior configuration when adding a CMIS Export Export Type.
    • Black properties are read only properties, such as the file's MIME type information.

One of the big differences across CMIS Bindings will be these Content Types. Documents and folders are represented differently by a CMIS Repository depending on the CMIS Binding.

  1. For example, instead of a "File" Content Type the Exchange binding, has an "Item" Content Type with a series of sub-types that correspond to Outlook email messages, contacts, appointments and tasks.
  2. Each CMIS Binding's Content Types has its own set of properties.
    • This gives Grooper greater access to metadata unique to the storage platform.
    • For example, we have the "Message" Content Type selected. This gives us access to Outlook email related properties, such as Sender, To Recipients', and Is Read.
FYI Whether listed as "Item" or "File" or anything else, the first Content Type generally corresponds to a "document" in the storage platform, and the second content type (generally named "Folder") corresponds to a "folder" in the storage platform.


Version Differences

2021 Export Behaviors

Version 2021 changed how export operations are performed by introducing the concept of Export Behaviors. Behaviors in general centralize a Content Model and its component Content Type objects importance in various activities. Export Behavior configurations determine how the Export activity exports content to an external storage platform.

The most drastic changes effect how extracted Data Elements are mapped for file, folder, and data indexing. Whereas previously, these mappings were configured using Content Type child objects of a CMIS Repository, these mappings now occur as part of the CMIS Export Export Type configuration when adding an Export Behavior.

2.9 Box Integration

Grooper 2.9 sees the addition of the Box.com document storage platform into the CMIS fold via the Box (CMIS Binding).

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 Descendants" 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 the CMIS Import and CMIS Export providers. Instead of having to create three new import providers and three new export providers for a total of six brand new components, we can use the already established CMIS 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 providers 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.