The Software Catalogus is a Nextcloud app that provides a powerful framework for managing and synchronizing software catalogs in an open data ecosystem. This app enables organizations to keep their software data up-to-date, facilitates collaboration, and promotes transparency through open data practices.
- 🔄 Synchronize Software Data: Automatically synchronize your software data across multiple catalogs.
- 📡 Automatic Publication: Publish and update software catalog information seamlessly.
- 🆓 Open Source: Licensed under the EUPL.
- PHP 8.0 or higher
- PostgreSQL 10+, SQLite, or MySQL 8.0+
- Nextcloud version 28 to 30
- System Cron is required for the app to function properly
To install the Software Catalogus app, follow these steps:
-
Download the App: Download the latest release from the GitHub repository.
-
Upload the App: Upload the app to the
apps
directory of your Nextcloud installation. -
Enable the App: Go to the "Apps" section in your Nextcloud instance and enable the Software Catalogus app.
-
Configure System Cron: Ensure that the System Cron is properly configured on your server to allow the app to function optimally.
- User Creation: Automatic Nextcloud account creation from contactgegevens objects
- Username Generation: Smart username creation from name fields (voornaam.achternaam)
- Profile Synchronization: User data kept in sync with OpenRegister
- Role-Based Groups: Automatic assignment to groups based on user roles (beheerder, inkoper)
- Organization Groups: Each organization gets its own group with automatic member assignment
- Special Groups: Municipality (gemeente) users automatically get 'ambtenaar' group
- Dynamic Updates: Group memberships automatically updated when roles change
- Auto-Beheerder Assignment: First user in organization automatically becomes beheerder
- Manager Relationships: Beheerders become managers for their organization's users
- Hierarchy Management: Multiple beheerders supported with seniority-based primary manager
- Organization Groups: Automatic group creation and management for each organization
- Real-Time Updates: Processes changes immediately via OpenRegister events
- Multiple Event Types: Handles creation, updates, deletion, locking, and reversion
- Error Recovery: Comprehensive error handling with detailed logging
- Type Safety: Robust handling of schema ID mismatches and data validation
Comprehensive documentation is available in the docs/
directory:
- 📖 User Guide - Complete guide for end users and system administrators
- ⚙️ Configuration Guide - Setup instructions and troubleshooting
- 🏗️ Architecture Documentation - System design and component overview
- 👥 Group Management Guide - Detailed explanation of group logic
- 🔌 API Reference - Technical API documentation
- Install Prerequisites: Ensure OpenRegister app is installed and enabled
- Configure Schemas: Set up schema mappings in Admin Settings → Software Catalogus
- Test Processing: Create a contactgegevens object in OpenRegister to verify automatic user creation
- Monitor Groups: Check that users are assigned to appropriate groups
Once installed, the Software Catalogus app will:
- Automatic Processing: Listen for OpenRegister events and process users/organizations automatically
- Admin Interface: Provide configuration interface in Admin Settings → Software Catalogus
- Group Management: Handle all user group assignments and organizational hierarchy
- Manager Relationships: Establish and maintain manager-subordinate relationships