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

From Grooper Wiki
No edit summary
No edit summary
Line 21: Line 21:
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.
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 [[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.
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]] 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.
 
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.


=== CMIS Bindings ===
=== CMIS Bindings ===
Line 31: Line 33:
=== Current CMIS Bindings ===
=== Current CMIS Bindings ===


Below is a list of all current CMIS Bindings:
Grooper can connect to the following storage platforms using below using ''CMIS Bindings'':


* The [[AppXtender (CMIS Binding)|ApplicationXtender]] document management platform.
* The [[AppXtender (CMIS Binding)|ApplicationXtender]] document management platform.
* The [[Box (CMIS Binding)|Box]] Content Management System.
* The [[Box (CMIS Binding)|Box]] cloud storage platform.
* The [[FileBound (CMIS Binding)|FileBound]] document management platform.
* The [[FileBound (CMIS Binding)|FileBound]] document management platform.
* [[CMIS (CMIS Binding)|Content management systems]] using CMIS 1.0 or CMIS 1.1 servers.
* [[CMIS (CMIS Binding)|Content management systems]] using CMIS 1.0 or CMIS 1.1 servers.
Line 42: Line 44:
** [[SharePoint (CMIS Binding)|Microsoft SharePoint]] sites.
** [[SharePoint (CMIS Binding)|Microsoft SharePoint]] sites.
* [[FTP (CMIS Binding)|FTP]] (File Transfer Protocol) and [[SFTP (CMIS Binding)|SFTP]] (SSH File Transfer Protocol) servers.
* [[FTP (CMIS Binding)|FTP]] (File Transfer Protocol) and [[SFTP (CMIS Binding)|SFTP]] (SSH File Transfer Protocol) servers.
* The [[Box (CMIS Binding)|Box]] cloud document management system.
* [[IMAP (CMIS Binding)|IMAP]] mail servers
* [[IMAP (CMIS Binding)|IMAP]] mail servers
* The Microsoft Windows [[NTFS (CMIS Binding)|NTFS]] file system.
* The Microsoft Windows [[NTFS (CMIS Binding)|NTFS]] file system.


== Version Differences ==
=== 2.9 Box Integration ===
'''Grooper 2.9''' saw the addition of [https://www.box.com/home Box] into the CMIS fold.
=== 2.72 CMIS+ Infrastructure ===
The settings and logic used to connect Grooper to an individual storage platform is contained in its corresponding [[CMIS Binding]].  For example, the [[AppXtender (CMIS Binding)|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 Descendants" and "Import Query Results".  Grooper can export via the [[CMIS Export]] providers, [[CMIS Export#Mapped Export|Mapped Export]] and [[CMIS Export#Unmapped Export|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 Binding]]s.  Since these were created as [[CMIS Binding]]s, 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 (CMIS Binding)|OneDrive]], [[SharePoint (CMIS Binding)|SharePoint]] or [[Exchange (CMIS Binding)|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 Binding]]s to connect to currently unavailable content management systems in the future much quicker and easier.


== How To ==
== How To ==
Line 74: Line 53:
=== Create a CMIS Connection ===
=== 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.
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)]]
* ''[[AppXtender (CMIS Binding)]]''
* [[FileBound (CMIS Binding)]]
* ''[[FileBound (CMIS Binding)]]''
* [[CMIS (CMIS Binding)]]
* ''[[CMIS (CMIS Binding)]]''
* [[Exchange (CMIS Binding)]]  
* ''[[Exchange (CMIS Binding)]]''
* [[OneDrive (CMIS Binding)]]
* ''[[OneDrive (CMIS Binding)]]''
* [[SharePoint (CMIS Binding)]]
* ''[[SharePoint (CMIS Binding)]]''
* [[FTP (CMIS Binding)]]
* ''[[Box (CMIS Binding)]]''
* [[IMAP (CMIS Binding)]]
* ''[[FTP (CMIS Binding)]]''
* [[NTFS (CMIS Binding)]]
* ''[[IMAP (CMIS Binding)]]''
* ''[[NTFS (CMIS Binding)]]''


<tabs>
This tutorial will use the ''NTFS'' binding as its example, connecting to a networked Windows File System folder.
<tab name="Step 1">
In the node tree, navigate to the "CMIS Connections" folder under the "Infrastructure" folder.


<tabs style="margin:20px">
<tab name="Add the CMIS Connection" style="margin:20px">


[[image:1557952549891-391.png|center]]
=== Add the CMIS Connection ===


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


