CMIS+ (Concept): Difference between revisions

From Grooper Wiki
2024 update // via Wikitext Extension for VSCode
No edit summary
 
(20 intermediate revisions by 3 users not shown)
Line 5: Line 5:
All content platforms are exposed to Grooper under a single framework (called CMIS+) as if they were traditional CMIS endpoints by using a '''CMIS Connection''' in Grooper.
All content platforms are exposed to Grooper under a single framework (called CMIS+) as if they were traditional CMIS endpoints by using a '''CMIS Connection''' in Grooper.


The '''CMIS Connection's''' '''''Connection Type''''' determines which storage platform you're connecting to.
The '''CMIS Connection's''' "Connection Settings" determine which storage platform you're connecting to.
* For example, if you wanted to connect to a Windows file system, you would create a '''CMIS Connection''' configured with an '''''NTFS''''' connection.
: Example: You want to connect to a Windows file system. You would create a '''CMIS Connection''' configured with an "NTFS" connection.


Once connected to a platform, Grooper can import from and export to that platform by importing a '''CMIS Repository''' that represents a location (usually a folder) in the storage platform.
Once connected to a platform, Grooper can import from and export to that platform by importing a '''CMIS Repository''' that represents a location (usually a folder) in the storage platform.
* For example, if you wanted to import documents from a Windows folder named "Grooper Imports", you would first import that folder location as a '''CMIS Repository''' in Grooper. Then, you would point to that '''CMIS Repository''' when importing the documents into Grooper.
: Example: You want to import files from a Windows folder named "Grooper Imports". You would first create a '''CMIS Repository''' that represents that folder in Grooper. This imports a reference to the storage location Grooper can use. Then, you would point to that '''CMIS Repository''' when setting up [[CMIS Import]] to import the files into Grooper.


This provides Grooper the necessary infrastructure to import, access, and publish documents and their metadata to both CMIS and non-CMIS storage platforms, including on-premise and cloud based platforms.
This provides Grooper the necessary infrastructure to import, access, and publish documents and their metadata to both CMIS and non-CMIS storage platforms, including on-premise and cloud based platforms.
<section begin="cmisplus" />
<section begin="cmisplus" />
== About CMIS+ ==
== About CMIS+ ==
Line 19: Line 17:




