2023:Download or Upload Grooper Nodes: Difference between revisions

From Grooper Wiki
 
(65 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{|cellpadding="12" cellspacing="4" style="margin:12px"
{{AutoVersion}}
|-style="background-color:#ed2330; color:white"
[[File:Download-and-Upload-Header Pic.png|frame|The "Download" and "Upload" buttons are found in the top right of the Design page.]]
|style="font-size:14pt"|'''WIP'''||This article is a work-in-progress or created as a placeholder for testing purposes.  This article is subject to change and/or expansion.  It may be incomplete, inaccurate, or stop abruptly.
<section begin="glossary" />
 
<blockquote>
This tag will be removed upon draft completion.
The "Download" and "Upload" buttons allow users to export and import Grooper nodes to Grooper Repository.
|}
 
 
<blockquote style="font-size:14pt">
How can you share Grooper objects, like '''Content Models''', '''Batch Processes''', '''Batches''' and more, with other Grooper users and environments?
</blockquote>
</blockquote>
<section end="glossary" />
This gives you the capability to do two things:
# You can save copies of Grooper assets for change management.
#* For example, you can save a copy of your '''Project''' by downloading it.  Then, if you made changes that corrupted the '''Project''', you could upload the copy, replacing the newer version with the older version.
# You can share Grooper nodes with other users.
#* For example, Grooper University users will download '''Projects''' to share with the Grooper Education team.  The Grooper Education team then uploads the '''Projects''' in their own Grooper Repositories to review them and give feedback.


Download them from one Grooper Repository and upload them to another!
{|class="download-box"
|
[[File:Asset 22@4x.png]]
|
You may download the ZIP(s) below and upload it into your own Grooper environment (version 2023).  The first contains one or more '''Batches''' of sample documents. The second contains a '''Project''' with resources used in examples throughout this article.  The third contains a sample '''Content Model'''.


You can use these files to follow along with the [[#Upload Grooper Nodes from a ZIP File]] tutorial.
* [[Media:2023 Wiki Sample-Batch.zip]]
* [[Media:2023 Wiki Sample-Project.zip]]
* [[Media:2023 Wiki Sample-Content-Model.zip]]
|}
== About ==
== About ==


Grooper allows you to download Grooper objects from a Grooper Repository to a ZIP archive file.  You can then bring in those objects into a Grooper Repository by uploading the ZIP file.
Grooper allows you to download Grooper nodes from a Grooper Repository to a ZIP archive file.  You can then bring in those nodes into a Grooper Repository by uploading the ZIP file.


When download/upload Grooper objects, you can do one of three things.
When downloading/uploading Grooper nodes, you can do one of three things.


You can:
You can:
* Download/upload '''Batches'''
* Download/upload '''Batches'''
* Download/upload full '''Projects'''
* Download/upload full '''Projects'''
* Download/upload Grooper objects inside a '''Project'''
* Download/upload Grooper nodes inside a '''Project'''


The process is straightforward, but there are a few things to watch out for.
The process is straightforward, but there are a few things to watch out for.


Most notably be aware of the following:
Most notably be aware of the following:
* When exporting a '''Project''', it is best practice to use the "Usage" tab to verify there are no broken references to objects in other '''Projects'''
* When downloading a '''Project''', it is best practice to use the "Usage" tab to verify there are no broken references to nodes in other '''Projects'''.
* When uploading '''Batches''', '''Projects''' and other Grooper objects, if any object in the ZIP already exists in the Grooper Repository, the upload will fail.
* You may only upload '''Batches''' to the '''Batches > Test''' folder, the '''Batches > Production''' folder ''or'' one of their subfolders.
* You may only upload '''Projects''' to the '''Projects''' folder ''or'' one of its subfolders.
* For other Grooper nodes downloaded from a '''Project''', you may only upload them to a '''Project''' (or a valid location inside a '''Project''').
* When uploading '''Batches''', '''Projects''' and other Grooper nodes , if the item exists in the selected branch of the Node Tree, Grooper will ''overwrite'' the existing object.
** For example, if you import a '''Project''' to a folder named "Grooper" and that folder already contains that '''Project''' (i.e. has the same GUID), that '''Project''' will be overwritten.
* When uploading folders containing multiple '''Batches''', '''Projects''' or other Grooper nodes, if the folder exists in the selected branch of the Node Tree, Grooper will ''overwrite'' the existing folder ''and'' all its contents.
** For example, if you import a folder named "Grooper" to the '''Projects''' node, and that folder already exists (i.e has the same GUID), that folder and ''everything'' inside it will be overwritten.
* When uploading '''Batches''', '''Projects''' and other Grooper nodes , if an object in the ZIP already exists in the Grooper Repository at a ''different'' level, the upload will fail.
** Grooper will check each node's GUID.  If any GUID in the ZIP matches any GUID in the Grooper Repository, Grooper will throw an error.
** Grooper will check each node's GUID.  If any GUID in the ZIP matches any GUID in the Grooper Repository, Grooper will throw an error.
* You may only upload '''Batches''' to the '''Batches > Test''' folder ''or'' one of its subfolders.
** When uploading a folder, Grooper will also check all nodes inside the folder.  If ''any'' of its contents exist in the Grooper Repository, the upload will fail.
* You may only upload '''Projects''' to the '''Projects''' folder ''or'' one of its subfolders.
 
* For other Grooper objects downloaded from a '''Project''', you may only upload them to a '''Project''' (or a valid location inside a '''Project''').


{|cellpadding="12" cellspacing="4" style="margin:12px"
{|class="fyi-box"
|-
|
|style="font-size:125%; background-color:#36b0a7; color:white; width:28px; text-align:center"|'''FYI'''
'''FYI'''
|style="border: 4px solid #36b0a7"|
|
Additionally you can "publish" full '''Projects''' from one Grooper Repository to another.  This allows Grooper users connected to multiple Grooper environments to copy objects directly from one environment to another without the need to export and import a zip file.
Additionally you can "publish" full '''Projects''' from one Grooper Repository to another.  This allows Grooper users connected to multiple Grooper environments to copy nodes directly from one environment to another without the need to export and import a zip file.


This will be covered in the [[#Publish Projects to a Connected Repository]] section of this article.
This will be covered in the [[#Publish Projects to a Connected Repository]] section of this article.
Line 45: Line 62:
== How To ==
== How To ==


=== Export Grooper Objects to a Zip File ===
=== Download Grooper Nodes to a ZIP File ===
 
==== Downloading Batches ====
 
One or more '''Batches''' can be downloaded from a Grooper Repository.
* Both "Production" and "Test" '''Batches''' can be downloaded.
** "Production" '''Batches''' are downloaded from the "Batches > Production" folder or one of its subfolders in the Node Tree.
** "Test" '''Batches''' are downloaded from the "Batches > Test" folder or one of its subfolders in the Node Tree.
* To download multiple '''Batches''', they must be placed in the same folder first.  See the "Downloading Multiple Batches" tab below for more information.


<tabs style="margin:20px">
<tabs style="margin:20px">
<tab name="Exporting Batches" style="margin:20px">
<tab name="Downloading Single Batches" style="margin:20px">
=== Exporting Batches - Single Batches ===
=== Downloading Single Batches ===


{|cellpadding=10 cellspacing=5
{|class="how-to-table"
|valign=top style="width:40%"|
|
<br>
<br>
First, we're going to export a single '''Batch''' from a Grooper Repository.  You can export either "Production" or "Test" '''Batches'''.
# Select the '''Batch''' you want to download.
 
# Press the "Download" button at the top right of the page.
# Right-click the '''Batch''' you want to export.
|
# Select ''Share''
[[File:Download-and-Upload-Batches-01.png]]
# Select ''Export to Zip Archive...''
|valign=top|
[[File:2022-import-export-objects-01.png]]
|-
|-
|valign=top|
|
<br>
<br>
# This will bring up the '''''Share &bull; Export to ZIP Archive''''' configuration window.
#<li value=3> This will bring up a window confirming you wish to download the selected object.
# Use the '''''Filename''''' property to define the storage path as well as the zip file's name.
# Press the ''OK'' button.
# Press the ''Execute'' button to export the '''Batch''', saving it to a zip in the selected location.
|
#* How will a user then get this '''Batch''' into a Grooper Repository?  They will import it.  Check out the [[#Import Grooper Objects from a Zip File]] section of this article for more information.
[[File:Download-and-Upload-Batches-02.png]]
|valign=top|
[[File:2022-import-export-objects-02.png]]
|-
|-
|valign=top|
|
<br>
<br>
{|cellpadding="10" cellspacing="5"
#<li value=5> Grooper will download the '''Batch''' to your browser's download location.
|-style="background-color:#36b0a7; color:white"
#* The downloaded file will be a ZIP file, whose name will be whatever the selected '''Batch's''' name is.
|style="font-size:14pt"|'''FYI'''||If you select the '''''Filename''''' property and press the ellipsis button on the end, this will bring up a folder navigator to select an export path and name the file.
|
[[File:Download-and-Upload-Batches-03.png]]
|}
|}
|valign=top|
</tab>
[[File:2022-import-export-objects-fyi.png]]
<tab name="Downloading Multiple Batches">
|}
=== Downloading Multiple Batches ===
=== Exporting Batches - Multiple Batches ===
 
What if you want to download more than one '''Batch'''? 


What if you want to export more than one '''Batch'''?  Do you have to export individual zip files for every single '''Batch'''?  You ''could'' do this, but there's another way.  Simply put all the '''Batches''' you want to export in a folder.  Then, export the folder.
To download multiple '''Batches''', first put all the '''Batches''' you want to download in a folder.  Then, select and download the folder.
* When you export a folder to a ZIP file, all its contents are exported as well.


When you export a folder to a zip file, all its contents are exported as well.
{|class="how-to-table"
|
After moving the '''Batches''' you want to download to a subfolder in the "Production" or "Test" folder:


{|cellpadding=10 cellspacing=5
# Select the folder.
|valign=top style="width:40%"|
# The selected folder, including all its contents will be downloaded to the ZIP file.
# I want to export ''both'' these '''Batches'''.
#* In this case, these two '''Batches'''.
# By placing them in a folder, I can do so without exporting each one individually.
# Press the "Download" button at the top right of the page.
# All of a folder's contents will be exported when exporting to a zip archive.
|
#* Or in our case, both '''Batches'''
[[File:Download-and-Upload-Batches-04.png]]
|valign=top|
|-
[[File:2022-import-export-objects-03.png]]
|
<br>
#<li value=4> This will bring up a window confirming you wish to download the selected object.
# Press the ''OK'' button.
|
[[File:Download-and-Upload-Batches-05.png]]
|-
|
<br>
#<li value=6> Grooper will download the folder and its children (i.e. the multiple '''Batches''' inside it) to your browser's download location.
#* The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.
|
[[File:Download-and-Upload-Batches-06.png]]
|}
|}
</tab>
</tab>
<tab name="Exporting Full Projects" style="margin:20px">
:[[#Downloading Batches|Click here to return to the top of this section]]
=== Exporting Full Projects ===
</tabs>
 
==== Downloading Projects ====
 
You can also download full '''Projects''' as ZIP files. 
* All the '''Project's''' contents will be exported as well.
* To download multiple '''Projects''', they must be placed in the same folder first. See the "Downloading Multiple Projects" tab below for more information.
 
<tabs>
<tab name = "Before Downloading: Check References">
=== Before Downloading: Check References ===
 
Generally speaking, a '''Project''' contains all the processing resources necessary to execute a '''Batch Process''' and process a particular document set.  This may include:
* A '''Content Model'''
* A '''Batch Process'''
* Other Grooper nodes like '''OCR Profiles''' and '''IP Profiles'''
 
 
However, sometimes a '''Project''' will reference resources in other '''Projects''' using one or more '''''Referenced Projects'''''.
* If you are downloading a '''Project''' ZIP so another Grooper user can upload it to their own environment, you will need to ensure ''both'' the '''Project''' ''and'' any referenced '''Project''' will need to be downloaded together.  This will ensure the user uploading the ZIP has all the resources necessary to upload the ZIP into their Grooper Repository.
 


You can also export full '''Projects''' to zip files.  All its contents will be exported as well.  Generally speaking, the '''Project''' contains all the processing resources necessary (the '''Content Model''', '''Batch Process''' and other Grooper objects) to execute a '''Batch Process''' and process one particular document set.  However, sometimes, you will reference resources in other '''Projects''' using one or more '''''Referenced Projects'''''. In this case,  you will need to ensure ''all'' referenced '''Projects''' are exported at the same time to ensure the zip file can be imported down the road.
For this reason, it is best practice to analyze your '''Project''' references ''prior'' to downloading to ensure you are not missing a referenced resource.
* Use a '''Project's''' "Usage" tab to give you information about references to any object in ''other'' '''Projects'''.
* BE AWARE!! Uploading a ZIP will ''fail'' if an referenced object is not present in the destination Grooper Repository.


=== Exporting Full Projects - Single Projects Without References ===
==== Example 1:  A Project With No External Project References ====


{|cellpadding=10 cellspacing=5
{|class="how-to-table"
|valign=top style="width:40%"|
|
<br>
In this example, we will use the "Usage" tab to verify a '''Project''' has no external references.
We'll start with the simpler situation, exporting a '''Project''' that has ''no'' '''''Referenced Projects'''''.
 
# Select the '''Project'''.
# Navigate to the "Usage" tab.
# Nothing is listed in the "Outbound References" or "Inbound References"
#* This '''Project''' has no external references to nodes in other '''Projects'''.


# We want to export this '''Project'''.
# All of its contents will be exported as well.
#* FYI: This includes any subfolders and/or children of its contents.
# According to the '''''Referenced Projects''''' property, this '''Project''' makes no references to other '''Projects'''.
|valign=top|
[[File:2022-import-export-objects-04.png]]
|-
|valign=top|
<br>
This makes our job easy.  We can export the '''Project''' as a single item.


# Right-click the '''Project''' you want to export.
This '''Project''' is entirely "self-contained". All the necessary processing resources are contained in the '''Project''' itself. It is not dependent on any other '''Project''' to function.
# Select ''Share''
* In situations like this, you can download the '''Project''' without any worries whatsoever.  Go to the "Downloading Single Projects" tab to see how to download this '''Project'''.
# Select ''Export to Zip Archive...''
|
# In the '''''Share &bull: Export to Zip Archive''''' window, use the '''''Filename''''' property to select the zip file's path and name.
[[File:Download-and-Upload-Projects-01.png]]
# Press the ''Execute'' button.
|valign=top|
[[File:2022-import-export-objects-05.png]]
|}
|}


=== Exporting Projects - Exporting Multiple Projects and Projects With References ===
==== Example 2: A Project With External Project References ====


If you want to export multiple '''Projects''', you'll need to place them in a folder, and export the folder (as we did when we exported multiple '''Batches''' in the previous tab of this article).
{|class="how-to-table"
|
In this example, we will use the "Usage" tab to inspect a '''Project''' that ''does'' have external references.


The same advice is true for '''Projects''' with references to other '''Projects'''.
# Select the '''Project'''.
# Navigate to the "Usage" tab.
# Note there are items listed in the "Outbound References" and/or "Inbound References".
#* Here, something in the selected '''Project''' has an "outbound reference" to an '''OCR Profile''' in another '''Project'''.
#* "Outbound References" list any ''external'' nodes in other '''Projects''' that are being referenced by ''internal'' nodes in the selected '''Project'''.
#* "Inbound References" list any ''internal'' nodes in the selected '''Project''' being referenced by ''external'' nodes other '''Projects'''.


{|cellpadding=10 cellspacing=5
This '''Project''' is dependent on resources in another '''Project''' to work.  In situations like this, you need to be aware if the destination Grooper Repository has all the resources it needs to upload the ZIP you download.  This '''Project''' makes reference to a "Shared Resources" '''Project'''. 
|valign=top style="width:40%"|
* If the user does '''''not''''' have the "Shared Resources" '''Project''' in their Grooper Repository.  You will need to download ''both'' '''Projects''' to ensure the user has all the assets they need when uploading the ZIP file. Go to the "Downloading Multiple Projects" tab to see how to download multiple '''Projects'''.
<br>
 
# Say we want to reference this '''Project''' named "Invoice".
{|class="attn-box"
# According to the '''''Referenced Projects''''' property, this '''Project''' makes references to two other '''Projects'''.
|-
# An extractor from the "Essentials" '''Project''' is used in this '''Content Model's''' configuration.
|
# An extractor from the "Shared Resources" '''Project''' is used in the configuration of this '''Data Model's''' '''Data Elements'''.
|
Grooper will '''''NOT''''' alert you if a reference is missing when you download a '''Project''' (or any other Grooper object).  It is up to you to ensure all referenced nodes are included in the downloaded ZIP, if required.
|}
|
[[File:Download-and-Upload-Projects-02.png]]
|}
==== Additional Tips and Best Practices ====
{|class="how-to-table"
|
{|class="fyi-box"
|
'''FYI'''
|
Use the "Usage" tab to track down references in your '''Project'''.
|}
 
For "Outbound References":
# The "TO" line will show you the object in an external '''Project''' that something within the selected '''Project''' is referencing.
#* Here we see the following reference path: <code>Shared Resources > OCR Assets > Standard OCR</code>
#* From right to left, the object being referenced is in a '''Project''' named "Shared Resources", in a folder named "OCR Assets", and finally the object being referenced is named "Standard OCR"
# Expand a "TO" line to display the "FR" line. The "FR" line will show you the object within the selected '''Project''' that is referencing the "TO" object.
#* Here we see the following reference path: <code>Invoices Process > Recognize</code>
#* From right to left. the object making the reference is in a '''Batch Process''' named "Invoices Process" and finally referenced by the step named "Recognize".
# Clicking any of these reference paths will take you directly to the object in the Grooper Node Tree.
|
[[File:Download-and-Upload-Projects-03.png]]
|-
|
We clicked the following reference path:
<code>Shared Resources > OCR Assets > Standard OCR</code>
 
# This takes us directly to the referenced object.
#* In our case this is an '''OCR Profile''' named "Standard OCR"
# Note the first item in the path is the '''Project''' containing the referenced object.
#* In our case the '''Project''' named "Shared Resources"


This can be a quick way to navigate to referenced nodes and track down what '''Projects''' contain them.
|
[[File:Download-and-Upload-Projects-04.png]]
|-
|
{|class="attn-box"
|⚠
|
BE AWARE!!  Just because nothing is listed in a '''Project's''' '''''Referenced Projects''''' does not mean there are no external references.
|}


To properlyexport the "Invoices" '''Project''', the "Essentials" '''Project''' and the "Shared Resources" '''Project''' must be exported along with it.  We will export all three projects by placing them in a folder and exporting the folder as a zip file.
# When a '''Project''' references nodes in another '''Project''' it should list that external '''Project''' in the '''''Referenced Projects''''' property.
|valign=top|
|
[[File:2022-import-export-objects-06.png]]
[[File:Download-and-Upload-Projects-05.png]]
|-
|-
|valign=top|
|
<br>
However, there are circumstances where '''Project''' references are inadvertently removed.  This is NOT best practice, but it can happen.
{|cellpadding="10" cellspacing="5"
|-style="background-color:#36b0a7; color:white"
|style="font-size:14pt"|'''FYI'''||The ''Analyze References'' button can be useful when evaluating a '''Project's''' references.


Pressing this button will show you the Node Tree path for every object used by referenced projects.
#<li value=2> Note here '''''Referenced Projects''''' lists ''(none)''.
#* We've manually removed the '''Project''' reference for the purposes of this demonstration.
|
[[File:Download-and-Upload-Projects-06.png]]
|-
|
Removing the '''Project''' reference DOES NOT remove the reference to the object in the external '''Project'''.  However, Grooper will tell you something is wrong if you use the "Usage" tab.


Hint: The referenced '''Project's''' name will be at the beginning of the path.  The referenced object's name will be at the end the path.
#<li value=3> Navigate to the "Usage" tab.
:&bull; For example the "Invoices" '''Project''' makes use of the "Words" extractor (the referenced object which is at the end of the path) in the "Essentials" '''Project''' (the referenced '''Project''' which is at the beginning of the path)
# Notice there is a red warning sign next to our reference path in "Outbound References".
#* This lets us know the selected '''Project''' is missing a '''Project''' reference.
#* It is ALWAYS best practice to resolve this warning.  If you see these missing '''Project''' references, please assign the reference using the '''Project's''' '''''Referenced Projects''''' property.
|
[[File:Download-and-Upload-Projects-07.png]]
|}
|}
|valign=top|
 
[[File:2022-import-export-objects-07.png]]
</tab>
<tab name="Downloading Single Projects">
=== Downloading Single Projects ===
 
{|class="how-to-table"
|
<br>
# Select the '''Project''' you want to download.
# Press the "Download" button at the top right of the page.
|
[[File:Download-and-Upload-Projects-08.png]]
|-
|
<br>
#<li value=3> This will bring up a window confirming you wish to download the selected object.
# Press the ''OK'' button.
|
[[File:Download-and-Upload-Projects-09.png]]
|-
|-
|valign=top|
|
<br>
<br>
To properly export the "Invoices" '''Project''', it and all its referenced '''Projects''' should be placed in a folder. Then, the folder should be exported.
#<li value=5> Grooper will download the '''Project''' to your browser's download location.
#* The downloaded file will be a ZIP file, whose name will be whatever the selected '''Project's''' name is.
|
[[File:Download-and-Upload-Projects-10.png]]
|}
</tab>
<tab name="Downloading Multiple Projects">


# All three '''Projects''' have been placed in a folder.
=== Downloading Multiple Projects ===
# Exporting the folder will export all the '''Projects''' contained, ensuring all references are preserved.


What if you want to download more than one '''Project'''?  For example, you may want to download multiple '''Projects''' if one '''Project''' references resources in another one.


{|cellpadding="10" cellspacing="5"
To download multiple '''Projects''', first put all the '''Projects''' you want to download in a folder.  Then, select and download the folder.
|-style="background-color:#f89420; color:white"
* When you export a folder to a ZIP file, all its contents are exported as well.
|style="font-size:22pt"|&#9888;||If you do export a '''Project''' without exporting its referenced '''Projects''', you will get an error upon attempting to import the zip file.
 
|}
{|class="how-to-table"
|valign=top|
|
[[File:2022-import-export-objects-08.png]]
After moving the '''Projects''' you want to download to a subfolder in "Projects" folder:
 
# Select the folder.
# The selected folder, including all its contents will be downloaded to the ZIP file.
#* In this case, these two '''Projects'''.
# Press the "Download" button at the top right of the page.
|
[[File:Download-and-Upload-Projects-11.png]]
|-
|
<br>
#<li value=4> This will bring up a window confirming you wish to download the selected object.
# Press the ''OK'' button.
|
[[File:Download-and-Upload-Projects-12.png]]
|-
|-
|valign=top|
|
<br>
<br>
{|cellpadding="10" cellspacing="5"
#<li value=6> Grooper will download the folder and its children (i.e. the multiple '''Projects''' inside it) to your browser's download location.
|-style="background-color:#f89420; color:white"
#* The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.
|style="font-size:22pt"|&#9888;||Be aware if you have a complicated web of references, you may need to check the referenced '''Project''' to see if it references any '''Projects''' itself.
|
[[File:Download-and-Upload-Projects-13.png]]
|}
|}
</tab>
:[[#Downloading Projects|Click here to return to the top of this section]]
</tabs>


# Imagine we want to export this '''Project''' named "Human Resources"
==== Downloading Nodes in a Project ====
# According to the '''''Referenced Projects''''' property, this '''Project''' references the "Invoices" '''Project'''.
# That means, we need to not only included the "Invoices" '''Project''' in the export, but the "Essentials" and "Shared Resources" '''Project''' it references as well.
#* In other words, we'd need to export a folder with all four '''Projects''' contained to properly preserve the references throughout the various '''Projects'''.
|valign=top|
[[File:2022-import-export-objects-09.png]]
|}


</tab>
You may also download individual nodes within a '''Project'''. 
<tab name="Exporting Objects in a Project" style="margin:20px">
* For example, you may want to share a particular profile you've created with another Grooper user or repository.
=== Exporting Objects in a Project ===
* For example, you may want to save a copy of your '''Content Model''' so that you can revert to a previous version if you plan on making changes to that '''Content Model'''.


You may also export individual objects within a '''Project'''.  For example, you may want to share a particular profile you've created with another Grooper user or repository.
<tabs>
<tab name="Downloading Single Nodes in a Project">
=== Downloading Nodes in a Project ===


{|cellpadding=10 cellspacing=5
To demonstrate downloading a single Grooper object, we're going to download the '''Content Model''' in our "Mortgage" '''Project'''.
|valign=top style="width:40%"|
The process is essentially identical to what we've seen so far.  Right-click the object, select export to zip archive, configure the file's path and name.


We're going to export an '''IP Profile''' named "Permanent Cleanup" in the "URLA" '''Project'''.
{|class="how-to-table"
# Right click the object you want to export.
|
# Select ''Share''
<br>
# Select ''Export to Zip Archive...''
# Select the object you want to download.
# In the '''''Share &bull; Export to Zip Archive''''' window, use the '''''Filename''''' property to select the zip file's path and name.
# Press the "Download" button.
# Press the ''Execute'' button.
|
|valign=top|
[[File:Download-and-Upload-Objects-01.png]]
[[File:2022-import-export-objects-10.png]]
|-
|-
|valign=top|
|
<br>
<br>
If you need to export multiple objects, you can put them in a folder and export the folder (just as we've seen with exporting multiple '''Batches''' and multiple '''Projects''').
#<li value=3> This will bring up a window confirming you wish to download the selected object.
 
# Press the ''OK'' button.
# We can export all three of these '''IP Profiles'''.
|
# We just have to export their parent folder.
[[File:Download-and-Upload-Objects-02.png]]
|valign=top|
[[File:2022-import-export-objects-11.png]]
|-
|-
|valign=top|
|
<br>
<br>
{|cellpadding="10" cellspacing="5"
#<li value=5> Grooper will download the object to your browser's download location.
|-style="background-color:#f89420; color:white"
#* The downloaded file will be a ZIP file, whose name will be whatever the selected object's name is.
|style="font-size:22pt"|&#9888;||When exporting objects in a '''Project''' please be vigilant in order to maintain reference integrity.
|
[[File:Download-and-Upload-Objects-03.png]]
|-
|
{|class="attn-box"
|&#9888;
|
BE AWARE!! When downloading nodes in a '''Project''', please be vigilant in order to maintain reference integrity.
|}
|}


# If you wanted to export this '''OCR Profile''', you couldn't ''only'' export this single object.
# If you wanted to download this '''OCR Profile''', you couldn't ''only'' download this single object.
# The '''OCR Profile''' references an '''IP Profile''' as part of its configuration.
# The '''OCR Profile''' references an '''IP Profile''' as part of its configuration.
# Both objects would need to be exported at the same time (by placing the '''OCR Profile''' and the '''IP Profile''' in a folder and exporting the folder).
# Both nodes would need to be downloaded at the same time.
#* FYI: The more intertwined the references between objects in a '''Project''', the trickier it will be to do this.  Especially if references to objects in external '''Projects''' are present, you may end up needing to export the entire '''Project''' (and any '''Projects''' it references).
 
|valign=top|
You can download multiple nodes by placing them in a folder and downloading the folder.
[[File:2022-import-export-objects-12.png]]
* For information on how to download multiple nodes, see the next tab, "Downloading Multiple Nodes in a Project".
* FYI: The more intertwined the references between nodes in a '''Project''' (or '''Projects'''), the trickier it will be to do this.  You may end up needing to download the entire '''Project''' (and even any '''Projects''' the '''Project''' references).
|
[[File:Download-and-Upload-Objects-04.png]]
|}
</tab>
<tab name="Downloading Multiple Nodes in a Project">
=== Downloading Multiple Nodes in a Project ===
 
If you need to download multiple Grooper nodes, you can put them in a folder and download the folder (just as we've seen with downloading multiple '''Batches''' and multiple '''Projects''').
 
{|class="how-to-table"
|
<br>
# Select the folder you wish to download.
# The selected folder, including all its contents will be downloaded to the ZIP file.
#* In this case, these various '''IP Profiles''' and '''OCR Profile'''.
# Press the "Download" button at the top right of the page.
|
[[File:Download-and-Upload-Objects-05.png]]
|-
|
<br>
#<li value=4> This will bring up a window confirming you wish to download the selected object.
# Press the ''OK'' button.
|
[[File:Download-and-Upload-Objects-06.png]]
|-
|
<br>
#<li value=6> Grooper will download the folder and its children (i.e. the multiple Grooper nodes inside it) to your browser's download location.
#* The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.
|
[[File:Download-and-Upload-Objects-07.png]]
|}
|}
</tab>
</tab>
:[[#Export Grooper Objects to a Zip File|Click here to return to the top]]
:[[#Downloading Nodes in a Project|Click here to return to the top]]
</tabs>
</tabs>


=== Import Grooper Objects from a ZIP File ===
=== Upload Grooper Nodes from a ZIP File ===


If you wish to follow along with this tutorial, you may import the ZIP archive files linked below into your Grooper Repository.
If you wish to follow along with this tutorial, you may import the ZIP archive files linked below into your Grooper Repository.
* [[Media:Sample Batch - v2022.zip]]
* [[Media:2023 - Wiki - Sample Batch.zip]]
* [[Media:Sample Project - v2022.zip]]
* [[Media:2023 - Wiki - Sample Project.zip]]
* [[Media:Sample Content Model - v2022.zip]]
* [[Media:2023 - Wiki - Sample Content Model.zip]]
 
<tabs style="margin:20px">
<tab name="Uploading Batches" style="margin:20px">
=== Uploading Batches ===
 
{|class="how-to-table"
|
<br>
You can ''only'' upload ZIPS containing '''Batches''' to a folder location that can house '''Batches'''. '''Batches''' can be either uploaded to:
* The ''' Batches > Test''' folder node
** Or any of its subfolders
 
* The '''Batches > Production''' folder node
** Or any of its subfolders
 
{|class="attn-box"
|-
|&#9888;
|
When uploading ZIPs containing '''Batches''', you '''''must''''' upload the ZIP to one of these locations.
 
If you upload the ZIP to any other Grooper node, your upload will fail.
|}
|
[[File:Upload-Batches-01.png]]
|-
|
<br>
To upload a '''Batch''':
# Select the folder node where you want to place the '''Batch'''.
#* In this case, we will upload to the '''Batches > Test''' folder.
# Press the "Upload" button.
 
{|class="attn-box"
|-
|&#9888;
|
BE AWARE!! 


In previous versions of Grooper, you imported Grooper objects from one location, the Root Node of the Grooper Repository.  Grooper would then place the imported assets in the Grooper Repository in a way that mirrored their location in the node tree they were exported from. In Grooper 2022, you will choose where you want the imported objects to land by importing to a node location of your choosing.
What happens if you upload a '''Batch''' that already exists somewhere in your Grooper Repository? One of two things will happen:


<tabs style="margin:20px">
# If the '''Batch''' exists at the same level you're uploading to, the '''Batch''' will be '''''overwritten'''''.
<tab name="Importing Batches" style="margin:20px">
# If the '''Batch''' exists elsewhere in the node tree, at a ''different'' level, the upload will '''''fail'''''.
=== Importing Batches ===
 
This issue will be discussed further in the [[#Common Upload Issues]] section.


You can ''only'' import '''Batches''' to a folder location that can house '''Batches'''. '''Batches''' can be either imported to the '''Batches > Production''' folder node, the ''' Batches > Test''', folder node, or any of their child folders.
|}
{|cellpadding=10 cellspacing=5
|
|valign=top style="width:40%"|
[[File:Upload-Batches-02.png]]
|-
|
<br>
#<li value=3> This will bring up the "ZIP File Import" window.
# Press "Choose File" to choose a Grooper ZIP file to upload.
|
[[File:Upload-Batches-03.png]]
|-
|
<br>
<br>
# To import a '''Batch''' right-click the folder node you want to import to.
#<li value=5> Use the file browser to select the ZIP you wish to upload.
#* In this case, we will import to the '''Test''' folder.
# Double-click the ZIP or press "Open" to continue.
# Select ''Share''.
 
# Then, select ''Import ZIP Archive...''
{|class="attn-box"
|valign=top|
|-
[[File:2022-import-export-objects-import-01.png]]
|&#9888;
|
Take care when selecting the ZIP file.  Your upload will fail if:
* The ZIP file is not a ZIP exported from Grooper.
* The ZIP contains something besides a '''Batch''' or a folder containing only '''Batches'''.
|}
|
[[File:Upload-Batches-04.png]]
|-
|-
|valign=top|
|
<br>
<br>
# This brings up the '''''Share &bull; Import ZIP Archive''''' window.
#<li value=7> You will see the file you selected listed next to the "Choose File" button.
# Use the '''''Filename''''' property to enter the ZIP's file path or browse to the file.
# Press the "Upload" button to upload the ZIP.
# Press ''Execute'' to import.
|
|valign=top|
[[File:Upload-Batches-05.png]]
[[File:2022-import-export-objects-import-02.png]]
|-
|-
|valign=top|
|
<br>
<br>
# If successful, you will receive the following message.
#<li value=9> If successful, you will receive the following message at the bottom of the webpage.
# Press ''OK'' to continue.
# Your '''Batch''' will be added to the folder location you originally right-clicked to start the import.
# Your '''Batch''' will be added to the folder location you originally right-clicked to start the import.


{|class="fyi-box"
|-
|'''FYI'''
|
You can upload multiple '''Batches''' by uploading a ZIP of a folder containing more than one '''Batch'''.


{|cellpadding="10" cellspacing="5"
ZIPs containing folders of multiple '''Batches''' are uploaded just like we did a single '''Batch'''.
|-style="background-color:#36b0a7; color:white"
|style="font-size:14pt"|'''FYI'''||A folder containing multiple '''Batches''' in a ZIP file may be imported as well, just like we did a single '''Batch'''.
|}
|}
|valign=top|
|
[[File:2022-import-export-objects-import-03.png]]
[[File:Upload-Batches-06.png]]
|}
|}
</tab>
</tab>
<tab name="Importing Projects" style="margin:20px">
<tab name="Uploading Projects" style="margin:20px">
=== Importing Projects ===
=== Uploading Projects ===
 
{|class="how-to-table"
|
<br>
You can ''only'' upload ZIPS containing '''Projects''' to a folder location that can house '''Projects'''.  '''Projects''' can be only be uploaded to:
* The '''Projects''' folder node
** Or any of its subfolders.
 
{|class="attn-box"
|-
|&#9888;
|
When uploading ZIPs containing '''Projects''', you '''''must''''' upload the ZIP to one of these locations.
 
If you upload the ZIP to any other Grooper node, your upload will fail.
|}
|
[[File:Upload-Projects-01.png]]
|-
|
<br>
To upload a '''Project''':
# Select the folder node where you want to place the '''Project'''.
#* In this case, we will upload to the '''Projects''' folder.
# Press the "Upload" button.
 
{|class="attn-box"
|-
|&#9888;
|
BE AWARE!! 


Importing '''Projects''' is much the same as importing '''Batches'''. The only difference is at what node in the node tree you can import them.
What happens if you upload a '''Project''' that already exists somewhere in your Grooper Repository? One of two things will happen:


You can ''only'' import '''Projects''' to a folder location that can house '''Projects'''. '''Projects''' can be only be imported to the '''Projects''' folder node or any of its child folders.
# If the '''Project''' exists at the same level you're uploading to, the '''Project''' will be '''''overwritten'''''.
# If the '''Project''' exists elsewhere in the node tree, at a ''different'' level, the upload will '''''fail'''''.


{|cellpadding=10 cellspacing=5
This issue will be discussed further in the [[#Common Upload Issues]] section.
|valign=top style="width:40%"|
|}
Otherwise, the process is identical.
|
[[File:Upload-Projects-02.png]]
|-
|
<br>
#<li value=3> This will bring up the "ZIP File Import" window.
# Press "Choose File" to choose a Grooper ZIP file to upload.
|
[[File:Upload-Projects-03.png]]
|-
|
<br>
#<li value=5> Use the file browser to select the ZIP you wish to upload.
# Double-click the ZIP or press "Open" to continue.


# To import a '''Project''' right-click the folder node you want to import to.
{|class="attn-box"
#* In this case, we will import to the '''Projects''' folder.
|-
# Select ''Share''.
|&#9888;
# Then, select ''Import ZIP Archive...''
|
# This brings up the '''''Share &bull; Import ZIP Archive''''' window.
Take care when selecting the ZIP file.  Your upload will fail if:
# Use the '''''Filename''''' property to enter the ZIP's file path or browse to the file.
* The ZIP file is not a ZIP exported from Grooper.
# Press ''Execute'' to import.
* The ZIP contains something besides a '''Project''' or a folder that contains '''Projects'''.
|valign=top|
|}
[[File:2022-import-export-objects-import-06.png]]
|
[[File:Upload-Projects-04.png]]
|-
|
<br>
#<li value=7> You will see the file you selected listed next to the "Choose File" button.
# Press the "Upload" button to upload the ZIP.
|
[[File:Upload-Projects-05.png]]
|-
|-
|valign=top|
|
<br>
<br>
# If successful, you will receive the following message.
#<li value=9> If successful, you will receive the following message at the bottom of the webpage.
# Press ''OK'' to continue.
# Your '''Project''' will be added to the folder location you originally right-clicked to start the import.
# Your '''Project''' will be added to the folder location you originally right-clicked to start the import.


{|class="fyi-box"
|-
|'''FYI'''
|
You can upload multiple '''Projects''' by uploading a ZIP of a folder containing more than one '''Projects'''.


{|cellpadding="10" cellspacing="5"
ZIPs containing folders of multiple '''Projects''' are uploaded just like we did a single '''Project'''.
|-style="background-color:#36b0a7; color:white"
* i.e.  Select the node you want to upload to.  Then, press the "Upload" button and select the Grooper ZIP.  If it's a valid upload location, the folder will be uploaded, including all the '''Projects''' it contains.
|style="font-size:14pt"|'''FYI'''||A folder containing multiple '''Projects''' in a ZIP file may be imported as well, just like we did a single '''Project'''.
|}
|}
|valign=top|
|
[[File:2022-import-export-objects-import-07.png]]
[[File:Upload-Projects-06.png]]
|}
|}


</tab>
</tab>
<tab name="Importing Objects in a Project" style="margin:20px">
<tab name="Uploading Nodes to a Project" style="margin:20px">
=== Importing Objects in a Project ===
=== Uploading Nodes to a Project ===


You can also import a variety of other Grooper resources, including '''Content Models''', profiles (such as '''OCR Profiles'''), extractors (such as '''Data Types''') or other Grooper objects.  If it can live in a '''Project''', you can import it to a '''Project''' or a subfolder within a '''Project'''.
You can also upload a variety of other Grooper resources to a '''Project'''.  This includes:
* '''Content Models'''
* Profiles (such as '''OCR Profiles''' and '''IP Profiles''')
* Extractors (such as '''Data Types''' and '''Value Readers'''
* Any other Grooper object that can live in a '''Project'''


We will demonstrate this by showing you how to import a '''Content Model'''.
If it can live in a '''Project''', you can upload it to a '''Project''' or a subfolder within a '''Project'''.
{|cellpadding=10 cellspacing=5
 
|valign=top style="width:40%"|
{|class="attn-box"
# Right-click the '''Project''' (or '''Project''' subfolder) you want to import the object to.
|-
#* In this case, we will import a '''Content Model''' in the ZIP file to the "Human Resources" '''Project'''.
|&#9888;
# Select ''Share''.
|
# Then, select ''Import ZIP Archive...''
You '''''CANNOT''''' upload ZIP files containing '''Batches''' or '''Projects''' to a '''Project'''.
# This brings up the '''''Share &bull; Import ZIP Archive''''' window.
 
# Use the '''''Filename''''' property to enter the ZIP's file path or browse to the file.
If you attempt to upload '''Batches''' or '''Projects''' to a '''Project''', your upload will fail.
# Press ''Execute'' to import.
|}
|valign=top|
 
[[File:2022-import-export-objects-import-08.png]]
{|class="attn-box"
|-
|-
|valign=top|
|&#9888;
<br>
|
# If successful, you will receive the following message.
BE AWARE!! 
# Press ''OK'' to continue.
 
# Your imported Grooper object will be added to the '''Project''' you originally right-clicked to start the import.
What happens if you upload a Grooper object that already exists somewhere in your Grooper Repository?  One of two things will happen:


# If the object exists at the same level in the '''Project''' you're uploading to, the node will be '''''overwritten'''''.
# If the '''Project''' exists elsewhere in the node tree, at a ''different'' level, the upload will '''''fail'''''.


{|cellpadding="10" cellspacing="5"
This issue will be discussed further in the [[#Common Upload Issues]] section.
|-style="background-color:#36b0a7; color:white"
|style="font-size:14pt"|'''FYI'''||A folder containing multiple resource objects in a ZIP file may be imported as well, just like we did a single object.
|}
|valign=top|
[[File:2022-import-export-objects-import-09.png]]
|}
|}


</tab>
</tab>
<tab name="Common Issues" style="margin:20px">
=== Common Issues ===
{|cellpadding=10 cellspacing=5
|valign=top style="width:40%"|
==== Issue #1: Importing Objects That Already Exist ====


If you try to import an object that is ''already'' present in your Grooper Repository, Grooper will not let you.
:[[#Upload Grooper Nodes from a ZIP File|Click here to return to the top]]
</tabs>
 
==== Common Upload Issues ====
 
<tabs>
<tab name="Uploading Nodes To the Wrong Location">
==== Uploading Nodes To the Wrong Location ====
 
Remember, you can only import nodes to a node location designed to hold that type of object.
 
A Grooper ZIP containing '''Batches''' (or a folder of multiple '''Batches''') may only be uploaded to the following locations:
* The '''Batches > Production''' folder node
** Or one of its subfolders
* The '''Batches > Test''' folder node
** Or one of its subfolders
 
A Grooper ZIP containing '''Projects''' (or a folder of multiple '''Projects''') may only me uploaded to the following locations:
* The '''Projects''' folder node
** Or one of its subfolders


If the GUIDs of the items match, you will be presented with the following error:  
A Grooper ZIP containing any other type of object may only be uploaded to:
:<code><Object Name> already exists elsewhere in the repository</code>
* A valid node location in a '''Project'''.
|valign=top|
[[File:2022-import-export-objects-import-04.png]]
|-
|valign=top|
==== Issue #2: Importing Objects To the Wrong Location ====


Remember, you can only import objects to a node location designed to hold that type of object.
{|class="how-to-table"
* For example, '''Batches''' to a folder location designed to hold '''Batches'''.  If you try and import the ZIP to a node location that ''can't'' hold '''Batches''' you will be given an error message.
|
For example, you can't upload a '''Batch''' to a '''Project'''.


# Here we tried to import a '''Batch''' to a '''Project''' node.
# Here we tried to import a '''Batch''' to a '''Project''' node.
# Grooper gives us an error message.
# Grooper gives us an error message telling us the ZIP file cannot be imported.
#: <code><Object Name> does not allow children of <Object Type></code>
# The error message takes the following format:  
#* This tells us that the source location we tried to import cannot accept the object we're trying to import.
#* <code>'<Destination node's name>' does not allow children of type '<ZIP'd Object's type>'.</code>
#* This tells us that the object we tried to upload cannot be uploaded to the node we've selected.
#* In this case, a '''Project''' can't accept a '''Batch'''.  '''Batches''' don't go in '''Projects'''.  They go in the '''Batches > Production''' or '''Batches > Test''' folders.
#* In this case, a '''Project''' can't accept a '''Batch'''.  '''Batches''' don't go in '''Projects'''.  They go in the '''Batches > Production''' or '''Batches > Test''' folders.
|valign=top|
|
[[File:2022-import-export-objects-import-05.png]]
[[File:Upload-Common Issues-01.png]]
|}
</tab>
<tab name="Uploading Nodes That Already Exist">
 
==== Uploading Nodes That Already Exist ====
 
The upload will behave differently depending on if the object exists at the same level of the branch you're uploading to ''or'' at a different level or in a different branch.
# When uploading to the same level, Grooper will ''overwrite'' the existing node.
# When uploading to a different level, the upload will ''fail''.
 
{|class="how-to-table"
|
===== Example #1: Uploading an Object that Exists in the Same Branch =====
 
Here, we will upload a '''Content Model''' that exists in the selected branch of the node tree.
* In this case, the existing '''Content Model''' will be overwritten.
 
# We're uploading the ZIP to this '''Project'''.
# The ZIP contains this '''Content Model'''.
 
Since the '''Content Model''' exists in the selected branch, Grooper will upload the ZIP file, and the existing '''Content Model''' will be overwritten.
* How does Grooper know the '''Content Models''' are the same?  Their GUIDs.  Each Grooper object has a unique GUID.  If the GUIDs match, they are the same object.
 
{|class="attn-box"
|
&#9888;
|
BE AWARE!! When you upload in this manner, Grooper gives you NO warning you're about to overwrite an existing object.  Be sure you want to overwrite the existing object with that in the ZIP file.
|}
|
[[File:Upload-Common Issues-02.png]]
|-
|-
|valign=top|
|
==== Issue #3: Importing Objects With Missing References ====
===== Example #2: Uploading an Object that Exists in a Different Branch =====
 
Here, we will upload an '''IP Profile''' that exists in a different branch.
* If you try to upload an object that is already present in your Grooper Repository, AND it is in a different branch in the node tree, Grooper will not let you.
* The upload will fail in this case.
 
# We attempted to upload the ZIP to this '''Project'''
# The ZIP contains this '''IP Profile'''.
#* The '''Project''' does contain the object we're trying to upload, BUT NOT AT THE SELECTED BRANCH.  It exists in a different branch (in this case a subfolder).
# After trying to upload we get an error message telling us the ZIP file cannot be imported.
# The error message lets us know the object already exists and where in the node tree it's located.
#* <code>'<ZIP'd Object's name>' already exists at '<Object's node tree location>'.</code>
 
 
It doesn't matter where in the Grooper Repository the object is.  It could be in a subfolder of the node you've selected.  It could be in a different location altogether in the node tree hierarchy.  If the object exists anywhere else besides the selected node's branch, the upload will fail.
* How does Grooper know the object in the ZIP is the same as some other object?  Their GUIDs.  Each Grooper object has a unique GUID.  If the GUIDs match, they are the same object (regardless where they are in the node tree).
|
[[File:Upload-Common Issues-03.png]]
|}
</tab>
<tab name="Uploading Nodes With Missing References">
==== Uploading Nodes With Missing References ====
 
Grooper will let you download an object that references another object.  This may be good or bad depending on what you want to do.
 
'''When this is good:'''
* You're downloading the object so that you can re-import it later into your own Grooper Repository.
** This won't be an issue because the referenced object already exists in your Grooper Repo.
** Users typically do this for change management, so they have a version of something they can revert to by uploading the saved ZIP, overwriting the changed/corrupted object.


This issue can happen when objects were exported incorrectly from Grooper in the first place.  When importing Grooper objects that reference other Grooper objects, ''both'' objects ''must'' be imported together.  If the referenced object is missing, Grooper will give you an error.
'''When this is bad:'''
* You're downloading the object so that you can share it with another Grooper user.
** This may be an issue because there's no guarantee the other Grooper user has that referenced object in their Grooper Repository.


# For example, this '''Project''' makes a reference to another '''Project'''.
#* In this case, the '''Project''' making the reference is named "ACE Training".
# The referenced '''Project''' ''should'' also be exported.
#* In this case, the referenced '''Project''' is named "Connection".


If a user uploads a ZIP and ''does not'' have the referenced object in their Grooper Repository, the upload will fail.


But what happens if we don't export both '''Projects''' and instead only export the '''Project''' making the reference?
{|class="how-to-table"
|valign=top|
|
[[File:2022-import-export-objects-import-10.png]]
<br>
# For example, something in this "Invoices" '''Project''' makes a reference to something in another '''Project'''.
# Remember, a '''Project's''' "Usage" tab will tell you which nodes from external '''Projects''' are being referenced.
# In this case, an '''OCR Profile''' in the "Shared Resources" '''Project''' is being referenced.
|
[[File:Upload-Common Issues-04.png]]
|-
|-
|valign=top|
|
<br>
<br>
Grooper will not let you import the object and give you an error message instead.
If you download this '''Project''' and another user attempts to upload it, they ''must'' have the referenced object in their Grooper Repository.  Otherwise, the upload will fail.


#<li value=3> This message lets you know the inbound node (our "ACE Training" '''Project''') contains references to external nodes (our "Connections" '''Project''') that do not exist in the repository.
#<li value=4> Here, we attempted to import the "Invoices" '''Project'''.
#* Essentially, the "ACE Training" '''Project''' is making a reference to something that doesn't exist, either in the ZIP file or the target Grooper Repository.
#* Remember, something in this '''Project'''' references something in the "Shared Resources" '''Project'''.
|valign=top|
#* For the purposes of this demo, I've deleted the "Shared Resources" '''Project'''.  So, it doesn't exist in the Grooper Repository I'm trying to upload to.
[[File:2022-import-export-objects-import-11.png]]
# This message lets you know the ZIP can't be imported.
#* The node we're trying to upload references items that do not exist in the repository.
# The error message will also give you the GUIDs for each missing item.
|
[[File:Upload-Common Issues-05.png]]
|}
|}
</tab>
</tab>
:[[#Import Grooper Objects from a ZIP File|Click here to return to the top]]
<tab name="ZIP Upload Decision Tree">
[[File:ZIP Upload Decision Tree.drawio.png|1000px]]
</tab>
</tabs>
</tabs>


=== Publish Projects to a Connected Repository ===
=== Publish Projects to a Connected Repository ===
{|class="wip-box"
|
'''WIP'''
|
This article is a work-in-progress. This portion was copied from the 2022 version of this article.  It's guidance is largely accurate.  However, all screenshots were taken from the 2022 thick client.
|}


If you're connected to multiple Grooper Repositories and need to get a '''Project''' from one Repository to another, there's no need to export a ZIP file from one Repository, then import the ZIP in another Repository.  You can save yourself some steps by "publishing".  This allows you to copy '''Projects''' and their contents from one Grooper Repository to another.
If you're connected to multiple Grooper Repositories and need to get a '''Project''' from one Repository to another, there's no need to export a ZIP file from one Repository, then import the ZIP in another Repository.  You can save yourself some steps by "publishing".  This allows you to copy '''Projects''' and their contents from one Grooper Repository to another.


Publishing '''Projects''' is like exporting and importing all at once from one Grooper Repository to another.  The same guidance detailed above when exporting and importing objects applies to publishing '''Projects''' as well.   
Publishing '''Projects''' is like exporting and importing all at once from one Grooper Repository to another.  The same guidance detailed above when exporting and importing nodes applies to publishing '''Projects''' as well.   
* The biggest difference is you can only '''''publish''''' full '''Projects''', not '''Batches''' or individual objects contained within a '''Project'''.
* The biggest difference is you can only '''''publish''''' full '''Projects''', not '''Batches''' or individual nodes contained within a '''Project'''.
* You can also only publish '''''one''''' '''Project''' at a time.  This means if you are attempting to publish a '''Project''' that references another '''Project''', you will need to publish the referenced '''Project''' '''''first'''''.
* You can also only publish '''''one''''' '''Project''' at a time.  This means if you are attempting to publish a '''Project''' that references another '''Project''', you will need to publish the referenced '''Project''' '''''first'''''.
{|class="attn-box"
|
&#9888;
|
Be aware "Publishing" is a essentially a "copy and paste" operation. The '''Project''' is "copied" from the source Grooper Repository and "pasted" to the destination Grooper Repository. You will need to ensure you have enough disk space to make the copy and paste.  This means:
# The user's file system publishing the '''Project''' must have enough diskspace the create a temp file for the "copied" '''Project'''.
# The target Grooper Repository's file store must have enough diskspace for the "pasted" '''Project'''.
|}


{|cellpadding=10 cellspacing=5
{|cellpadding=10 cellspacing=5
Line 449: Line 840:


[[Category:Articles]]
[[Category:Articles]]
[[Category:Version 2022]]
[[Category:Version 2023]]

Latest revision as of 11:41, 29 August 2025

This article is about an older version of Grooper.

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

20252023
The "Download" and "Upload" buttons are found in the top right of the Design page.

The "Download" and "Upload" buttons allow users to export and import Grooper nodes to Grooper Repository.

This gives you the capability to do two things:

  1. You can save copies of Grooper assets for change management.
    • For example, you can save a copy of your Project by downloading it. Then, if you made changes that corrupted the Project, you could upload the copy, replacing the newer version with the older version.
  2. You can share Grooper nodes with other users.
    • For example, Grooper University users will download Projects to share with the Grooper Education team. The Grooper Education team then uploads the Projects in their own Grooper Repositories to review them and give feedback.

You may download the ZIP(s) below and upload it into your own Grooper environment (version 2023). The first contains one or more Batches of sample documents. The second contains a Project with resources used in examples throughout this article. The third contains a sample Content Model.

You can use these files to follow along with the #Upload Grooper Nodes from a ZIP File tutorial.

About

Grooper allows you to download Grooper nodes from a Grooper Repository to a ZIP archive file. You can then bring in those nodes into a Grooper Repository by uploading the ZIP file.

When downloading/uploading Grooper nodes, you can do one of three things.

You can:

  • Download/upload Batches
  • Download/upload full Projects
  • Download/upload Grooper nodes inside a Project

The process is straightforward, but there are a few things to watch out for.


Most notably be aware of the following:

  • When downloading a Project, it is best practice to use the "Usage" tab to verify there are no broken references to nodes in other Projects.
  • You may only upload Batches to the Batches > Test folder, the Batches > Production folder or one of their subfolders.
  • You may only upload Projects to the Projects folder or one of its subfolders.
  • For other Grooper nodes downloaded from a Project, you may only upload them to a Project (or a valid location inside a Project).
  • When uploading Batches, Projects and other Grooper nodes , if the item exists in the selected branch of the Node Tree, Grooper will overwrite the existing object.
    • For example, if you import a Project to a folder named "Grooper" and that folder already contains that Project (i.e. has the same GUID), that Project will be overwritten.
  • When uploading folders containing multiple Batches, Projects or other Grooper nodes, if the folder exists in the selected branch of the Node Tree, Grooper will overwrite the existing folder and all its contents.
    • For example, if you import a folder named "Grooper" to the Projects node, and that folder already exists (i.e has the same GUID), that folder and everything inside it will be overwritten.
  • When uploading Batches, Projects and other Grooper nodes , if an object in the ZIP already exists in the Grooper Repository at a different level, the upload will fail.
    • Grooper will check each node's GUID. If any GUID in the ZIP matches any GUID in the Grooper Repository, Grooper will throw an error.
    • When uploading a folder, Grooper will also check all nodes inside the folder. If any of its contents exist in the Grooper Repository, the upload will fail.


FYI

Additionally you can "publish" full Projects from one Grooper Repository to another. This allows Grooper users connected to multiple Grooper environments to copy nodes directly from one environment to another without the need to export and import a zip file.

This will be covered in the #Publish Projects to a Connected Repository section of this article.

How To

Download Grooper Nodes to a ZIP File

Downloading Batches

One or more Batches can be downloaded from a Grooper Repository.

  • Both "Production" and "Test" Batches can be downloaded.
    • "Production" Batches are downloaded from the "Batches > Production" folder or one of its subfolders in the Node Tree.
    • "Test" Batches are downloaded from the "Batches > Test" folder or one of its subfolders in the Node Tree.
  • To download multiple Batches, they must be placed in the same folder first. See the "Downloading Multiple Batches" tab below for more information.

Downloading Single Batches


  1. Select the Batch you want to download.
  2. Press the "Download" button at the top right of the page.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the Batch to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected Batch's name is.

Downloading Multiple Batches

What if you want to download more than one Batch?

To download multiple Batches, first put all the Batches you want to download in a folder. Then, select and download the folder.

  • When you export a folder to a ZIP file, all its contents are exported as well.

After moving the Batches you want to download to a subfolder in the "Production" or "Test" folder:

  1. Select the folder.
  2. The selected folder, including all its contents will be downloaded to the ZIP file.
    • In this case, these two Batches.
  3. Press the "Download" button at the top right of the page.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the folder and its children (i.e. the multiple Batches inside it) to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.

Click here to return to the top of this section

Downloading Projects

You can also download full Projects as ZIP files.

  • All the Project's contents will be exported as well.
  • To download multiple Projects, they must be placed in the same folder first. See the "Downloading Multiple Projects" tab below for more information.

Before Downloading: Check References

Generally speaking, a Project contains all the processing resources necessary to execute a Batch Process and process a particular document set. This may include:

  • A Content Model
  • A Batch Process
  • Other Grooper nodes like OCR Profiles and IP Profiles


However, sometimes a Project will reference resources in other Projects using one or more Referenced Projects.

  • If you are downloading a Project ZIP so another Grooper user can upload it to their own environment, you will need to ensure both the Project and any referenced Project will need to be downloaded together. This will ensure the user uploading the ZIP has all the resources necessary to upload the ZIP into their Grooper Repository.


For this reason, it is best practice to analyze your Project references prior to downloading to ensure you are not missing a referenced resource.

  • Use a Project's "Usage" tab to give you information about references to any object in other Projects.
  • BE AWARE!! Uploading a ZIP will fail if an referenced object is not present in the destination Grooper Repository.

Example 1: A Project With No External Project References

In this example, we will use the "Usage" tab to verify a Project has no external references.

  1. Select the Project.
  2. Navigate to the "Usage" tab.
  3. Nothing is listed in the "Outbound References" or "Inbound References"
    • This Project has no external references to nodes in other Projects.


This Project is entirely "self-contained". All the necessary processing resources are contained in the Project itself. It is not dependent on any other Project to function.

  • In situations like this, you can download the Project without any worries whatsoever. Go to the "Downloading Single Projects" tab to see how to download this Project.

Example 2: A Project With External Project References

In this example, we will use the "Usage" tab to inspect a Project that does have external references.

  1. Select the Project.
  2. Navigate to the "Usage" tab.
  3. Note there are items listed in the "Outbound References" and/or "Inbound References".
    • Here, something in the selected Project has an "outbound reference" to an OCR Profile in another Project.
    • "Outbound References" list any external nodes in other Projects that are being referenced by internal nodes in the selected Project.
    • "Inbound References" list any internal nodes in the selected Project being referenced by external nodes other Projects.

This Project is dependent on resources in another Project to work. In situations like this, you need to be aware if the destination Grooper Repository has all the resources it needs to upload the ZIP you download. This Project makes reference to a "Shared Resources" Project.

  • If the user does not have the "Shared Resources" Project in their Grooper Repository. You will need to download both Projects to ensure the user has all the assets they need when uploading the ZIP file. Go to the "Downloading Multiple Projects" tab to see how to download multiple Projects.

Grooper will NOT alert you if a reference is missing when you download a Project (or any other Grooper object). It is up to you to ensure all referenced nodes are included in the downloaded ZIP, if required.

Additional Tips and Best Practices

FYI

Use the "Usage" tab to track down references in your Project.

For "Outbound References":

  1. The "TO" line will show you the object in an external Project that something within the selected Project is referencing.
    • Here we see the following reference path: Shared Resources > OCR Assets > Standard OCR
    • From right to left, the object being referenced is in a Project named "Shared Resources", in a folder named "OCR Assets", and finally the object being referenced is named "Standard OCR"
  2. Expand a "TO" line to display the "FR" line. The "FR" line will show you the object within the selected Project that is referencing the "TO" object.
    • Here we see the following reference path: Invoices Process > Recognize
    • From right to left. the object making the reference is in a Batch Process named "Invoices Process" and finally referenced by the step named "Recognize".
  3. Clicking any of these reference paths will take you directly to the object in the Grooper Node Tree.

We clicked the following reference path: Shared Resources > OCR Assets > Standard OCR

  1. This takes us directly to the referenced object.
    • In our case this is an OCR Profile named "Standard OCR"
  2. Note the first item in the path is the Project containing the referenced object.
    • In our case the Project named "Shared Resources"

This can be a quick way to navigate to referenced nodes and track down what Projects contain them.

BE AWARE!! Just because nothing is listed in a Project's Referenced Projects does not mean there are no external references.

  1. When a Project references nodes in another Project it should list that external Project in the Referenced Projects property.

However, there are circumstances where Project references are inadvertently removed. This is NOT best practice, but it can happen.

  1. Note here Referenced Projects lists (none).
    • We've manually removed the Project reference for the purposes of this demonstration.

Removing the Project reference DOES NOT remove the reference to the object in the external Project. However, Grooper will tell you something is wrong if you use the "Usage" tab.

  1. Navigate to the "Usage" tab.
  2. Notice there is a red warning sign next to our reference path in "Outbound References".
    • This lets us know the selected Project is missing a Project reference.
    • It is ALWAYS best practice to resolve this warning. If you see these missing Project references, please assign the reference using the Project's Referenced Projects property.

Downloading Single Projects


  1. Select the Project you want to download.
  2. Press the "Download" button at the top right of the page.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the Project to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected Project's name is.

Downloading Multiple Projects

What if you want to download more than one Project? For example, you may want to download multiple Projects if one Project references resources in another one.

To download multiple Projects, first put all the Projects you want to download in a folder. Then, select and download the folder.

  • When you export a folder to a ZIP file, all its contents are exported as well.

After moving the Projects you want to download to a subfolder in "Projects" folder:

  1. Select the folder.
  2. The selected folder, including all its contents will be downloaded to the ZIP file.
    • In this case, these two Projects.
  3. Press the "Download" button at the top right of the page.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the folder and its children (i.e. the multiple Projects inside it) to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.

Click here to return to the top of this section

Downloading Nodes in a Project

You may also download individual nodes within a Project.

  • For example, you may want to share a particular profile you've created with another Grooper user or repository.
  • For example, you may want to save a copy of your Content Model so that you can revert to a previous version if you plan on making changes to that Content Model.

Downloading Nodes in a Project

To demonstrate downloading a single Grooper object, we're going to download the Content Model in our "Mortgage" Project.


  1. Select the object you want to download.
  2. Press the "Download" button.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the object to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected object's name is.

BE AWARE!! When downloading nodes in a Project, please be vigilant in order to maintain reference integrity.

  1. If you wanted to download this OCR Profile, you couldn't only download this single object.
  2. The OCR Profile references an IP Profile as part of its configuration.
  3. Both nodes would need to be downloaded at the same time.

You can download multiple nodes by placing them in a folder and downloading the folder.

  • For information on how to download multiple nodes, see the next tab, "Downloading Multiple Nodes in a Project".
  • FYI: The more intertwined the references between nodes in a Project (or Projects), the trickier it will be to do this. You may end up needing to download the entire Project (and even any Projects the Project references).

Downloading Multiple Nodes in a Project

If you need to download multiple Grooper nodes, you can put them in a folder and download the folder (just as we've seen with downloading multiple Batches and multiple Projects).


  1. Select the folder you wish to download.
  2. The selected folder, including all its contents will be downloaded to the ZIP file.
    • In this case, these various IP Profiles and OCR Profile.
  3. Press the "Download" button at the top right of the page.


  1. This will bring up a window confirming you wish to download the selected object.
  2. Press the OK button.


  1. Grooper will download the folder and its children (i.e. the multiple Grooper nodes inside it) to your browser's download location.
    • The downloaded file will be a ZIP file, whose name will be whatever the selected folder's name is.

Click here to return to the top

Upload Grooper Nodes from a ZIP File

If you wish to follow along with this tutorial, you may import the ZIP archive files linked below into your Grooper Repository.

Uploading Batches


You can only upload ZIPS containing Batches to a folder location that can house Batches. Batches can be either uploaded to:

  • The Batches > Test folder node
    • Or any of its subfolders
  • The Batches > Production folder node
    • Or any of its subfolders

When uploading ZIPs containing Batches, you must upload the ZIP to one of these locations.

If you upload the ZIP to any other Grooper node, your upload will fail.


To upload a Batch:

  1. Select the folder node where you want to place the Batch.
    • In this case, we will upload to the Batches > Test folder.
  2. Press the "Upload" button.

BE AWARE!!

What happens if you upload a Batch that already exists somewhere in your Grooper Repository? One of two things will happen:

  1. If the Batch exists at the same level you're uploading to, the Batch will be overwritten.
  2. If the Batch exists elsewhere in the node tree, at a different level, the upload will fail.

This issue will be discussed further in the #Common Upload Issues section.


  1. This will bring up the "ZIP File Import" window.
  2. Press "Choose File" to choose a Grooper ZIP file to upload.


  1. Use the file browser to select the ZIP you wish to upload.
  2. Double-click the ZIP or press "Open" to continue.

Take care when selecting the ZIP file. Your upload will fail if:

  • The ZIP file is not a ZIP exported from Grooper.
  • The ZIP contains something besides a Batch or a folder containing only Batches.


  1. You will see the file you selected listed next to the "Choose File" button.
  2. Press the "Upload" button to upload the ZIP.


  1. If successful, you will receive the following message at the bottom of the webpage.
  2. Your Batch will be added to the folder location you originally right-clicked to start the import.
FYI

You can upload multiple Batches by uploading a ZIP of a folder containing more than one Batch.

ZIPs containing folders of multiple Batches are uploaded just like we did a single Batch.

Uploading Projects


You can only upload ZIPS containing Projects to a folder location that can house Projects. Projects can be only be uploaded to:

  • The Projects folder node
    • Or any of its subfolders.

When uploading ZIPs containing Projects, you must upload the ZIP to one of these locations.

If you upload the ZIP to any other Grooper node, your upload will fail.


To upload a Project:

  1. Select the folder node where you want to place the Project.
    • In this case, we will upload to the Projects folder.
  2. Press the "Upload" button.

BE AWARE!!

What happens if you upload a Project that already exists somewhere in your Grooper Repository? One of two things will happen:

  1. If the Project exists at the same level you're uploading to, the Project will be overwritten.
  2. If the Project exists elsewhere in the node tree, at a different level, the upload will fail.

This issue will be discussed further in the #Common Upload Issues section.


  1. This will bring up the "ZIP File Import" window.
  2. Press "Choose File" to choose a Grooper ZIP file to upload.


  1. Use the file browser to select the ZIP you wish to upload.
  2. Double-click the ZIP or press "Open" to continue.

Take care when selecting the ZIP file. Your upload will fail if:

  • The ZIP file is not a ZIP exported from Grooper.
  • The ZIP contains something besides a Project or a folder that contains Projects.


  1. You will see the file you selected listed next to the "Choose File" button.
  2. Press the "Upload" button to upload the ZIP.


  1. If successful, you will receive the following message at the bottom of the webpage.
  2. Your Project will be added to the folder location you originally right-clicked to start the import.
FYI

You can upload multiple Projects by uploading a ZIP of a folder containing more than one Projects.

ZIPs containing folders of multiple Projects are uploaded just like we did a single Project.

  • i.e. Select the node you want to upload to. Then, press the "Upload" button and select the Grooper ZIP. If it's a valid upload location, the folder will be uploaded, including all the Projects it contains.

Uploading Nodes to a Project

You can also upload a variety of other Grooper resources to a Project. This includes:

  • Content Models
  • Profiles (such as OCR Profiles and IP Profiles)
  • Extractors (such as Data Types and Value Readers
  • Any other Grooper object that can live in a Project

If it can live in a Project, you can upload it to a Project or a subfolder within a Project.

You CANNOT upload ZIP files containing Batches or Projects to a Project.

If you attempt to upload Batches or Projects to a Project, your upload will fail.

BE AWARE!!

What happens if you upload a Grooper object that already exists somewhere in your Grooper Repository? One of two things will happen:

  1. If the object exists at the same level in the Project you're uploading to, the node will be overwritten.
  2. If the Project exists elsewhere in the node tree, at a different level, the upload will fail.

This issue will be discussed further in the #Common Upload Issues section.

Click here to return to the top

Common Upload Issues

Uploading Nodes To the Wrong Location

Remember, you can only import nodes to a node location designed to hold that type of object.

A Grooper ZIP containing Batches (or a folder of multiple Batches) may only be uploaded to the following locations:

  • The Batches > Production folder node
    • Or one of its subfolders
  • The Batches > Test folder node
    • Or one of its subfolders

A Grooper ZIP containing Projects (or a folder of multiple Projects) may only me uploaded to the following locations:

  • The Projects folder node
    • Or one of its subfolders

A Grooper ZIP containing any other type of object may only be uploaded to:

  • A valid node location in a Project.

For example, you can't upload a Batch to a Project.

  1. Here we tried to import a Batch to a Project node.
  2. Grooper gives us an error message telling us the ZIP file cannot be imported.
  3. The error message takes the following format:
    • '<Destination node's name>' does not allow children of type '<ZIP'd Object's type>'.
    • This tells us that the object we tried to upload cannot be uploaded to the node we've selected.
    • In this case, a Project can't accept a Batch. Batches don't go in Projects. They go in the Batches > Production or Batches > Test folders.

Uploading Nodes That Already Exist

The upload will behave differently depending on if the object exists at the same level of the branch you're uploading to or at a different level or in a different branch.

  1. When uploading to the same level, Grooper will overwrite the existing node.
  2. When uploading to a different level, the upload will fail.
Example #1: Uploading an Object that Exists in the Same Branch

Here, we will upload a Content Model that exists in the selected branch of the node tree.

  • In this case, the existing Content Model will be overwritten.
  1. We're uploading the ZIP to this Project.
  2. The ZIP contains this Content Model.

Since the Content Model exists in the selected branch, Grooper will upload the ZIP file, and the existing Content Model will be overwritten.

  • How does Grooper know the Content Models are the same? Their GUIDs. Each Grooper object has a unique GUID. If the GUIDs match, they are the same object.

BE AWARE!! When you upload in this manner, Grooper gives you NO warning you're about to overwrite an existing object. Be sure you want to overwrite the existing object with that in the ZIP file.

Example #2: Uploading an Object that Exists in a Different Branch

Here, we will upload an IP Profile that exists in a different branch.

  • If you try to upload an object that is already present in your Grooper Repository, AND it is in a different branch in the node tree, Grooper will not let you.
  • The upload will fail in this case.
  1. We attempted to upload the ZIP to this Project
  2. The ZIP contains this IP Profile.
    • The Project does contain the object we're trying to upload, BUT NOT AT THE SELECTED BRANCH. It exists in a different branch (in this case a subfolder).
  3. After trying to upload we get an error message telling us the ZIP file cannot be imported.
  4. The error message lets us know the object already exists and where in the node tree it's located.
    • '<ZIP'd Object's name>' already exists at '<Object's node tree location>'.


It doesn't matter where in the Grooper Repository the object is. It could be in a subfolder of the node you've selected. It could be in a different location altogether in the node tree hierarchy. If the object exists anywhere else besides the selected node's branch, the upload will fail.

  • How does Grooper know the object in the ZIP is the same as some other object? Their GUIDs. Each Grooper object has a unique GUID. If the GUIDs match, they are the same object (regardless where they are in the node tree).

Uploading Nodes With Missing References

Grooper will let you download an object that references another object. This may be good or bad depending on what you want to do.

When this is good:

  • You're downloading the object so that you can re-import it later into your own Grooper Repository.
    • This won't be an issue because the referenced object already exists in your Grooper Repo.
    • Users typically do this for change management, so they have a version of something they can revert to by uploading the saved ZIP, overwriting the changed/corrupted object.

When this is bad:

  • You're downloading the object so that you can share it with another Grooper user.
    • This may be an issue because there's no guarantee the other Grooper user has that referenced object in their Grooper Repository.


If a user uploads a ZIP and does not have the referenced object in their Grooper Repository, the upload will fail.


  1. For example, something in this "Invoices" Project makes a reference to something in another Project.
  2. Remember, a Project's "Usage" tab will tell you which nodes from external Projects are being referenced.
  3. In this case, an OCR Profile in the "Shared Resources" Project is being referenced.


If you download this Project and another user attempts to upload it, they must have the referenced object in their Grooper Repository. Otherwise, the upload will fail.

  1. Here, we attempted to import the "Invoices" Project.
    • Remember, something in this Project' references something in the "Shared Resources" Project.
    • For the purposes of this demo, I've deleted the "Shared Resources" Project. So, it doesn't exist in the Grooper Repository I'm trying to upload to.
  2. This message lets you know the ZIP can't be imported.
    • The node we're trying to upload references items that do not exist in the repository.
  3. The error message will also give you the GUIDs for each missing item.

Publish Projects to a Connected Repository

WIP

This article is a work-in-progress. This portion was copied from the 2022 version of this article. It's guidance is largely accurate. However, all screenshots were taken from the 2022 thick client.

If you're connected to multiple Grooper Repositories and need to get a Project from one Repository to another, there's no need to export a ZIP file from one Repository, then import the ZIP in another Repository. You can save yourself some steps by "publishing". This allows you to copy Projects and their contents from one Grooper Repository to another.

Publishing Projects is like exporting and importing all at once from one Grooper Repository to another. The same guidance detailed above when exporting and importing nodes applies to publishing Projects as well.

  • The biggest difference is you can only publish full Projects, not Batches or individual nodes contained within a Project.
  • You can also only publish one Project at a time. This means if you are attempting to publish a Project that references another Project, you will need to publish the referenced Project first.

Be aware "Publishing" is a essentially a "copy and paste" operation. The Project is "copied" from the source Grooper Repository and "pasted" to the destination Grooper Repository. You will need to ensure you have enough disk space to make the copy and paste. This means:

  1. The user's file system publishing the Project must have enough diskspace the create a temp file for the "copied" Project.
  2. The target Grooper Repository's file store must have enough diskspace for the "pasted" Project.

Aside from that, the process is straightforward.

  1. Right-click the Project you want to publish.
  2. Select Share.
  3. Then, select Publish to Grooper Repository...


  1. This will bring up the Share • Publish to Grooper Repository window.
  2. Use the Target Repositories property to select the Repository (or Repositories) you wish to publish to.
  3. Check the box next to the Repository you want to select.
    • We've selected a Grooper Repository we're connected to named "Grooper 2022"
  4. Press the Execute button to publish.


If successfully published, a copy of the Project will be made in the target Grooper Repository or Repositories.

  1. We published to the Grooper Repository named "Grooper 2022".
  2. We can verify the published Project is now present.