</tab>
{|cellpadding=10 cellspacing=5
<tab name="Step 2">
|style="width:40%" valign=top|
Right click the "CMIS Connections" folder.  Hover over "Add", and select "CMIS Connection...".</p>
# Navigate to the '''CMIS Connections''' folder under the '''Infrastructure''' folder.
 
# Right click the '''CMIS Connections''' folder. 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.
[[image:CMISconections2.png|center]]
#* 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"
 
|
[[File:Cmis-connection-how-to-01.png]]
|}


</tab>
</tab>
<tab name="Step 3">
<tab name="Select the CMIS Binding" style="margin:20px">
Name the CMIS Connection and press the "OK" button.
 
 
[[image:1557860565276-661.png|center]]


=== Select the CMIS Binding ===


{|cellpadding=10 cellspacing=5
|style="width:40%" valign=top|
# This will create a new '''CMIS Connection''' object in the '''CMIS Connections''' folder.
# 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.
#* For the purposes of this tutorial, we are choosing ''NTFS'', connecting to the Windows File System.
|
[[File:Cmis-connection-how-to-01.png]]
|}
</tab>
</tab>
<tab name="Step 4">
<tab name="Configure the Connection Settings" style="margin:20px">
In the CMIS Connection tab, select the desired input/output platform from the list under "Connection Type".


=== Configure the Connection Settings ===


[[image:1557861540388-791.png|center]]
The '''''Connection Settings''''' will be configured differently depending on which ''CMIS Binding'' is selected.  The settings shown here are specifically for the ''NTFS'' binding.


 
{|cellpadding=10 cellspacing=5
</tab>
|style="width:40%" valign=top|
<tab name="Step 5">
# Expand the '''''Connection Settings''''' properties.
Configure the properties under the "Connection Settings" sectionNote that these settings will be different for each Connection Type.
# 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.
 
|
[[image:1557861287422-702.png|center]]
[[File:Cmis-connection-how-to-03.png]]
|-
|valign=top|
# Press the "Add" button to add a new Windows folder location.
# 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.
# Press the "Ok" button when finished.
|
[[File:Cmis-connection-how-to-04.png]]
|}




</tab>
</tab>
<tab name="Step 6">
<tab name="Verify Repository Connection" style="margin:20px">
Press the "Save" button.
=== Verify Repository Connection ===
 
 
[[image:1557861427741-606.png|center]]


{|cellpadding=10 cellspacing=5
|style="width:40%" valign=top|
# Press the "Save" button.
# Press the "List Repositories" button to view all repositories available to the '''CMIS Connection'''.
# Repositories will populate in the "Repository List" window.
#* If you do not see anything listed here, either:
#*# You have not successfully connected to the storage platform.
#*# There are no accessible repositories in the assigned location.
|
[[File:Cmis-connection-how-to-05.png]]
|}


</tab>
</tab>
Line 195: Line 201:
** <code>NOT</code> operator - Inverts the logic of individual predicates or a group enclosed by parentheses.  Note: some CMIS Bindings have limited support for the <code>NOT</code> operator.
** <code>NOT</code> operator - Inverts the logic of individual predicates or a group enclosed by parentheses.  Note: some CMIS Bindings have limited support for the <code>NOT</code> operator.
** Unlimited nesting
** Unlimited nesting
== Version Differences ==
=== 2.9 Box Integration ===
'''Grooper 2.9''' sees the addition of [https://www.box.com/home Box] 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, [[CMIS Export#Mapped Export|Mapped Export]] and [[CMIS Export#Unmapped Export|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.

Revision as of 12:42, 20 November 2020

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

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 Document 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 or the ability to map extracted data elements from documents to corresponding data element locations in a content management system.

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 batch. "Importing" here is more like bringing the repository into a framework Grooper can use (creating the CMIS Connection object). 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 Bindings". 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 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.

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.

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:


How To

Create a CMIS Connection

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.

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 Infrastructure folder of the Grooper Node Tree.

  1. Navigate to the CMIS Connections folder under the Infrastructure folder.
  2. Right click the CMIS Connections folder. 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 using the NTFS binding, hence our name "NTFS Example"

Select the CMIS Binding

  1. This will create a new CMIS Connection object in the CMIS Connections 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 a "Repository Configuration Collection Editor" for the NTFS binding.

  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: 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.
  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

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

Version Differences

2.9 Box Integration

Grooper 2.9 sees the addition of Box 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.