2023:Behaviors: Difference between revisions

From Grooper Wiki
Line 159: Line 159:
[[Image:2023_Behaviors_01_About_04.png]]
[[Image:2023_Behaviors_01_About_04.png]]


====PDF Generate====
==== PDF Data Mapping ====
The ''PDF Generate Behavior'' is a '''Content Type''' '''''Behavior''''' designed to create an exportable PDF file with additional native PDF elements, using the classification and extraction content of a '''Batch Folder'''.  This includes capabilities to export extracted data as PDF metadata, inserting bookmarks, and creating PDF annotations, such as highlighting, checkbox and signature widgets.
The ''PDF Generate Behavior'' is a '''Content Type''' '''''Behavior''''' designed to create an exportable PDF file with additional native PDF elements, using the classification and extraction content of a '''Batch Folder'''.  This includes capabilities to export extracted data as PDF metadata, inserting bookmarks, and creating PDF annotations, such as highlighting, checkbox and signature widgets.


Understanding the full functionality of the ''PDF Generate Behavior'' is worthy of it’s own article, which can be found [[PDF Generate Behavior|here]].
Understanding the full functionality of the '''''[[PDF Data Mapping (Behavior)|PDF Data Mapping]]''''' is worthy of it&rsquo;s own article, which can be found <u>[[PDF Data Mapping (Behavior)|by clicking this link]]</u>.


[[Image:behaviours_03.png]]
[[Image:behaviours_03.png]]

Revision as of 10:24, 3 May 2024

This article is about an older version of Grooper.

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

202520232021
Behaviors are like telling the mind what to let in and out.

A "Behavior" is one of several features applied to a Content Type (such as a description Document Type). Behaviors affect how certain Activities and Commands are executed, based how a document (folder Batch Folder) is classified. They behave differently, according to their Document Type. This includes how they are exported (how Export behaves), if and how they are added to a document search index (how the various indexing commands behave), and if and how Label Sets are used (how Classify and Extract behave in the presence of Label Sets).

  • Each Behavior is enabled by adding it to a Content Type. They are configured in the Behaviors editor.
  • Behaviors extend to descendent Content Types, if the descendent Content Types has no Behavior configuration of its own.
    • For example, all Document Types will inherit their parent Content Model's Behaviors.
    • However, if a Document Type has its own Behavior configuration, it will be used instead.

You may download and import the file(s) below into your own Grooper environment (version 2023). There is a Batch with the example document(s) discussed in this tutorial, as well as a Project configured according to its instructions. Given the proprietary nature of SharePoint and Database connections, the connection objects and their configuriations cannot be shared.
Please upload the Project to your Grooper environment before uploading the Batch. This will allow the documents within the Batch to maintain their classification status.

Glossary

Activity Processing: Activity Processing is a Grooper Service that executes Activities assigned to edit_document Batch Process Steps in a settings Batch Process. This allows Grooper to automate Batch Steps that do not require a human operator.

Activity Processing: Activity Processing is the execution of a sequence of configured tasks which are performed within a settings Batch Process to transform raw data from documents into structured and actionable information. Tasks are defined by Grooper Activities, configurated to perform document classification, extraction, or data enhancement.