Now, Grooper connects to any external storage platform by creating and configuring a '''CMIS Connection''' (not just CMIS 1.0 or CMIS 1.1 servers).
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.
* 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.
* "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.
* 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.
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''''', regardless of the storage platform.
* 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 ===
=== 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'''
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:
* The '''CMIS Connection''' itself.
# The '''CMIS Connection''' itself
* It's '''''Connection Type''''' (and the "'''''CMIS Binding'''''" you select).
# The platform it's connecting to. This is defined by the "'''CMIS Binding'''" (aka "connection type") selected for the CMIS Connection's "Connection Settings".
* It's child '''CMIS Repositories'''
# Its child '''CMIS Repositories'''
#*<li class ="fyi-bullet"> "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.


{|class="fyi-box"
|
'''FYI'''
|
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 folder in a Box account could be a repository. A cabinet in ApplicationXtender could be a repository.
* We standardize the various terms used by various storage platforms to simply "repository".
* Put simply, it's a place to put stuff.
|}


For newer users, the difference between a '''CMIS Connection''' and a '''CMIS Repository''' can be confusing (and it doesn't help that some people use the terms interchangeably!). The key distinction is as follows:
For newer users, the difference between a CMIS Connection and a CMIS Repository can be confusing. The key distinction is as follows:
* The '''CMIS Connection''' is the object in Grooper that Grooper uses to establish a connection to some external system.
* '''CMIS Connections''' connect to storage platforms.
** The '''''Connection Type''''' determines which ''specific'' platform you're connecting to, and any settings required to connect to it.
** 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.
* '''CMIS Repositories''' represent a location ''within'' the connected platform.
** These are created ''after'' creating the '''CMIS Connection'''.
** It's the person on the other end of that phone number you want to talk to.
** Typically, these represent a folder location in the storage platform.
** 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.


For example, imagine you want to use Grooper to connect to a Windows file system folder on some networked server.
==== Basic creation steps ====
* First, they would create a new '''CMIS Connection'''
There are three basic steps involved to connect Grooper to external storage platforms:
* Then they would choose ''NTFS'' for its '''''Connection Type'''''
# Create a CMIS Connection
* Then they would import the folder location as a '''CMIS Repository'''
# Configure the "Connection Settings".
** It is then this '''CMIS Repository''' Grooper will point to when importing from or exporting to this folder location.
#* Choose what platform you want to connect to (the CMIS Binding).
** The '''CMIS Connection''' is just the thing that allows Grooper to connect to Windows in this case. It is the '''CMIS Repository''' that acts as the Windows file system folder in Grooper.
#* Enter the connection settings required to connect to the platform (This will differ from platform to platform)
# Add child CMIS Repositories by importing the storage locations.
#:*<li class ="fyi-bullet">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") ===


To reiterate, there are three basic steps involved to connect Grooper to external storage platforms:
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.
# Create a '''CMIS Connection'''
* Example: Connecting to a Windows folder requires a networked folder's UNC path.
# Configure its '''''Connection Type''''' to select which platform you want to connect to (and enter any settings to connect to that platform).
* Example: Connecting to a SharePoint site requires a URL address.
# Import storage locations as one or more '''CMIS Repositories''', which are created as children of the '''CMIS Connection'''.
* 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.


{|class="fyi-box"
|
'''FYI'''
|
Importing a '''CMIS Repository''' is not the same as importing documents to 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.
|}


=== CMIS Bindings (AKA Connection Types) ===
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''"


How you configure a '''CMIS Connection''' only differs from '''''CMIS Binding''''' to '''''CMIS Binding''''', as each binding has a different way of connecting to it.
Each CMIS Binding provides the settings and logic to connect Grooper to CMS platforms and file systems for import and export operations.
* You don't connect to an Outlook inbox the same way you connect to a Windows file folder, for example.
* Example: The "[[Exchange]]" binding contains all the information Grooper uses to connect to Microsoft Exchange email servers (i.e. Outlook inboxes).
* Thus, the property configuration for the '''''Exchange''''' binding is different from the '''''NTFS''''' binding.
* 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.




A '''''CMIS Binding''''' provides connectivity to external storage platforms for content import and export. Each individual '''''CMIS Binding''''' contains the settings and logic required to exchange documents between Grooper and each distinct platform.
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".
* The '''''Exchange Binding''''' contains all the information Grooper uses to connect to Microsoft Exchange email servers (i.e. Outlook inboxes).
* You will commonly hear "CMIS Binding" referred to as a "CMIS connection type" or "connection type".
* The '''''AppXtender Binding''''' contains all the information Grooper uses to connect to the ApplicationXtender content management system.
* Or just "connection", as in an "Exchange connection".
* The '''''NTFS Binding''''' contains all the information Grooper uses to connect to a Windows file system.
* And so on.


When creating a '''CMIS Connection''' the first step to configure the '''''Connection Type''''' property.
==== Current CMIS Bindings (aka "connection types") ====
* When you select a '''''Connection Type''''' you're selecting which platform you want to connect to (using a '''''CMIS Binding''''').
** First, you select which platform you want to connect to (which '''''CMIS Binding''''' you want to use)
** Then, you enter connection settings unique to the platform (any values the ''''' CMIS Binding''''' needs to connect to the platform, like login information for many platforms)


==== Current CMIS Connection Types ====
Grooper can connect to the following storage platforms using below using CMIS Bindings:
 
Grooper can connect to the following storage platforms using below using '''''CMIS Bindings''''':


'''Most Commonly Used'''
'''Most Commonly Used'''
Line 121: Line 112:
* '''[[CMIS Connection]]'''
* '''[[CMIS Connection]]'''
* '''[[CMIS Import]]'''
* '''[[CMIS Import]]'''
* '''[[CMIS Export]]'''
* '''[[Export (Activity)]]'''
* '''[[Export (Activity)]]'''
== Glossary ==
<u><big>'''Activity'''</big></u>: {{#lst:Glossary|Activity}}
<u><big>'''AppXtender'''</big></u>: {{#lst:Glossary|AppXtender}}
<u><big>'''Batch'''</big></u>: {{#lst:Glossary|Batch}}
<u><big>'''Box'''</big></u>: {{#lst:Glossary|Box}}
<u><big>'''CMIS Connection Type'''</big></u>: {{#lst:Glossary|CMIS Connection Type}}
<u><big>'''CMIS Connection'''</big></u>: {{#lst:Glossary|CMIS Connection}}
<u><big>'''CMIS Export'''</big></u>: {{#lst:Glossary|CMIS Export}}
<u><big>'''CMIS Import'''</big></u>: {{#lst:Glossary|CMIS Import}}
<u><big>'''CMIS Repository'''</big></u>: {{#lst:Glossary|CMIS Repository}}
<u><big>'''CMIS+'''</big></u>: {{#lst:Glossary|CMIS+}}
<u><big>'''CMIS'''</big></u>: {{#lst:Glossary|CMIS}}
<u><big>'''Exchange'''</big></u>: {{#lst:Glossary|Exchange}}
<u><big>'''Export'''</big></u>: {{#lst:Glossary|Export}}
<u><big>'''FTP'''</big></u>: {{#lst:Glossary|FTP}}
<u><big>'''IMAP'''</big></u>: {{#lst:Glossary|IMAP}}
<u><big>'''NTFS'''</big></u>: {{#lst:Glossary|NTFS}}
<u><big>'''OneDrive'''</big></u>: {{#lst:Glossary|OneDrive}}
<u><big>'''Repository'''</big></u>: {{#lst:Glossary|Repository}}
<u><big>'''Service'''</big></u>: {{#lst:Glossary|Service}}
<u><big>'''SFTP'''</big></u>: {{#lst:Glossary|SFTP}}
<u><big>'''SharePoint'''</big></u>: {{#lst:Glossary|SharePoint}}

Latest revision as of 14:37, 22 May 2025

This article is about the current version of Grooper.

Note that some content may still need to be updated.

2025 2023.1202320212.90

CMIS+ is a conceptual term that refers to Grooper's connectivity architecture to external storage platforms. CMIS+ standardizes connections to a variety of content management system based on the CMIS standard. This provides a standardized setup to allow Grooper to interoperate with both CMIS compliant systems and non-CMIS systems. It further provides normalized access to document content and metadata for import (CMIS Import) and export (CMIS Export) operations.

All content platforms are exposed to Grooper under a single framework (called CMIS+) as if they were traditional CMIS endpoints by using a CMIS Connection in Grooper.

The CMIS Connection's "Connection Settings" determine which storage platform you're connecting to.

Example: You want to connect to a Windows file system. You would create a CMIS Connection configured with an "NTFS" connection.

Once connected to a platform, Grooper can import from and export to that platform by importing a CMIS Repository that represents a location (usually a folder) in the storage platform.

Example: You want to import files from a Windows folder named "Grooper Imports". You would first create a CMIS Repository that represents that folder in Grooper. This imports a reference to the storage location Grooper can use. Then, you would point to that CMIS Repository when setting up CMIS Import to import the files into Grooper.

This provides Grooper the necessary infrastructure to import, access, and publish documents and their metadata to both CMIS and non-CMIS storage platforms, including on-premise and cloud based platforms.

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.


See Also