OpenRegister
Stable · v3.1 EN ▾
Docs / Introduction

Introduction

Open Register is a versatile system for creating and managing domain-specific or organisational data registers. Whether you build a social-security database, manage client information, or create any other structured data repository, Open Register gives you a storage-independent way to manage and validate data objects.

Core concepts

Open Register runs on three principles:

  1. JSON Schema validation. Every object is validated against a predefined JSON Schema before it lands. Data stays consistent across your application.
  2. Storage independence. Objects can live in Nextcloud's internal database, an external SQL database (MySQL, MariaDB, PostgreSQL), or a document store (MongoDB). The storage adapter interface lets you add more backends without changing client code.
  3. Flexible schema sources. Schemas can be defined manually, imported from Schema.org, imported from the Dutch GGM, or pulled from any other public standard.

Key features

FeatureWhat it doesSub-features
💾 Storing objects Core entity with validated data, metadata, relationships, and file attachments. Schema validation · Relationships · Object locking · Soft deletion · Version history · Audit trails
📝 Schema management Define and validate data structures using JSON Schema. JSON-Schema validation · Versioning · Import / export · Schema.org · GGM
Register management Organise collections of related objects with shared schemas. Domain organisation · Schema grouping · Access control · Data segregation
🔒 Access control Enterprise permissions with Nextcloud RBAC and Keycloak integration. Role-based access · ADFS · Keycloak · FCS compliance
🔍 Search & facets Advanced search with automatic faceting. Full-text · Auto-facets · Pattern matching · Wildcards

Basic workflow

  1. Define or import your register schema (a client database, a social-security record, anything).
  2. Client sends a JSON object via the API.
  3. Open Register validates it against the corresponding JSON Schema.
  4. If valid, the object is stored in the configured backend.
  5. The object can be retrieved later, regardless of the storage backend it landed in.
Tip

Start with a schema from Schema.org. You will rewrite less code, your data will speak a standard language, and external tools will recognise it without bespoke mapping.

What you get out of the box

Next

Continue with the installation guide, or jump to the feature pages if you already have the app installed.

↩ Product pages