Activity: Grooper Activities define specific document processing operations done to a inventory_2 Batch, folder Batch Folder, or contract Batch Page. In a settings Batch Process, each edit_document Batch Process Step executes a single Activity (determined by the step's "Activity" property).

  • Batch Process Steps are frequently referred by the name of their configured Activity followed by the word "step". For example: "Classify step".

AND: AND is a Collation Provider option for pin Data Type extractors. AND returns results only when each of its referenced or child extractors gets at least one hit, thus acting as a logical “AND” operator across multiple extractors.

Batch Folder: The folder Batch Folder is an organizational unit within a inventory_2 Batch, allowing for a structured approach to managing and processing a collection of documents. Batch Folder nodes serve two purposes in a Batch. (1) Primarily, they represent "documents" in Grooper. (2) They can also serve more generally as folders, holding other Batch Folders and/or contract Batch Page nodes as children.

  • Batch Folders are frequently referred to simply as "documents" or "folders" depending on how they are used in the Batch.

Batch Process Step: edit_document Batch Process Steps are specific actions within a settings Batch Process sequence. Each Batch Process Step performs an "Activity" specific to some document processing task. These Activities will either be a "Code Activity" or "Review" activities. Code Activities are automated by Activity Processing services. Review activities are executed by human operators in the Grooper user interface.

  • Batch Process Steps are frequently referred to as simply "steps".
  • Because a single Batch Process Step executes a single Activity configuration, they are often referred to by their referenced Activity as well. For example, a "Recognize step".

Batch Process: settings Batch Process nodes are crucial components in Grooper's architecture. A Batch Process is the step-by-step processing instructions given to a inventory_2 Batch. Each step is comprised of a "Code Activity" or a Review activity. Code Activities are automated by Activity Processing services. Review activities are executed by human operators in the Grooper user interface.

  • Batch Processes by themselves do nothing. Instead, they execute edit_document Batch Process Steps which are added as children nodes.
  • A Batch Process is often referred to as simply a "process".

Batch: inventory_2 Batch nodes are fundamental in Grooper's architecture. They are containers of documents that are moved through workflow mechanisms called settings Batch Processes. Documents and their pages are represented in Batches by a hierarchy of folder Batch Folders and contract Batch Pages.

Behavior: A "Behavior" is one of several features applied to a Content Type (such as a description Document Type). Behaviors affect how certain Activities and Commands are executed, based how a document (folder Batch Folder) is classified. They behave differently, according to their Document Type. This includes how they are exported (how Export behaves), if and how they are added to a document search index (how the various indexing commands behave), and if and how Label Sets are used (how Classify and Extract behave in the presence of Label Sets).

  • Each Behavior is enabled by adding it to a Content Type. They are configured in the Behaviors editor.
  • Behaviors extend to descendent Content Types, if the descendent Content Types has no Behavior configuration of its own.
    • For example, all Document Types will inherit their parent Content Model's Behaviors.
    • However, if a Document Type has its own Behavior configuration, it will be used instead.

Classification Method:

Classification: Classification is the process of identifying and organizing documents into categorical types based on their content or layout. Classification is key for efficient document management and data extraction workflows. Grooper has different methods for classifying documents. These include methods that use machine learning and text pattern recognition. In a Grooper Batch Process, the Classify Activity will assign a Content Type to a folder Batch Folder.

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

CMIS Export: CMIS Export is an Export Definition available when configuring an Export Behavior. It exports content over a cloud CMIS Connection, allowing users to export documents and their metadata to various on-premise and cloud-based storage platforms.

CMIS Import: CMIS Import refers to two Import Providers used to import content from settings_system_daydream CMIS Repositories: Import Descendants and Import Query Results. CMIS Imports allow users to import from various on-premise and cloud based storage platforms (including Windows folders, Outlook inboxes, Box accounts, AppEnhancer applications and more).

CMIS Query: A CMISQL Query (aka CMIS Query) is Grooper's way of searching for documents in CMIS Repositories. Commonly, CMISQL Queries are used by Import Query Results to import documents from a CMIS Repository. CMISQL Queries are also used by CMIS Lookup to lookup data from a CMIS Repository. CMISQL Queries are based on a subset of the SQL-92 syntax for querying databases, with some specialized extensions added to support querying CMIS sources.

  • CMISQL Queries are configured using the "CMIS Query" property found in "Import Query Results" and "CMIS Lookup".

CMIS Repository: settings_system_daydream CMIS Repository nodes provide document access in external storage platforms through a cloud CMIS Connection. With a CMIS Repository, users can manage and interact with those documents within Grooper. They are used primarily for import using Import Descendants and Import Query Results and for export using CMIS Export.

  • CMIS Repositories are create as a child node of a CMIS Connection using the "Import Repository" command.

CMIS: CMIS (Content Management Interoperability Services) is open standard allowing different content management systems to "interoperate", sharing files, folders and their metadata as well as programmatic control of the platform over the internet.

Content Category: collections_bookmark A Content Category is a container for other Content Category or description Document Type nodes in a stacks Content Model. Content Categories are often used simply as organizational buckets for Content Models with large numbers of Document Types. However, Content Categories are also necessary to create branches in a Content Model's classification taxonomy, allowing for more complex Data Element inheritance and Behavior inheritance.

Content Model: stacks Content Model nodes define a classification taxonomy for document sets in Grooper. This taxonomy is defined by the collections_bookmark Content Categories and description Document Types they contain. Content Models serve as the root of a Content Type hierarchy, which defines Data Element inheritance and Behavior inheritance. Content Models are crucial for organizing documents for data extraction and more.

Content Type: Content Types are a class of node types used used to classify folder Batch Folders. They represent categories of documents (stacks Content Models and collections_bookmark Content Categories) or distinct types of documents (description Document Types). Content Types serve an important role in defining Data Elements and Behaviors that apply to a document.

Data Element: Data Elements are a class of node types used to collect data from a document. These include: data_table Data Models, insert_page_break Data Sections, variables Data Fields, table Data Tables, and view_column Data Columns.

Data Export: Data Export is an Export Definition available when configuring an Export Behavior. It exports extracted document data over a database Data Connection, allowing users to export data to a Microsoft SQL Server or ODBC compliant database.

Data Field: variables Data Fields represent a single value targeted for data extraction on a document. Data Fields are created as child nodes of a data_table Data Model and/or insert_page_break Data Sections.

  • Data Fields are frequently referred to simply as "fields".

Data Model: data_table Data Models are leveraged during the Extract activity to collect data from documents (folder Batch Folders). Data Models are the root of a Data Element hierarchy. The Data Model and its child Data Elements define a schema for data present on a document. The Data Model's configuration (and its child Data Elements' configuration) define data extraction logic and settings for how data is reviewed in a Data Viewer.

