Grooper Infrastructure

From Grooper Wiki
Revision as of 11:36, 6 January 2020 by Configadmin (talk | contribs)

What is Grooper? Grooper is a repository of information made up by a SQL Server Database and a Windows file share. This information is displayed to the user via an application(s) that displays a 1 to 1 relationship of what exists in that database and fileshare. Gaining an understanding of how to properly create using Grooper begins by first understanding the structure of its architecture, and why it is built the way it is. This sets a foundational groundwork for knowing how to think and interact with the application.

The Three Layers of Grooper

Grooper consists of three main components that constantly interact with one another:

  1. Database
  2. Filestore
  3. Application

The Database

This is the core component of Grooper as all aspects of the functionality and configuration of a Grooper repository are stored here as metadata in cells of tables. There are 13 tables that make up the Grooper database:

  1. AccessControlEntry
  2. CustomStats
  3. FileStoreEntry
  4. License
  5. LicenseCheckout
  6. Lock
  7. Log
  8. NodeReference
  9. ProcessingTask
  10. ServiceInstance
  11. SessionStats

Using a SQL database as the core of Grooper allows for great efficiency. Every property of every object in Grooper, as a result of being a simple entry in a table, can be loaded into memory and accessed nearly instantly. This would not be the case otherwise (if for example Grooper repositories were defined by something like a project file), as file i/o is one of the slowest aspects of modern computing. This also allows the discrete management of objects on an individual basis to allow multiple users to work in one environment and prevent work overlap by locking objects.

The File Store

The File Store in Grooper is a file share in a Windows environment. It houses the files associated with objects in Grooper that have information that would otherwise be inefficient to store in (a cell in) a database table.

The Application

This is the most visible aspect of Grooper as it is the software you interact with that displays the currently active repository. It consists of several pieces:

  1. Grooper Design Studio
  2. Grooper Config
  3. Grooper Attended Client
  4. Grooper Unattended Client

Every object in the Grooper Node Tree is an object, or row, in a specific table, the dbo.TreeNode table. The GUI of Grooper is essentially wrapping information from the Grooper database, and associated files from the Grooper File Store, into a series of grids and windows that allow you to directly interact with that database, and its related Windows file share, without writing SQL queries.