Configurations
Configurations in OpenRegister allow you to package and manage related registers, schemas, and objects together as a coherent unit. This feature is particularly useful for multi-tenancy, application packaging, and organizing complex data structures.
Overview
A Configuration is a container that groups together:
- Registers: Collections of objects that share similar characteristics
- Schemas: Data structure definitions that define object properties
- Objects: Individual data items (optional)
- Mappings: Data transformation rules for converting between formats (see Mappings)
Key Concepts
Configuration Properties
Each configuration has the following properties:
- Title: A human-readable name for the configuration
- Description: Detailed description of what the configuration contains
- Type: The type or category of the configuration (e.g., 'application', 'tenant', 'module')
- Owner/App: The application or owner identifier
- Registers: Array of register IDs that are part of this configuration
- Schemas: Array of schema IDs that are part of this configuration
- Objects: Array of object IDs that are part of this configuration (optional)
- Mappings: Array of mapping IDs imported by this configuration
- Version: Configuration version for tracking changes
- Created/Updated: Timestamps for auditing
Use Cases
Application Packaging
Package all registers and schemas for a specific application:
Multi-Tenancy
Create separate configurations for different tenants:
Module Organization
Group related functionality into logical modules:
- Core Module: Base registers and schemas
- Customer Module: Customer-related data structures
- Product Module: Product catalog structures
- Order Module: Order processing structures
Creating a Configuration
Step 1: Navigate to Configurations
- Log in to your Nextcloud instance
- Navigate to the OpenRegister app
- Click on Configurations in the left sidebar
Step 2: Add New Configuration
- Click the Add Configuration button
- Fill in the configuration details:
- Title: Give your configuration a meaningful name
- Description: Describe what this configuration contains
- Type: Specify the configuration type (e.g., 'application', 'tenant')
Step 3: Select Registers and Schemas
-
Select Registers:
- Click on the Registers dropdown
- Select multiple registers that should be part of this configuration
- The count of selected registers is displayed below the selector
-
Select Schemas:
- Click on the Schemas dropdown
- Select multiple schemas that should be part of this configuration
- The count of selected schemas is displayed below the selector
Step 4: Save the Configuration
- Review your selections
- Click the Save button
- The configuration is created and added to the list
Editing a Configuration
Modifying Configuration Details
- Navigate to the Configurations page
- Find the configuration you want to edit
- Click the Actions menu (three dots)
- Select Edit
- Modify the fields as needed:
- Update title, description, or type
- Add or remove registers
- Add or remove schemas
- Click Save to apply changes
Managing Associations
You can dynamically manage which registers and schemas are associated with a configuration:
- Add new associations: Select additional items from the dropdowns
- Remove associations: Deselect items from the dropdowns
- View current associations: The modal shows all currently selected items
Viewing Configurations
Card View
The card view displays configurations as cards showing:
- Configuration title
- Description
- Type
- Owner/App
- Count of associated items (registers, schemas, objects)
Table View
The table view shows configurations in a tabular format with columns:
- Title
- Type
- Owner
- Config Keys count
- Created date
- Updated date
- Actions
Switch between views using the Cards / Table toggle buttons.
Exporting and Importing Configurations
Exporting
- Select a configuration
- Click Actions → Export
- The configuration (including its registers, schemas, and optionally objects) is exported as JSON
- Use this for:
- Backup and restore
- Moving configurations between environments
- Sharing configurations with other installations
Importing
- Click Import Configuration
- Select a configuration JSON file
- Choose whether to include objects
- The configuration and its associated items are imported