Data Section: A insert_page_break Data Section is a container for Data Elements in a data_table Data Model. variables They can contain Data Fields, table Data Tables, and even Data Sections as child nodes and add hierarchy to a Data Model. They serve two main purposes:

  1. They can simply act as organizational buckets for Data Elements in larger Data Models.
  2. By configuring its "Extract Method", a Data Section can subdivide larger and more complex documents into smaller parts to assist in extraction.
    • "Single Instance" sections define a division (or "record") that appears only once on a document.
    • "Multi-Instance" sections define collection of repeating divisions (or "records").

Data Table: A table Data Table is a Data Element specialized in extracting tabular data from documents (i.e. data formatted in rows and columns).

  • The Data Table itself defines the "Table Extract Method". This is configured to determine the logic used to locate and return the table's rows.
  • The table's columns are defined by adding view_column Data Column nodes to the Data Table (as its children).

Document Type: description Document Type nodes represent a distinct type of document, such as an invoice or a contract. Document Types are created as child nodes of a stacks Content Model or a collections_bookmark Content Category. They serve three primary purposes:

  1. They are used to classify documents. Documents are considered "classified" when the folder Batch Folder is assigned a Content Type (most typically, a Document Type).
  2. The Document Type's data_table Data Model defines the Data Elements extracted by the Extract activity (including any Data Elements inherited from parent Content Types).
  3. The Document Type defines all "Behaviors" that apply (whether from the Document Type's Behavior settings or those inherited from a parent Content Type).

Document Viewer: The Grooper Document Viewer is the portal to your documents. It is the UI that allows you to see a folder Batch Folder's (or a contract Batch Page's) image, text content, and more.

Execute: tv_options_edit_channels Execute is an Activity that runs one or more specified object commands. This gives access to a variety of Grooper commands in a settings Batch Process for which there is no Activity, such as the "Sort Children" command for Batch Folders or the "Expand Attachments" command for email attachments.

