8000 GitHub - ConductionNL/openregister: Provides the ability to work with objects based on schema.json
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ConductionNL/openregister

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Open Registers

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.

What is Open Registers?

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.

Key Features

  • πŸ“¦ 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

Documentation

For more detailed information, please refer to the documentation files in the docs folder:

Open Register

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.

Background

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.

Common Ground Principles

  • 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

Key Features

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

Documentation is available at https://openregisters.app/ and created from the website folder of this repository.

Requirements

  • Nextcloud 25 or higher
  • PHP 8.1 or higher
  • Database: MySQL/MariaDB

Project Structure

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.

Contributing

Please see our Contributing Guide for details on how to contribute to this project.

License

This project is licensed under the EUPL License - see the LICENSE file for details.

Contact

For more information, please contact info@conduction.nl.

About

Provides the ability to work with objects based on schema.json

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 12

0