Open Registers provides a way to quicly build and deploy standardized registers based on NLGov REST API Design Rules and Common Ground Principles. It is based on based on the concepts of defining object types in schema.json
and storing objects in configurable source.
Open Registers is a system for managing registers in Nextcloud. A register is a collection of one or more object types that are defined by a schema.json
. Registers sort objects and validate them against their object types.
Registers can store objects either directly in the Nextcloud database, or in an external database or object store.
Registers provide APIs for consumption.
Registers can also apply additional logic to objects, such as validation that is not applicable through the schema.json
format.
- π¦ Object Management: Work with objects based on
schema.json
. - ποΈ Register System: Manage collections of object types.
- π‘οΈ Validation: Validate objects against their types.
- πΎ Flexible Storage: Store objects in Nextcloud, external databases, or object stores.
- π APIs: Provide APIs for consumption.
- π§© Additional Logic: Apply extra validation and logic beyond
schema.json
. - ποΈ Object Deletion | Soft deletion with retention and recovery | Data safety, compliance, lifecycle management
For more detailed information, please refer to the documentation files in the docs
folder:
Open Register is a powerful object management system for Nextcloud that helps organizations store, track, and manage objects with their associated metadata, files, and relationships. Born from the Dutch Common Ground initiative, it addresses the need for quickly deploying standardized registers based on centralized definitions from standardization organizations.
Open Register emerged from the Dutch Common Ground movement, which aims to modernize municipal data management. The project specifically addresses the challenge many organizations face: implementing standardized registers quickly and cost-effectively while maintaining compliance with central definitions.
- Decentralized data storage
- Component-based architecture
- Standardized definitions
- API-first approach
Open Register makes these principles accessible to any organization by providing:
- Quick register deployment based on standard schemas
- Flexible storage options
- Built-in compliance features
- Cost-effective implementation
Feature | Description | Benefits |
---|---|---|
πΎ Storing Objects | Configure how and where register data is stored | Storage flexibility, system integration, scalability |
π Audit Trails | Complete history of all object changes | Compliance, accountability, change tracking |
β° Time Travel | View and restore previous object states | Data recovery, historical analysis, version control |
π Object Locking | Prevent concurrent modifications | Data integrity, process management, conflict prevention |
ποΈ Soft Deletes | Safely remove objects with recovery options | Data safety, compliance, mistake recovery |
π Object Relations | Create and manage connections between objects | Complex data structures, linked information, dependencies |
π File Attachments | Manage files associated with objects | Document management, version control, previews |
π Content Search | Full-text search across objects and files | Quick discovery, unified search, advanced filtering |
π·οΈ Automatic Facets | Dynamic filtering based on object properties | Intuitive navigation, pattern discovery, smart filtering |
β Schema Validation | Validate objects against JSON schemas | Data quality, consistency, structure enforcement |
π Register Management | Organize collections of related objects | Logical grouping, access control, process automation |
π Access Control | Fine-grained permissions management | Security, role management, granular control |
β‘ Elasticsearch | Advanced search and analytics capabilities | Performance, insights, complex queries |
π Schema Import & Sharing | Import schemas from Schema.org, OAS, GGM, and share via Open Catalogi | Standards compliance, reuse, collaboration |
π Events & Webhooks | React to object changes with events and webhooks | Integration, automation, real-time updates |
βοΈ Data Filtering | Select specific properties to return | Data minimalization, GDPR compliance, efficient responses |
π Advanced Search | Filter objects using flexible property-based queries | Precise filtering, complex conditions, efficient results |
ποΈ Object Deletion | Soft deletion with retention and recovery | Data safety, compliance, lifecycle management |
Documentation is available at https://openregisters.app/ and created from the website folder of this repository.
- Nextcloud 25 or higher
- PHP 8.1 or higher
- Database: MySQL/MariaDB
This monorepo is a Nextcloud app, it is based on the following structure:
/
βββ app/ # App initialization and bootstrap files
βββ appinfo/ # Nextcloud app metadata and configuration
βββ css/ # Stylesheets for the app interface
βββ docker/ # Docker configuration for development
βββ img/ # App icons and images
βββ js/ # JavaScript files for frontend functionality
βββ lib/ # PHP library files containing core business logic
βββ src/ # Vue.js frontend application source code
βββ templates/ # Template files for rendering app views
βββ website/ # Documentation website source files
When running locally, or in development mode the folders nodus_modules and vendor are added. Thes shoudl however not be commited.
Please see our Contributing Guide for details on how to contribute to this project.
This project is licensed under the EUPL License - see the LICENSE file for details.
For more information, please contact info@conduction.nl.