Export Behavior: An Export Behavior defines the parameters for exporting classified folder Batch Folder content from Grooper to other systems. This includes where they are exported to (what content management system, file system, database etc), what content is exported (attached files, images, and/or data), how it is formatted (PDF, CSV, XML etc), folder pathing, file naming and data mappings (for Data Export and CMIS Export).

Export Definition: Export Behaviors are defined by adding and configuring one or more Export Definitions (See Export Definition Types or the Export Definitions section of the Export article). An Export Definition defines export parameters to external systems, such as file systems, content management repositories, databases, or mail servers.

Export: output Export is an Activity that transfers documents and extracted information to external file systems and content management systems, completing the data processing workflow.

Extract: export_notes Extract is an Activity that retrieves information from folder Batch Folder documents, as defined by Data Elements in a data_table Data Model. This is how Grooper locates unstructured data on your documents and collects it in a structured, usable format.

Extractor Type:

FTP: FTP is a connection option for cloud CMIS Connections. It connects Grooper to FTP directories for import and export operations.

IMAP: IMAP is a connection option for cloud CMIS Connections. It connects Grooper to email messages and folders through an IMAP email server for import and export operations.

Import Query Results: Import Query Results is one of two Import Providers that use cloud CMIS Connections to import document content into Grooper. Import Query Results imports files from a settings_system_daydream CMIS Repository that match a "CMISQL query" (a specialized query language based on SQL database queries).

Labeled Value: Labeled Value is a Value Extractor that identifies and extracts a value next to a label. This is one of the most commonly used extractors to extract data from structured documents (such as a standardized form) and static values on semi-structured documents (such as the header details on an invoice).

Labeling Behavior: A Labeling Behavior extends "label set" functionality to description Document Types. This allows you to collect field labels and other labels present on a document and use them in a variety of ways. This includes functionality for classification, field extraction, table extraction, and section extraction.

Labelset-Based: "Labelset-Based" is a Classify Method that leverages the labels defined via a Labeling Behavior to classify folder Batch Folders.

Project: package_2 Projects are the primary containers for configuration nodes within Grooper. The Project is where various processing objects such as stacks Content Models, settings Batch Processes, profile objects are stored. This makes resources easier to manage, easier to save, and simplifies how node references are made in a Grooper Repository.

Render: print Render is an Activity that converts files of various formats to PDF. It does this by digitally printing the file to PDF using the Grooper Render Printer. This normalizes electronic document content from file formats Grooper cannot read natively to PDF (which it can read natively), allowing Grooper to extract the text via the format_letter_spacing_wide Recognize Activity.

Repository: A "repository" is a general term in computer science referring to where files and/or data is stored and managed. In Grooper, the term "repository" may refer to:

Review: person_search Review is an Activity that allows user attended review of Grooper's results. This allows human operators to validate processed contract Batch Page and folder Batch Folder content using specialized user interfaces called "Viewers". Different kinds of Viewers assist users in reviewing Grooper's image processing, document classification, data extraction and operating document scanners.

Scope: The Scope property of a edit_document Batch Process Step, as it relates to an Activity, determines at which level in a inventory_2 Batch hierarchy the Activity runs.

SFTP: SFTP is a connection option for cloud CMIS Connections. It connects Grooper to SFTP directories for import and export operations.

SharePoint: SharePoint is a connection option for cloud CMIS Connections. It Grooper to Microsoft SharePoint, providing access to content stored in "document libraries" and "picture libraries" for import and export operations.

Tabular Layout: The Tabular Layout Table Extract Method uses column header values determined by the view_column Data Columns Header Extractor results (or labels collected for the Data Columns when a Labeling Behavior is enabled) as well as Data Column Value Extractor results to model a table's structure and return its values.

Transaction Detection: Transaction Detection is a insert_page_break Data Section Extract Method. This extraction method produces section instances by detecting repeating patterns of text around the Data Section's child variables Data Fields.

About

