2.90:CMIS Export: Difference between revisions
Dgreenwood (talk | contribs) No edit summary |
Dgreenwood (talk | contribs) No edit summary |
||
| Line 9: | Line 9: | ||
</onlyinclude> | </onlyinclude> | ||
== | == About CMIS == | ||
Grooper | [[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''' object 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 the ''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 logic for external storage platforms, allowing '''CMIS Connection''' objects to import and export content. 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. | |||
* 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. | |||
== About CMIS Export == | |||
== Unmapped Export == | === Unmapped Export === | ||
[[file:1557847842290-651.png|frame]] | [[file:1557847842290-651.png|frame]] | ||
| Line 107: | Line 107: | ||
|} | |} | ||
= | === Mapped Export === | ||
== Mapped Export == | |||
[[file:1557848223547-310.png|frame]] | [[file:1557848223547-310.png|frame]] | ||
| Line 205: | Line 186: | ||
<br clear=all> | <br clear=all> | ||
=== | === Export Settings === | ||
[[file:1559935234115-731.png|frame]] | [[file:1559935234115-731.png|frame]] | ||
| Line 252: | Line 224: | ||
If true, the export process will ignore mapped items. | If true, the export process will ignore mapped items. | ||
If false, mapped items will be exported along with unmapped ones. | If false, mapped items will be exported along with unmapped ones. | ||
|} | |||
== Version Differences == | |||
=== Box Integration (2.90) === | |||
'''Grooper 2.9''' sees the addition of the [https://www.box.com/home Box.com] document storage platform into the CMIS fold via the ''[[Box (CMIS Binding)]]''. | |||
=== Legacy Providers (2.72) === | |||
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, ''[[CMIS Export#Mapped Export|Mapped Export]]'' and ''[[CMIS Export#Unmapped Export|Unmapped Export]]''. | |||
=== New Connection Types (2.72) === | |||
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. | |||
=== Link Expression (2.72) === | |||
New to 2.72, the "Link" object can expose several new CMIS properties to field expressions. | |||
* '''Link.Name''' - Returns cmis:name | |||
* '''Link.CreatedBy''' - Returns cmis:createdBy | |||
* '''Link.CreatedTime''' - Returns cmis:creationDate | |||
* '''Link.LastModifiedBy''' - Returns cmis:lastModifiedBy | |||
* '''Link.LastModifiedTime''' - Returns cmis:lastModificationDate | |||
* '''Link.AsDocument.MimeType''' - Returns cmis:contentStreamMimeType | |||
* '''Link.AsDocument.Filename''' - Returns cmis:contentStreamFilename | |||
There is also a new method available to return CMIS properties in field expressions: | |||
* '''Link.GetCustomValue (Name)''' | |||
** Returns the value of a CMIS property | |||
** "Name" can be the ID, query name, or display name of a property | |||
*** Ex: Link.GetCustomValue ("invoice_no") | |||
=== Simplified Field Mappings (2.72) === | |||
Grooper Version 2.72 introduces simplified field mappings for Mapped Export. Fields can now be mapped as they are defined at the root of the Data Model. | |||
{| | |||
|style="width:50%"|If your Data Model looks like the one below with fields in several different sections...<br /><br />[[image:1559246479073-630.png|center]] | |||
|style="vertical-align:top"|...when you go to map them to (or from) a CMIS repository, the dropdown list will be structured like your Data Model, from top to bottom with each heading listed before the field. This makes it much easier to find which field you're looking for.<br /><br />[[image:1559246887350-568.png|center]] | |||
|} | |} | ||
Revision as of 15:08, 11 December 2020
CMIS Export is one of the Export Providers available to the Document Export activity. It exports content over a CMIS Connection, allowing users to export documents and their metadata to various on-premise and cloud-based storage platforms.
CMIS Exports can be either "Mapped" or "Unmapped".
- Unmapped Export is a simple export of files to folders. Metadata (such as data extracted from documents used to populate a Data Model) must be exported as a "buddy file", such as an XML or JSON file. This is appropriate for simple storage platforms such as the Windows NTFS file system.
- Mapped Export allows you to export files and their metadata to a repository that allows for metadata storage as well. Many content management systems allow for document storage as well as storing metadata in fields in the storage platform. This is done by pointing the extracted and available document metadata from Grooper to corresponding locations within the content management system. This is set up using the CMIS Content Type objects in the CMIS Repository object, mapping a connection between objects in a Content Model within Grooper (such as Data Fields in a Data Model) and their corresponding locations in the content management system (such as a column in a SharePoint site).
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. This standard protocol allows Grooper to use many different platforms for importing and exporting documents and their contents. Once a CMIS Connection object 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 the 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 logic for external storage platforms, allowing CMIS Connection objects to import and export content. 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 ApplicationXtender document management platform.
- The Box cloud storage platform.
- The FileBound document management platform.
- Content management systems using CMIS 1.0 or CMIS 1.1 servers.
- The following Microsoft content platforms
- The Microsoft Exchange mail server platform.
- The Microsoft OneDrive cloud storage platform.
- Microsoft SharePoint sites.
- FTP (File Transfer Protocol) and SFTP (SSH File Transfer Protocol) servers.
- IMAP mail servers
- The Microsoft Windows NTFS file system.
About CMIS Export
Unmapped Export

Unmapped Export is the simpler of the two. Both Unmapped and Mapped Exports will connect to CMIS Repositories (or CMIS bindings at least). However, "Unmapped Export" exports content as simple folders and files. You cannot utilize your Content Model to map metadata values to files and folders. This is a much more "raw" export. However, you can still export metadata "buddy files" along with your documents.
It is designed for use with CMIS Repositories using a hierarchical file system (HFS), where folders and files are represented by simple object types. The Microsoft Windows file system, NTFS, is an example of an HFS. These are basic folder and file structures. So, they do not require mapped properties upon creation.
- The following utilize simple HFS repositories and are suitable for "Unmapped Export":
- NTFS
- FTP
- SFTP
- OneDrive
- IMAP
- Exchange
Unmapped Export Property Settings

Because there are no values mapped here, this export provider completely ignores anything in the Content Types folder of your CMIS Repository. Even if you added mapping information to your CMIS Content Type, Unmapped Export will pay no attention. Any settings you want to adjust should be done in the Export Settings properties of the Document Export activity.
| Property | Default Value | Information |
| General Properties | ||
| CMIS Repository | Select a CMIS repository you have imported already from your CMIS Connections.
Once you select the repository, an additional property will populate to choose the "Target Folder". If nothing is selected, this will be the "Default Base Folder" of the CMIS Connection (The default base folder is set on the CMIS Content Type child objects of the CMIS Connection object in the node tree). | |
| Update Link | True | If true, the Content Link on the document will be updated to the point at the exported content. It will change from whatever source it was imported from to whatever it was exported to. |
| Export Options | ||
| Content Format | Native | Here you can change the format of the document upon export, such as exporting it as a PDF. The default property is "Native". However, if no native file version exists Grooper will export a PDF version if possible. If neither a native file version or a PDF version exists, a TIFF file is created. Each Content Format selection has its own editable properties as well. |
| Metadata Export | (none) | Adjusting this property will allow you to export a metadata "buddy file" with your documents. It can be one of three values.
|
| Path Cloning | Disabled | Enables or disables path cloning. Refer to the Path Cloning article for more information. |
| Ignore Mapped Items | False | A Batch Folder object is "unmapped" both if no Content Type is assigned or if the Content Type is assigned but it has no export mappings defined.
If true, the export process will ignore mapped items. If false, mapped items will be exported along with unmapped ones. |
Mapped Export

Mapped Export is much more powerful. Mapped Export creates a document in a CMIS Repository for each Batch Folder in your Batch. Using this export provider, you can copy all the relevant data you've collected to wherever you want your documents to go. Or in other words, you can map properties from your Content Model, such as data fields, to an external CMIS repository.
Similar to the pre-2.72 CMIS Export, Mapped Export uses pre-defined mappings. These mappings are set on the CMIS Content Type object. Here, we will match fields from the outside content management provider with the associated fields, variables and values from our Content Type in Grooper. The Grooper Content Type assigned to the Batch Folder determines the rules for exporting each item. Because of this, all documents processed through Mapped Export must be classified. You can't get a Content Type without classifying the batch. So, Grooper wouldn't have any information on how to map the documents.
To perform a Mapped Export, you must enable exporting on the repository's CMIS Content Type. Below shows you to set up the CMIS Content Type object to map values when exporting.
How To: Set Up the Repository's Export Settings
In the node tree, navigate to the repository you want to export to under your CMIS connection established in the "CMIS Connections" folder under the "Infrastructure" folder.

By default, the "Export Enabled" property is set to "False". Change this to "True" in order to export to the repository.

The "Export Content Type" property is where you assign the Content Type. This can be any element of a Content Model or the whole model itself. Be careful. If you choose a content model not associated with the batch you want to export, you won't actually export any documents. The Content Type you assign on the export step must match the Content Type you assign here. Otherwise, Grooper is going to get real confused. It will probably act like it exported your documents without actually populating anything in the content management system.

Select the "Export Field Mappings" property to assign your mappings.

The "Property Mapping Control" window will pop up. This list will automatically appear based on how you set up your repository in whichever content management system you are using. The example below is an ApplicationXtender connection. It has just one field from our data model tied to it. Document Type can be assigned according to how these documents were classified. Date Created is a read-only value that will be populated in ApplicationXtender when the documents are imported.


Once you've set this up, you can export to the CMIS repository during the Document Export activity using the Mapped Export provider. You will select the CMIS Repository you wish to connect to using the "Export Settings" properties of Document Export.
Once the Document Export activity runs, your documents' extracted data will be mapped to their corresponding locations in whichever content management system you choose, according to how you defined it on the CMIS Content Type.
Furthermore, Grooper now supports transfer of multi-level objects between Grooper and CMIS. If your content management system is set up as folders with documents inside, Grooper will import and export seamlessly. If you have a repository with folders A, B, and C with their own levels of foldering and documents inside, Grooper will retain the hierarchical structure when exporting. This is common with student records, personnel files, case files, and well records.
Export Settings

After you have your field mappings set up, you will further configure the export using the properties in the Export Settings properties of the Document Export activity.
| Property | Default Value | Information |
| General Properties | ||
| CMIS Repository | Select a CMIS repository you have imported already from your CMIS Connections.
Once you select the repository, an additional property will populate to choose the "Target Folder". If nothing is selected, this will be the "Default Base Folder" of the CMIS Content Type. | |
| Update Link | True | If true, the Content Link on the document will be updated to the point at the exported content. It will change from whatever source it was imported from to whatever it was exported to. |
| Export Options | ||
| Content Format | Native | Here you can change the format of the document upon export, such as exporting it as a PDF. The default property is "Native". However, if no native file version exists Grooper will export a PDF version if possible. If neither a native file version or a PDF version exists, a TIFF file is created. Each Content Format selection has its own editable properties as well. |
| Metadata Export | (none) | Adjusting this property will allow you to export a metadata "buddy file" with your documents. It can be one of three values.
|
| Path Cloning | Disabled | Enables or disables path cloning. Refer to the Path Cloning article for more information. |
| Ignore Mapped Items | False | A Batch Folder object is "unmapped" both if no Content Type is assigned or if the Content Type is assigned but it has no export mappings defined.
If true, the export process will ignore mapped items. If false, mapped items will be exported along with unmapped ones. |
Version Differences
Box Integration (2.90)
Grooper 2.9 sees the addition of the Box.com document storage platform into the CMIS fold via the Box (CMIS Binding).
Legacy Providers (2.72)
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.
New Connection Types (2.72)
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.
Link Expression (2.72)
New to 2.72, the "Link" object can expose several new CMIS properties to field expressions.
- Link.Name - Returns cmis:name
- Link.CreatedBy - Returns cmis:createdBy
- Link.CreatedTime - Returns cmis:creationDate
- Link.LastModifiedBy - Returns cmis:lastModifiedBy
- Link.LastModifiedTime - Returns cmis:lastModificationDate
- Link.AsDocument.MimeType - Returns cmis:contentStreamMimeType
- Link.AsDocument.Filename - Returns cmis:contentStreamFilename
There is also a new method available to return CMIS properties in field expressions:
- Link.GetCustomValue (Name)
- Returns the value of a CMIS property
- "Name" can be the ID, query name, or display name of a property
- Ex: Link.GetCustomValue ("invoice_no")
Simplified Field Mappings (2.72)
Grooper Version 2.72 introduces simplified field mappings for Mapped Export. Fields can now be mapped as they are defined at the root of the Data Model.



