2024:Grooper Command Console (Application)
Grooper Command Console (or GCC) is an administrative application used to add and remove connections to Grooper Repositories, upgrade existing Grooper Repositories to a newer version, and install and uninstall Grooper Services.
About
FYI |
Grooper Command Console (GCC) replaced Grooper Config in version 2024. All setup and configuration previously done in Grooper Config is now done in Grooper Command Console. |
Grooper Command Console (GCC) is a command line interface for performing system configuration and administrative tasks. GCC is used to:
- Set up new and connecting to existing Grooper Repositories.
- Install and uninstall Grooper Services, such as Activity Processing services.
- Be aware: GCC's primary function is to install services. Managing and configuring them should be done from the Machines node in the Design page.
- Installing product licensing
GCC performs system admin operations using command prompts. The syntax for executing a GCC command is as follows:
gcc> group command parameters
- FYI: The GCC documentation lists required parameters in angle brackets
<>
and optional parameters in square brackets[]
There are seven (7) GCC command groups:
connections
- Used to manage Grooper Repository connectionsdatabases
- Used to manage Grooper databasesservices
- Used to manage Grooper serviceslicense
- Used to manage licensing for a local Grooper license serverscripts
- Used to manage Grooper scriptsutils
- Various utility commandshelp
- Usehelp
commands for more information about commands in a group.help
commands should always follow the syntaxhelp groupName
.- For example,
help connections
will give you information about the various commands in theconnections
group.
How To: Grooper Repository Connections
⚠ |
GCC must be run as an administrator to perform most of its functionality. It performs functions that require elevated access in Windows. |
This portion of the article will instruct you how to use Grooper Command Console to do the following things:
- Connect to an existing Grooper Repository
- Create and connect to a new Grooper Repository
- Upgrade a Grooper Repository to a new version
Connect to an existing Grooper Repository
When using GCC to connect to an existing Grooper Repository, you just need to enter a single GCC command.
- Open GCC.
- GCC can be accessed from the Windows Start menu.
- The executable gcc.exe can be found in the Grooper install directly.
- Use the following GCC command to connect to the Grooper Repository:
connections add <server> <database> [user] [password]
<server>
is a required parameter. Enter the server name (or IP address) hosting the Grooper database.<database>
is a required parameter. Enter the name of the Grooper database. If the database name contains spaces, you must enclose the whole name in quotes (i.e."database name"
)[user]
and[password]
are optional parameters. Windows will pass through the currently logged on user's credentials if not entered.
For example, if I wanted to connect to a Grooper Repository whose database named "2024 Grooper DB" was hosted on a server named "GROOPERSQL01", I would enter the following GCC command.
connections add GROOPERSQL01 "2024 Grooper DB"
FYI |
If you want to verify which Grooper Repositories you are connected to, use the following command:
connections list
|
Create and connect to a new Grooper Repository
Creating a new Grooper Repository is done with three GCC commands. (1) You will use a command to create a new Grooper database. (2) You will use a command to add the connection to the newly created Grooper database. (3) You will initialize the new Grooper Repository.
- Open GCC.
- GCC can be accessed from the Windows Start menu.
- The executable gcc.exe can be found in the Grooper install directly.
- Use the following GCC command to create a new Grooper database:
databases create <serverName> <databseName> [user] [password]
<serverName>
is a required parameter. Enter the server name (or IP address) hosting MSSQL where the database will be created.<databaseName>
is a required parameter. Enter the name of the Grooper database.- If the database name contains spaces, you must enclose the whole name in quotes
- Ex:
"2024 Grooper Database"
[user]
and[password]
are optional parameters. Windows will pass through the currently logged on user's credentials if not entered.
- Use the following GCC command to add a connection to the new Grooper database:
connections add <serverName> <databaseName> [user] [password]
<serverName>
is a required parameter. Enter the server name (or IP address) from step 2.<databaseName>
is a required parameter. Enter the name of the Grooper database from step 2.- If the database name contains spaces, you must enclose the whole name in quotes.
- Ex:
"2024 Grooper Database"
[user]
and[password]
are optional parameters. Windows will pass through the currently logged on user's credentials if not entered.
- Use the following GCC command to initialize the new Grooper Repository:
connections init <connectionNo> <repositoryName> <storagePath>
- Grooper Repositories must be initialized before they can be used.
- Initialization builds the tables in the Grooper database and associates the Grooper file store's path with the Grooper Repository.
- If you do not have a folder location created for the file store, do so now. You will need to enter a UNC path for the Grooper file store for the
storagePath
parameter
connectionNo
is a required parameter. Enter the connection number for the Grooper Repository you want to initialize.<repositoryName>
is a required parameter. By default, uninitialized Grooper Repositories are named "New Grooper Repository" use the<repositoryName>
parameter to rename your Grooper Repository.- Please enclose this parameter in quotes to avoid conflicts. Spaces in Grooper Repository names will break the GCC command.
- Ex:
"2024 Grooper Repo"
storagePath
is a required parameter. Enter the storage path for your Grooper file store's folder location.- Only use fully qualified UNC paths. Mapped and local drive references may not be accessible to other users or machines.
- Please enclose this parameter in quotes to avoid conflicts. Spaces and special characters in the storage path will break the GCC command.
- Ex:
"\\servername\Grooper File Stores\2024 Grooper Repo File Store"
- Grooper Repositories must be initialized before they can be used.
For example, the following three commands would create a new Grooper Repository named "2024 Grooper Repo" (presuming this is the first Grooper Repository connection added to GCC).
databases create SQLSERVER01 "2024 Grooper Database"
connections add SQLSERVER01 "2024 Grooper Database"
connections init 1 "2024 Grooper Repository" "\\servername\Grooper File Stores\2024 Grooper Repo File Store"
FYI |
Knowing which Grooper Repository connection number you need to enter is critical to using the
connections listThis will list all Grooper Repository connections and display some basic information about them. In this image see connection number "3" is not initialized. |
Upgrade a Grooper Repository to a new version
FYI |
Major versions of Grooper change the Grooper database in meaningful ways. These changes to the database must be reflected by upgrading the Grooper Repository. For major version upgrades (For example, 2023 to 2024), all Grooper Repositories configured on an older version must be upgraded in order to connect to them to Grooper. For minor build upgrades (For example, 24.0.0001 to 24.0.0002) you do not need to upgrade each Grooper Repository. No major changes are made to the Grooper database. You do not need to run the upgrade command in GCC when upgrading minor builds. |
When using GCC to connect to an existing Grooper Repository, you just need to enter a single GCC command. This GCC command will run upgrade code on an older Grooper Repository, allowing it to be used in a newer Grooper version.
IMPORTANT!!! DON'T FORGET TO BACKUP YOUR REPOS
You should always perform a complete backup of your Grooper Repository's file store and database before upgrading to any newer Grooper version.
- If, for whatever reason, something goes wrong during the upgrade process and your file store and/or database is corrupted, you could loose critical components, such as your Batch Processes, Content Models, or documents in testing or production Batches.
- Performing a backup will ensure you have something to revert to in the rare cases where the upgrade does improperly overwrite existing database values or files in your file store.
- For at least one way to backup and restore your Grooper database and file store, please visit the article below:
To upgrade a Grooper Repository:
- Open GCC.
- GCC can be accessed from the Windows Start menu.
- The executable gcc.exe can be found in the Grooper install directly.
- Use the following GCC command to upgrade the Grooper Repository:
connections upgrade <connectionNo>
connectionNo
is a required parameter. Enter the connection number for the Grooper Repository you want to upgrade.
⚠ |
IMPORTANT - If present, make sure you compile all Object Libraries after the upgrade. IMPORTANT - The devs also strongly recommend that you perform validation on your repository after upgrading.
|
FYI |
Knowing which Grooper Repository connection number you need to enter is critical to using the
In this image see connection number "3" is an older version and needs to be upgraded. |
How To: Grooper services
⚠ |
BE AWARE: Managing Grooper services has changed somewhat in version 2024 Prior to version 2024, Grooper services were installed in and configured in the Grooper Config application. In version 2024, Grooper services are installed in GCC but most users will find it difficult to configure them in GCC. Services should be configured using the Machines node of the Design page. |
This portion of the article will instruct you how to use GCC to following things related to Grooper services:
- View available Grooper service types
- Install a Grooper service
- Install a Grooper service
- Managing and configuring Grooper services
- FYI: Most users will find it difficult to configure Grooper services from GCC. It will be easier to configure Grooper services from the Machines node of the Design page.
View available Grooper service types
To install a Grooper service in GCC, you need to know the service's type name. If you do not know the Grooper service type names by heart, you will need to use a GCC command to display a list of available Grooper services.
- Open GCC.
- GCC can be accessed from the Windows Start menu.
- The executable gcc.exe can be found in the Grooper install directly.
- Use the following GCC command to connect to the Grooper Repository:
services types
At the time of writing this article, this is the information GCC returns:
Type Name...: SystemMaintenanceService
Display Name: System Maintenance Service
Description.: Runs system maintenance on a recurring schedule.
Type Name...: ImportWatcher
Display Name: Import Watcher
Description.: Import Watcher is a service which schedules and runs Import Jobs.
Type Name...: LicenseService
Display Name: Grooper Licensing
Description.: Serves runtime licenses to Grooper applications. (Self-Hosted licensing only)
Type Name...: ActivityProcessing
Display Name: Activity Processing
Description.: The Activity Processing service executes Code Activities, which perform the work associated with steps in a Batch Process.
Type Name...: ApiServices
Display Name: API Services
Description.: Exposes a set of API services which enables 3rd party applications to interact with a Grooper Repository.
Type Name...: IndexingService
Display Name: Indexing Service
Description.: Automatically synchronizes data to AI Search indexes as documents are added, edited, and deleted in Grooper.
Install a Grooper service
⚠ |
GCC must be run as an administrator to perform most of its functionality. It performs functions that require elevated access in Windows. |
Installing a Grooper service is done with the services install
command. All Grooper services are easy to install from GCC. However, Grooper services are difficult to fully configure from GCC. Best practice is to use GCC to install the service but use the Machines node of the Design page to configure services.
- Open GCC.
- GCC can be accessed from the Windows Start menu.
- The executable gcc.exe can be found in the Grooper install directly.
- Use the following GCC command to create a new Grooper database:
services install <connectionNo> <typeName> <userName> <password> [threadCount] [queueName]
connectionNo
is a required parameter. Enter the connection number for the Grooper Repository using the service. If you don't know the connection number, enter theconnections list
command for a list of all Grooper Repository connections.<typeName>
is a required parameter. Enter the Grooper service's type name. If you don't know the type name, enter theservices types
command for a list of Grooper service types.<userName>
is a require parameter. Enter the user name to run the service under. This user must have the "Log on as Service" permission in Windows.<password>
is a required parameter. Enter the password for the provided user name.[threadCount]
is an optional parameter and only pertains to installing Activity Processing services. Here, you can enter the number of worker threads an Activity Processing service will use. If left blank, the thread count will default to 1.[queueName]
is an optional parameter and only pertains to installing Activity Processing services. This parameter defines the Grooper Processing Queue to pull work from. The "default" Processing Queue will be used if left blank.
- After attempting the install GCC will present an installation log. At the end of this log it will inform you if:
- The service was successfully installed.
- Or, the service installation FAILED.
Example 1: The following GCC command would install an unconfigured Import Watcher service to the first Grooper Repository connection:
services install 1 ImportWatcher domain\username password
Example 2: The following GCC command would install an Activity Processing service to the first Grooper Repository that utilizes three processing threads (with no Processing Queue assigned).
services install 1 ActivityProcessing domain\username password 3
Starting and stopping Grooper services from GCC
Starting and stopping Grooper services from GCC is typically unnecessary. You can stop and start services from the Machines node of the Design page.
However, the following commands can be used to start and stop Grooper services from GCC:
Uninstall a Grooper service
⚠ |
GCC must be run as an administrator to perform most of its functionality. It performs functions that require elevated access in Windows. |
Uninstalling a Grooper service is done with the services uninstall
command. Be sure services are stopped before uninstalling them.
Configuring Grooper services
Configure Grooper services from GCC is NOT advised. It is much easier to configure services from the Machines node of the Design page.
DOCUMENTATION FORTHCOMING. PENDING UI CHANGES IN CURRENT BETA BUILD.
Command Quick Reference
Command Group: help
Help-related commands.
Command |
Description | |
help |
Displays a list of commands. | |
help <group> |
Displays help for a specific command group. | |
help <group> <command> |
Displays help for a specific command. | |
help list |
Displays a list of commands. | |
help list <group> |
Displays help for a specific command group. | |
help list <group> <command> |
Displays help for a specific command. |
Command Group: connections
Manage Grooper repository connections.
Command |
Description | |
connections |
List the Grooper Repository connections for this machine. | |
connections add <server> <database> [user] [password] |
Add a Grooper Repository connection.
| |
connections delete <connectionNo> |
Deletes (removes) a connection to a Grooper Repository.
| |
connections init <connectionNo> <repositoryName> <storagePath> |
Initializes a new Grooper repository.
| |
connections list |
List the Grooper Repository connections for this machine.
| |
connections move <connectionNo> <newPosition> |
Moves a data source to new position in the list. Use this to reorder Grooper Repositories in the connection list.
| |
connections purge <connectionNo> |
Destroys all database tables and files for a connections. USE WITH CARE!! THIS EFFECTIVELY TRASHES A GROOPER REPOSITORY!!!
| |
connections reindex <connectionNo> [recreate] |
Rebuilds all indices on Grooper database tables.
| |
connections rename <connectionNo> <newName> |
Renames a Grooper Repository.
| |
connections repair <connectionNo> [files] |
Starts a database repair operation to detect and fix problems in the Grooper database.
| |
connections setDefault <connectionNo> |
Sets a Grooper Repository connection as the default connection.
| |
connections test <connectionNo> |
Tests a specific Grooper Repository conneciton.
| |
connections upgrade <connectionNo> |
Upgrades the selected Grooper database to the currently installed version.
| |
connections upgradeType <connectionNo> <upgraderTypeName> |
Runs a specific node upgrader. This command is not commonly used.
| |
connections validate <connectionNo> |
Validates the properties of all nodes in the Grooper Repository. Produces a list of validation messages.
|
Command Group: databases
Manage Grooper repository connections.
Command |
Description | |
databases create <serverName> <databaseName> [user] [password] |
Creates a new MSSQL database.
| |
databases delete <serverName> <databaseName> [user] [password] |
Deletes MSSQL database using MSSQL authentication. USE WITH CAUTION!!
| |
databases list <serverName> [user] [password] |
Lists the databases on an MSSQL server using MSSQL authentication.
|
Command Group: license
Manage licensing for a local Grooper license server.
Command |
Description | |
license |
Displays information about the Grooper license bound to this machine, if one exists. | |
license download <serialNo> |
Downloads a Grooper license and binds it to this machine.
| |
license import <filename> |
Imports a Grooper license file for local hosting on this machine.
| |
license refresh |
Checks for license updates. | |
license rehost <exportPath> |
Unbind licensing from this machine.
| |
license view |
Displays information about the Grooper license bound to this machine, if one exists. |
Command Group: scripts
Manages Grooper scripts.
Command |
Description | |
scripts getLatest <path> <repositoryId> <nodeId> |
Updates the local script with files from the Grooper node.
| |
scripts mismatch <path> <repositoryId> <nodeId> |
Compares the local script files to the files stored on the Grooper node.
| |
scripts update <path> <repositoryId> <nodeId> |
Saves a script project to Grooper from a file system directory.
| |
scripts updateAndCompile <path> <repositoryId> <nodeId> |
Saves a script project to Grooper from a file system directory and compile it.
|
Command Group: services
Manage Grooper services.
Command |
Description | |
services install <connectionNo> <typeName> <userName> <password> [threadCount] [queueName] |
Installs a new instance of a Grooper service. Newly installed services will need to be started after successful installation.
| |
services list |
List all Grooper services installed on the machine. | |
services spinup <connectionNo> <typeName> [threadCount] [queueName] |
Spins up an instance of a Grooper service in a Docker container, running under the NETWORK SERVICE account.
| |
services host <connectionNo> <typeName> [settings] |
Hosts a Grooper service in-process.
| |
services host_copy <instanceNo> |
Hosts a copy of a Grooper service installed on the local machine in-process. Use this command to spin up additional Activity Processing worker services.
| |
services start |
Starts all services on the machine. | |
services start <instanceNo> |
Starts a specified Grooper service.
| |
services stop |
Stops all Grooper services on the machine. | |
services stop <instanceNo> |
Stops a specified Grooper service.
| |
services types [connectionNo] |
Displays a list of available service types. Use this command to learn what service types are available when configuring a
| |
services uninstall <instanceNo> |
Remove an instance of a Grooper service.
|
Command Group: utils
Miscellaneous utilities. These utilities are uncommonly used by most Grooper users.
Command |
Description | |
utils about |
Displays information about the installed Grooper version. | |
utils analyze <connectionNo> |
Analyzes custom objects within Grooper Object Libraries. Classes and properties that are missing documentation comments will be listed.
| |
utils exec <filename> |
Executes a Grooper Command Console batch file.
| |
utils ping <connectionNo> <name> [interval] |
Tests a CMIS Connection or a Data Connection.
| |
utils update <machineName> [applyChanges] [rebuild] |
Updates binaries on another machine to match the local machine.
| |
utils upgradeTables <connectionNo> |
Upgrades database tables for version 2024. This command should no longer be necessary. It was only used in early development builds for version 2024. |