Behaviors are born of the idea that consolidating the control of the flow of data to the objects most relevant to its collection and delivery (Content Types{Content Model, Content Category, Document Type} and the Export activity) creates a more streamlined and effective Grooper experience. If the Content Type controls all the relevant information about how documents are organized and what is to be collected from them, it is logical that controlling how those documents come into Grooper, and how they get out, should also be defined by the same object. It is also a much cleaner experience to not have multiple steps in a Batch Process to cover the types of Export activities (Legacy Export, Mapped Export, Database Export), but instead a single Export activity that leverages the Behaviors of the Content Type, Behaviors defined on the Export activity, or both.

If you take CMIS Connections, for example, Grooper previously created an unnecessary amount of objects to get to the CMIS Content Type. The mappings for importing and exporting were also set here, which made for more places which a person need to go to configure the flow of data into and out of Grooper. It also created a bottle neck of control because if you wanted to have disparate Content Types use a similar CMIS connection, but the import/export mappings inherently needed to be different, you would have had to create a separate CMIS Content Type. Now, one CMIS Repository object can exist, and the import/export mechanisms are controlled via Behaviors (again, defined on Content Types or Export activities.)

Types of Behaviors

There are four types of Behaviors that can be added to a Content Type or Export activity.

Import

Import Behaviors control the flow of documents into Grooper by establishing communication, an Import Definition (of which multiple can exist), between a CMIS Repository object and a Grooper Content Type.

CMIS Content Type objects no longer exist in Grooper 2021, therefore Import mappings are no longer set there. They are instead set on an Import Behavior of a Content Type. This elminates the need for multiple CMIS Conent Type objects to exist for the individual needs of discrete Content Types, and instead consolidates the control to the object most pertinent to the import functionality.

Export

Export Behaviors control the flow of documents out of Grooper by defining export connectivity to external systems such as file systems (directly through a File Export definition, or a CMIS Repository object), content management systems (via CMIS Repository objects), Database Tables, mail servers (directly through an IMAP Export definition, or a CMIS Repository object), or FTP/SFTP servers (directly through FTP/SFTP Export definitions, or a CMIS Repository object).

CMIS Content Type objects no longer exist in Grooper 2021, therefore Export mappings are no longer set there. They are instead set on the Export Behavior of a Content Type , or a Batch Process Step set to Export on its Activity Type property. This eliminates the need for multiple CMIS Content Type objects to exist for the individual needs of discrete Content Types, and instead consolidates the control to the object most pertinent to the export functionality.

Text Rendering

Text Rendering Behaviors control the pagination, or lack thereof, of text based documents (like a .txt file) in Grooper. In Grooper 2.9 and before, text based documents were rendered, by default, as documents, and viewed as such in the document viewer. The rendered document was made, or paginated, to be as wide as the longest line of text.

In Grooper 2021, by default, text documents are handled natively and viewed in the document viewer as you would the text based document in any other normal text document handling software, like Notepad. In order to view a text based file as a paginated document you must add a Text Rendering behavior to a Content Type and classify it appropriately.

Labeling

The Labeling Behavior is a Content Type Behavior designed to collect and utilize a document's field labels in a variety of ways. This includes functionality for classification and data extraction.

The Labeling Behavior functionality allows Grooper users to quickly onboard new Document Types for structured and semi-structured forms, utilizing labels as a thumbprint for classification and data extraction purposes. Once the Labeling Behavior is enabled, labels are identified and collected using the "Labels" tab of Document Types. These "Label Sets" can then be used for the following purposes:

  • Document classification - Using the Labelset-Based Classification Method
  • Field based data extraction - Using the Labeled Value Extractor Type
  • Tabular data extraction - Using a Data Table object's Tabular Layout Extract Method
  • Sectional data extraction - Using a Data Section object's Transaction Detection Extract Method

Understanding the full functionality of the Labeling Behavior is worthy of it’s own article, which can be found by clicking this link.

PDF Data Mapping

