OpenRegister Feature Documentation
OpenRegister is the core data registration platform for Nextcloud — a structured data engine that turns any Nextcloud installation into a domain-specific or organisational data register. It provides schema-driven object storage, flexible querying, rich access control, government-compliant archiving, workflow automation, and AI-ready APIs.
GEMMA Reference Components
OpenRegister implements or supports the following GEMMA (Gemeentelijke Model Architectuur) reference components:
| Component | Category | GEMMA URL |
|---|---|---|
| Gegevensmagazijncomponent | Objectregistratie | GEMMA |
| Gegevensdistributiecomponent | Objectregistratie | GEMMA |
| Serviceregistercomponent | Objectregistratie | GEMMA |
| Bedrijven- en instellingen-registratiecomponent | Objectregistratie | GEMMA |
| Terugmeldingen-registratiecomponent | Objectregistratie | GEMMA |
| Documentregistratiecomponent | DMS | GEMMA |
| Documentbeheercomponent | DMS | GEMMA |
| Archiefregistratiecomponent | Archivering | GEMMA |
| Archiefbeheercomponent | Archivering | GEMMA |
| Archiefportaalcomponent | Archivering | GEMMA |
Standards Compliance
| Standard | Scope | Status |
|---|---|---|
| Archiefwet 1995 | Archival retention, destruction, e-Depot transfer | Implemented |
| MDTO (Metagegevens Duurzaam Toegankelijke Overheidsinformatie) | Archival metadata XML, SIP packages | Implemented |
| NEN 15489 | Records management, destruction workflows | Implemented |
| AVG / GDPR Article 30 | Processing activity register (verwerkingsregister) | Spec defined |
| BIO (Baseline Informatiebeveiliging Overheid) | Audit logging, access control | Implemented |
| NL API Design Rules | REST API, versioning, Dutch government API interoperability | Implemented |
| ZGW APIs (Zaakgericht Werken) | Cases, documents, authorisations; mapped via Procest app | Via Procest |
| CloudEvents v1.0 | Webhook payload format, event bus | Implemented |
| VNG Notificaties API | Dutch government notification delivery format | Implemented |
| JSON Schema (Draft 7 / 2020-12) | Object validation | Implemented |
| OpenAPI 3.1.0 | API documentation, OAS generation per register | Implemented |
| GraphQL | Query and subscription API, auto-generated from schemas | Implemented |
| MCP (Model Context Protocol) | AI agent tool and resource access, JSON-RPC 2.0 | Implemented |
| OAuth2 / RBAC Scopes | Group-based scopes in OAS security definitions | Implemented |
| iCalendar RFC 5545 | Tasks/TODOs on objects via CalDAV | Implemented |
| Schema.org | Schema import from Schema.org vocabulary | Implemented |
| GGM (Gemeentelijk Gegevensmodel) | Schema import from Dutch municipal data model | Implemented |
Feature Index
| Feature | Doc | Category | Status | Key Standards |
|---|---|---|---|---|
| Registers & Schemas | registers-and-schemas.md | Core | Implemented | JSON Schema, Schema.org, GGM |
| Object Storage & Lifecycle | object-storage.md | Core | Implemented | UUID, soft delete, versioning |
| Search, Filtering & Faceting | search-and-faceting.md | Core | Implemented | NL API Design Rules, PostgreSQL, Solr, Elasticsearch |
| Access Control (RBAC) | access-control.md | Security | Implemented | OAuth2 scopes, ZGW Autorisaties, BIO |
| Content Versioning & Audit Trail | versioning-and-audit.md | Compliance | Implemented | Archiefwet, BIO, AVG |
| Data Import & Export | data-import-export.md | Integration | Implemented | CSV, Excel, JSON, XML, OpenAPI |
| Event-Driven Architecture | event-driven-architecture.md | Integration | Implemented | CloudEvents v1.0, PSR-14 |
| Webhooks & Notifications | webhooks-and-notifications.md | Integration | Implemented | CloudEvents, HMAC, VNG Notificaties |
| Workflow Automation | workflow-automation.md | Automation | Implemented | n8n, Windmill, BPMN |
| Archiving & Records Management | archiving.md | Compliance | Implemented | Archiefwet, MDTO, NEN 15489, e-Depot |
| OpenAPI & GraphQL APIs | api-generation.md | Integration | Implemented | OpenAPI 3.1.0, GraphQL, NL API Design Rules |
| AI & MCP Integration | ai-and-mcp.md | AI | Implemented | MCP, JSON-RPC 2.0, SSE |
| Object Interactions | object-interactions.md | Collaboration | Implemented | CalDAV, RFC 5545, Nextcloud Comments |
| Real-Time Updates | realtime-updates.md | Integration | Implemented | SSE, WebSocket, notify_push |
| Multi-Tenancy & SaaS | multi-tenancy.md | Platform | Implemented | Organisation scoping, quota management |
| Deep Link Registry | deep-link-registry.md | Integration | Implemented | Nextcloud app interoperability |
| Computed Fields | computed-fields.md | Core | Implemented | Twig expressions, server-side evaluation |
| Geo Metadata & Map Visualization | geo-metadata.md | Core | Planned | GeoJSON, PDOK, RD/WGS84 |
Feature Categories
Core Data Management
The foundational layer for defining, storing, and querying structured data.
- Registers & Schemas — JSON Schema-based data model definition, import from Schema.org and GGM
- Object Storage & Lifecycle — CRUD, soft delete, relations, file attachments, locking
- Search, Filtering & Faceting — Full-text search, field filtering, faceted drill-down, multi-backend
- Computed Fields — Server-side Twig expressions for derived properties
Security & Access Control
Fine-grained authorization at every level of the data hierarchy.
- Access Control (RBAC) — Register, schema, row, and property level permissions; OAuth2 scopes
Compliance & Audit
Meeting Dutch government regulatory requirements.
- Content Versioning & Audit Trail — Immutable hash-chained audit log, semantic versioning, rollback
- Archiving & Records Management — Retention schedules, destruction workflows, MDTO XML, e-Depot transfer (SIP)
Integration
Connecting OpenRegister to external systems and workflows.
- Data Import & Export — CSV, Excel, JSON, XML, OpenAPI configuration portability
- Event-Driven Architecture — Typed PHP events, pre/post mutation hooks, StoppableEventInterface
- Webhooks & Notifications — CloudEvents delivery, HMAC signing, VNG Notificaties, retry
- Workflow Automation — Schema hooks, n8n/Windmill integration, import-time workflow triggers
- OpenAPI & GraphQL APIs — Auto-generated specs and GraphQL schema per register
- Real-Time Updates — SSE subscriptions, RBAC-filtered events, reconnection with replay
AI & Agent Interfaces
Enabling AI systems and LLMs to access register data.
- AI & MCP Integration — MCP standard protocol, tool discovery, tiered REST discovery catalog
Collaboration
Human-to-human and human-to-system interaction on objects.
- Object Interactions — Notes, tasks (CalDAV), file attachments, tags
Platform
Infrastructure for multi-tenancy and app interoperability.
- Multi-Tenancy & SaaS — Organisation isolation, quota enforcement, tenant lifecycle
- Deep Link Registry — Boot-time URL routing from consuming Nextcloud apps