The PDF Generate Behavior is a Content Type Behavior designed to create an exportable PDF file with additional native PDF elements, using the classification and extraction content of a Batch Folder. This includes capabilities to export extracted data as PDF metadata, inserting bookmarks, and creating PDF annotations, such as highlighting, checkbox and signature widgets.

Understanding the full functionality of the PDF Data Mapping is worthy of it’s own article, which can be found by clicking this link.

How To: Import and Export Behaviors

Following is a walkthrough demonstrating the setup of Behaviors using a simplified use-case utilizing SharePoint and a database table. It is important to understand that due to the self-contained nature of the aforementioned utilities that this walkthrough will require some translation on the reader's part.

Foundations

Understanding the infrastructure of what's being used for the following walkthrough will help the example make sense.

SharePoint

This test Sharepoint enviornment has three documents it in. The First Name and Last Name fields are left intentionally blank. The Employee ID fields are filled with the intention of reading those values into Grooper upon import. Two of the documents have the DocType fields filled, while the third does not. This will be used to demonstrate how documents can be classified with results from the CMIS repository, while also showing the default behavior otherwise. The Imported fields are set to No. The query used to import the documents will look for the No result to know what to import. Upon importing into Grooper this value will be read and simultaneously changed to InProcess to prevent further pickup. Finally, on export the fields will be written to with Yes to signify they’ve been processed.

Document Understanding

The documents are populated with the first and last names of the employee, which will be extracted and later exported back to the SharePoint to populate the First Name and Last Name columns. The Earnings table will be extracted by Grooper and sent to a database table. The information will be flattened out with the Employee ID read from the SharePoint and sent with the table information so that the SharePoint and database information can be related.

CMIS Repository

  1. Here the imported CMIS Repository is selected in Grooper Design Studio.
  2. On the Type Definitions tab...
  3. ...you can see that because this particular subsite of the SharePoint environment is referenced by a Behavior that the icon has a green dot and...
  4. ...with it selected you can see the stucture of the SharePoint subsite like the column names and their properties.

Database

  1. An imported database table is selected here in Grooper Design Studio.
  2. You can view the structure of the table and see that it includes what we saw from the Earnings table from the document, along with the Employee ID to marry rows from this table back to the SharePoint. In the Data Preview below, you’ll notice there is no data yet.

Data Model & Extraction

  1. Here is the sample Data Model selected with three Data Fields and the accompanying Data Table.
  2. It is configured properly as you can see the successfully extracted information displayed in the Data Model Test Results area.
  3. You can also see the document structure of the extracted information displayed in the Document Viewer.

Batch Process

  1. The Batch Process highlighted is a very simple model for this example setup.
  2. The main thing about this setup is to demonstrate the Export Activity.

Import Behavior Setup

In this section we will cover how to configure an Import Behavior with both read and write properties.

Behaviors

  1. Here we have selected a Content Type, specifically the Content Model.
  2. Select the Behaviors property and click the ellipsis button.
  3. This will bring up the Behaviors - List of Behaviors menu from which you can click the Add drop-down and select Import Behavior.

Import Definitions

  1. Select the Import Definitions property and click the ellipsis button.
  2. This will bring up the Import Definitions - List of Import Defintion menu from which you can click the Add drop-down and select CMIS Import Definition.


  1. With the CMIS Import Definition added you can select the CMIS Repository property and choose an imported CMIS Repository object.


  1. After selecting a CMIS Repository you can select the CMIS Content Type property and choose, in this case of SharePoint, a subsite document library.

Read Mappings

A critical aspect to understand here is document classification upon import. By setting the Read Mappings property you are telling Grooper to populate a Data Element with information. In doing so, you are forcing Grooper to associate the incoming document with the Contnet Type related to the Data Model that owns that Data Element. In short, the incoming documents will be classified as BehavioursContentModel by default.


  1. Select Read Mappings property and click the ellipsis button.
  2. In the CMIS Import Map window you can set which fields you want to map. Here we set the Employee ID field to match the Employee_ID column from SharePoint.

||


The Document Type Name property allows us to read a value from the CMIS Repository and classify documents as a result. This is very useful, and something completely new to this version of Grooper.

If you recall, there are two documents in the SharePoint with the DocType column populated: one test, the other test2. There are two Document Types in the sample Content Model called test and test2. As a result, this read mapping will allow those two documents to come in classified as those Document Types. The third document, having no DocType value from SharePoint, will come in classified as BehavioursContentModel.

A word of caution: If the Document Type Name property is ever set, any and all documents that are brought in via Import Behaviors that leverage the same CMIS Repository will be classified as the Content Type whose Import Behavior has this property set.


  1. Here we are setting the Document Type Name field to match the DocType column from SharePoint.

Write Mappings

We will be looking for documents from the SharePoint that have the Imported value of No. This lets us know the documents have not been processed by Grooper yet. Immediately upon import we will use the Import Write Mappings property to change the values of the Imported column from No to InProcess.


  1. Select the Write Mappings property and click the ellipsis button to bring up the CMIS Update Map window. Here we are setting the Imported field to the expression "InProgress" which will insert it as a string in SharePoint upon import.

Export Behaviors Setup

In this section we will cover how to configure an Export Behaviors for both a Content Type and a Batch Process Step configured for Export. While all the Export Mappings in this sample use case could be set on the Content Model, this walkthrough includes an Export Mapping in the Batch Process to show how both can be leveraged.

Not all types of Export Behaviors are covered (File, SFTP, FTP, and IMAP are not included.) If you feel, after reading this article, that one of the other types should be covered because it is complex enough to warrant a walkthrough, please contact the Training and Education team.

Content Model Export Behavior

The Export Behavior used here is concerned with exporting the document to the CMIS Repository.


  1. With the Content Model selected, click the Behaviors property then click the ellipsis button.
  2. In theBehaviors - List of Behaviors window click the Add drop-down and select Export Behavior.


  1. Select the Export Definitions property and click the ellipsis button.
  2. In the Export Definitions - List of Export Definitions window select the Add drop-down and select CMIS Export.


  1. First we set our CMIS Repository property, then select the Target Folder property and click the ellipsis button.
  2. In Select CMIS Folder window select the CMIS Content Type, in this case we choose a SharePoint sub-site document library, that represents where the documents will be exported.


  1. Select the Write Mappings property and click the ellipsis button.
  2. In the CMIS Export Map window you can map your fields to corresponding value containers of the CMIS connection. Here we auto-mapped to the columns of the SharePoint document library, since they are named the same.

Batch Process Export Behavior

The Export Behavior used here is concerned with exporting tabular information to a Database Table. Again, this is an established, however simple, Batch Process with an Batch Process/Export step/activity that is unconfigured.


  1. Select the Batch Process Step called Export.
  2. Select the Export Behaviors property and click the ellipsis button.
  3. In the Export Behaviors - List of Export Behaviors window click the Add button.
  4. With the Content Type property selected, click the drop-down and select the Content Type desired, in our case BehavioursContentModel.


  1. Select the Export Definitions property and click the ellipsis button.
  2. In the Export Definitions - List of Export Definitions window click the Add drop-down and select the desired export type, in our case Data Export.


  1. Select the Connection property and in the drop-down menu select the desired Database Connection object, in our case BehavioursDataConnection.


  1. Select the Table Mappings property and click the ellipsis button.
  2. In the Table Mappings - List of Table Mappings window select the Source Scope property and in the drop-down menu select the desired scope, in our case the Earnings table.
    Keep in mind, setting the scope to this object will allow not only the contents of the table to be collected, but it will also flatten the fields about it into the exported rows.


  1. Select the Target Table property and in the drop-down menu select the desired Database Table object, in our case dbo.BehavioursExport.


  1. Select the Column Mappings property and click the ellipsis button.
  2. In the Column Map window you can map your columns and fields to the corresponding value containers of the data connection. Here we auto-mapped to the columns of the SharePoint document library, since they are named the same.


The following property is important because it determines priority of Behaviors when sharing between a Content Type and Batch Process Step. Shared refers to the Behaviors of the Content Type, while Local refers to the Behaviors of the Batch Process Step.

  1. Select the Shared Behavior Mode property and select the desired share behavior, in our case SharedOrLocal.
  2. View the help file to understand which option you may select.

Execution and Results

In this section we'll take a look at the results by running a manual import with a CMIS Query and associating it with the sample Batch Process.


  1. To take advantage of automated Activity Processing services, select the Production branch of the Batches folder.
  2. In the Batch drop-down select the desired CMIS Import property, in our case Import Query Results....

Import Query

  1. In the Import Query Results window select the CMIS Query property and click the ellipsis button.


  1. In the CMIS Query Editor window select the Primary Content Type property and select the desired CMIS Content Type from the drop-down menu.


  1. Using either the Select Elements and Where Elements properties, or writing it manually, you can establish a query.
  2. Here we are selecting all documents from the SharePoint document library that have the Imported column set to No.
  3. Execute Query to see the results in the List View.


  1. In the Import Query Results window select the Disable Select Clause Optimization property and set it to the desired setting, in our case True.
  2. This will allow the query to run more quickly/smoothly if set to True.
  3. Be sure to set any remaining properties like the Start Step in our case so it’s associated with a Batch Process.
  4. Analyze first if you want, otherwise Start Import.
  5. Observe the given results and close the window.

Reviewing Classification

  1. Given the simple nature of the Batch Process, we are jumping to a point that has something pertinent to show. Here we are observing that the Document Type Name property, set previously in our Import Mappings, has successfully classified these two documents.


  1. The third document did not have its DocType column set in SharePoint, so it came in with the default Content Type of the associated Content Model.

Viewing Results

Here in the Data Review area you can see that all the data was successfully extracted.


Viewing the SharePoint site we can see that export finished and successfully upated all the empty columns, and set the Imported column values to Yes, meaning they have completed processing and will not be picked up by another import query.


Back in Grooper you can select the associated Database Table object and see the newly exported results in the Data Preview area.

Text Rendering Setup

In this section we well look at the steps required to establish a Text Rendering behavior.

Default Text Document View

By default, when text based documents are viewed in Grooper you will see them as if you would in any other text editing application, which can be obvious when there is no word wrapping. No steps are required to view the text based document in this way.

Non Word-Wrapped Text Document

In previous versions of Grooper native text files were rendered as paginated documents without word wrapping (the rendered document would be as wide as the longest line of text.) To mimic this style, use the following steps.


  1. Select the Content Type to which you will be applying the Text Rendering behavior. In this case, the Content Model.
  2. Select the Behaviors property and click the ellipsis button.


  1. In the Behaviors - List of Behaviors collection editor click Add and select Text Rendering.


  1. Select the newly added Text Rendering behavior and...
  2. ...set the Page Width property to be blank and click OK.


  1. Select your Batch.
  2. Go to the Batch Viewer tab.
  3. Select the text based document and right-click to bring up the object command menu.
  4. Select Assign Document Type.


  1. Select the desired Content Type.


  1. In the Document Viewer notice that line one is not word wrapping.
  2. Notice here in the top right of the Document Viewer we are viewing an image that has been rendered, not the native text file.

Word-Wrapped Document

With a Text Rendering behavior you can not only view a native text document as a non-standard, paginated image, but you can force a document dimension and cause lines of text to wrap accordingly.


  1. Select the Content Type to which you will be applying the Text Rendering behavior. In this case, the Content Model.
  2. Select the Behaviors property and click the ellipsis button.


  1. In the Behaviors - List of Behaviors collection editor select the Text Rendering behavior and...
  2. ...set the Page Width property back to its defaul of 8.5in.


  1. Select your Batch.
  2. Go to the Batch Viewer tab.
  3. Select the text based document.
  4. Notice in the Document Viewer line 1 is word-wrapping.
  5. Notice at the top right of the Document Viewer we are viewing an image that has been rendered, not the native text document.