diff --git a/.forgejo/workflows/tests-live.yml b/.forgejo/workflows/tests-live.yml index d1a3ed63..c70b74fa 100644 --- a/.forgejo/workflows/tests-live.yml +++ b/.forgejo/workflows/tests-live.yml @@ -159,7 +159,7 @@ jobs: # same apps-extra tree. CI clones only this repo, so fetch OR's # release build instead. OR_SRC="$RUNNER_TEMP/openregister" - git clone --depth 1 https://codeberg.org/Conduction/openregister.git "$OR_SRC" + git clone --depth 1 https://github.com/ConductionNL/openregister.git "$OR_SRC" ( cd "$OR_SRC" && composer install --no-dev --no-interaction --no-progress --prefer-dist ) fi docker exec nextcloud mkdir -p /var/www/html/custom_apps/openregister diff --git a/README.md b/README.md index 1d98df00..24811141 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ Stackiq brings structured software portfolio management to Nextcloud. Register the applications, modules, and connections (koppelingen) that make up your organization's IT landscape, manage contacts and organizations, and synchronize catalog data across a federated open data network — all aligned with Dutch GEMMA standards. -It integrates with [OpenRegister](https://codeberg.org/Conduction/openregister) for data storage and automatic user provisioning, turning register contacts into Nextcloud accounts with role-based group membership. +It integrates with [OpenRegister](https://github.com/ConductionNL/openregister) for data storage and automatic user provisioning, turning register contacts into Nextcloud accounts with role-based group membership. -> **Requires:** [OpenRegister](https://codeberg.org/Conduction/openregister) — all data is stored as OpenRegister objects (no own database tables). +> **Requires:** [OpenRegister](https://github.com/ConductionNL/openregister) — all data is stored as OpenRegister objects (no own database tables). ## Screenshots @@ -113,7 +113,7 @@ stackiq/ |-----------|---------| | Nextcloud | 28 -- 33 | | PHP | 8.0+ | -| [OpenRegister](https://codeberg.org/Conduction/openregister) | latest | +| [OpenRegister](https://github.com/ConductionNL/openregister) | latest | ## Installation @@ -267,11 +267,11 @@ Stackiq is not a standalone application — it runs as a Nextcloud app backed by | Repository | Role | Required | |-----------|------|----------| -| [OpenRegister](https://codeberg.org/Conduction/openregister) | Data storage layer — all objects (applications, modules, organizations, contacts) are stored as JSON objects in OpenRegister. Also provides the Docker environment (`docker-compose.yml`). | Yes | -| [OpenCatalogi](https://codeberg.org/Conduction/opencatalogi) | Publication and catalog management — handles public search, faceted filtering, and federated publishing of catalog data. | Yes | -| [NL Design](https://codeberg.org/Conduction/nldesign) | Design token theming — applies Dutch government (NL Design System) styling via CSS custom properties. | Yes | -| [Tilburg WOO UI](https://codeberg.org/Conduction/tilburg-woo-ui) | **Separate public frontend** — a React/Preact SPA that serves as the citizen-facing interface at `localhost:3000`. Provides public search, detail pages, and registration forms (product, usage, integration, organization). This is **not** a Nextcloud app but a standalone web application that communicates with Nextcloud via the OpenRegister and OpenCatalogi APIs. | Yes | -| [LaunchPad](https://codeberg.org/Conduction/launchpad) | Dashboard widgets for the Nextcloud dashboard page. | Recommended | +| [OpenRegister](https://github.com/ConductionNL/openregister) | Data storage layer — all objects (applications, modules, organizations, contacts) are stored as JSON objects in OpenRegister. Also provides the Docker environment (`docker-compose.yml`). | Yes | +| [OpenCatalogi](https://github.com/ConductionNL/opencatalogi) | Publication and catalog management — handles public search, faceted filtering, and federated publishing of catalog data. | Yes | +| [NL Design](https://github.com/ConductionNL/thematiq) | Design token theming — applies Dutch government (NL Design System) styling via CSS custom properties. | Yes | +| [Tilburg WOO UI](https://github.com/ConductionNL/tilburg-woo-ui) | **Separate public frontend** — a React/Preact SPA that serves as the citizen-facing interface at `localhost:3000`. Provides public search, detail pages, and registration forms (product, usage, integration, organization). This is **not** a Nextcloud app but a standalone web application that communicates with Nextcloud via the OpenRegister and OpenCatalogi APIs. | Yes | +| [LaunchPad](https://github.com/ConductionNL/launchpad) | Dashboard widgets for the Nextcloud dashboard page. | Recommended | ## Installation diff --git a/docs/static/llms.txt b/docs/static/llms.txt index 84365806..1d3ea1a4 100644 --- a/docs/static/llms.txt +++ b/docs/static/llms.txt @@ -19,5 +19,5 @@ Stackiq is an open-source IT-asset-management app for the Nextcloud workspace. I - Email: info@conduction.nl - Web: https://www.conduction.nl -- GitHub: https://codeberg.org/Conduction +- GitHub: https://github.com/ConductionNL - Conduction B.V. · KvK 76741850 · Lauriergracht 14h, Amsterdam, Netherlands diff --git a/lib/EventListener/StackiqEventListener.php b/lib/EventListener/StackiqEventListener.php index 5f2cf672..9bdceaf3 100644 --- a/lib/EventListener/StackiqEventListener.php +++ b/lib/EventListener/StackiqEventListener.php @@ -12,7 +12,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/OpenConnector + * @link https://github.com/ConductionNL/integriq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -47,7 +47,7 @@ * @author Conduction b.v. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/OpenConnector + * @link https://github.com/ConductionNL/integriq * @todo This listener should be moved to the software catalog app. * * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) diff --git a/lib/EventListener/TestEventListener.php b/lib/EventListener/TestEventListener.php index c55d0250..f1fb5daa 100644 --- a/lib/EventListener/TestEventListener.php +++ b/lib/EventListener/TestEventListener.php @@ -12,7 +12,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/OpenConnector + * @link https://github.com/ConductionNL/integriq */ declare(strict_types=1); @@ -36,7 +36,7 @@ * @author Conduction b.v. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/OpenConnector + * @link https://github.com/ConductionNL/integriq */ class TestEventListener implements IEventListener { /** diff --git a/lib/Service/PortfolioReportService.php b/lib/Service/PortfolioReportService.php index 21612b3a..56187fdb 100644 --- a/lib/Service/PortfolioReportService.php +++ b/lib/Service/PortfolioReportService.php @@ -20,7 +20,7 @@ * @author Conduction b.v. * @copyright 2026 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/changes/portfolio-rationalization-time/specs/portfolio-rationalization-time/spec.md#requirement-portfolio-rationalization-report-aggregates-per-organisation * diff --git a/lib/Service/Settings/SyncSettingsHandler.php b/lib/Service/Settings/SyncSettingsHandler.php index 53c806ef..0d22c33d 100644 --- a/lib/Service/Settings/SyncSettingsHandler.php +++ b/lib/Service/Settings/SyncSettingsHandler.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/changes/method-decomposition/tasks.md#task-1 * diff --git a/lib/Service/SettingsService.php b/lib/Service/SettingsService.php index 32f6a577..280c852a 100644 --- a/lib/Service/SettingsService.php +++ b/lib/Service/SettingsService.php @@ -9,7 +9,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: 1.0.0 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -42,7 +42,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: 1.0.0 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.ExcessiveClassLength) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) diff --git a/lib/Service/Stackiq/ApiClient.php b/lib/Service/Stackiq/ApiClient.php index f46597a6..8609b62a 100644 --- a/lib/Service/Stackiq/ApiClient.php +++ b/lib/Service/Stackiq/ApiClient.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/changes/method-decomposition/tasks.md#task-2 * diff --git a/lib/Service/Stackiq/ConflictResolver.php b/lib/Service/Stackiq/ConflictResolver.php index 0a044f64..66d7b676 100644 --- a/lib/Service/Stackiq/ConflictResolver.php +++ b/lib/Service/Stackiq/ConflictResolver.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/changes/method-decomposition/tasks.md#task-2 * diff --git a/lib/Service/Stackiq/ContactPersonHandler.php b/lib/Service/Stackiq/ContactPersonHandler.php index 3e0395cd..1bbd2601 100644 --- a/lib/Service/Stackiq/ContactPersonHandler.php +++ b/lib/Service/Stackiq/ContactPersonHandler.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq */ declare(strict_types=1); @@ -37,7 +37,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.ExcessiveClassLength) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) diff --git a/lib/Service/Stackiq/DataMapper.php b/lib/Service/Stackiq/DataMapper.php index ead69b56..c0244aa7 100644 --- a/lib/Service/Stackiq/DataMapper.php +++ b/lib/Service/Stackiq/DataMapper.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/changes/method-decomposition/tasks.md#task-2 * diff --git a/lib/Service/Stackiq/GroupHandler.php b/lib/Service/Stackiq/GroupHandler.php index 1bc340a4..b972aa25 100644 --- a/lib/Service/Stackiq/GroupHandler.php +++ b/lib/Service/Stackiq/GroupHandler.php @@ -12,7 +12,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -41,7 +41,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.CamelCaseParameterName) * diff --git a/lib/Service/Stackiq/HierarchyHandler.php b/lib/Service/Stackiq/HierarchyHandler.php index 86916186..1636405f 100644 --- a/lib/Service/Stackiq/HierarchyHandler.php +++ b/lib/Service/Stackiq/HierarchyHandler.php @@ -12,7 +12,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -34,7 +34,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) diff --git a/lib/Service/Stackiq/OrganizationHandler.php b/lib/Service/Stackiq/OrganizationHandler.php index 9520223f..3901015f 100644 --- a/lib/Service/Stackiq/OrganizationHandler.php +++ b/lib/Service/Stackiq/OrganizationHandler.php @@ -12,7 +12,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -38,7 +38,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) * @SuppressWarnings(PHPMD.CyclomaticComplexity) diff --git a/lib/Service/StackiqContactSyncService.php b/lib/Service/StackiqContactSyncService.php index 6e2cc4e7..617cdac3 100644 --- a/lib/Service/StackiqContactSyncService.php +++ b/lib/Service/StackiqContactSyncService.php @@ -18,7 +18,7 @@ * @copyright 2026 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/softwarecatalog-contacts-to-nc/spec.md */ @@ -40,7 +40,7 @@ * @author Conduction b.v. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) Overall complexity 56 (threshold 50). The * class maps several distinct stackiq relationship types (organisation, contactpersoon, diff --git a/lib/Service/StackiqService.php b/lib/Service/StackiqService.php index bf035ad0..42e4f461 100644 --- a/lib/Service/StackiqService.php +++ b/lib/Service/StackiqService.php @@ -11,7 +11,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -43,7 +43,7 @@ * @author Conduction b.v. * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @SuppressWarnings(PHPMD.ExcessiveClassLength) * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) diff --git a/lib/Service/SymfonyEmailService.php b/lib/Service/SymfonyEmailService.php index 1a171e9b..2cc5e316 100644 --- a/lib/Service/SymfonyEmailService.php +++ b/lib/Service/SymfonyEmailService.php @@ -9,7 +9,7 @@ * @copyright 2024 Conduction B.V. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * @version GIT: - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * * @spec openspec/specs/method-decomposition/spec.md */ @@ -37,7 +37,7 @@ * @package OCA\Stackiq\Service * @author Conduction b.v. * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * @link https://codeberg.org/Conduction/SoftwareCatalog + * @link https://github.com/ConductionNL/stackiq * @version GIT: * * @SuppressWarnings(PHPMD.ExcessiveClassLength) diff --git a/openspec/changes/adopt-apphost/hydra.json b/openspec/changes/adopt-apphost/hydra.json index 6dbdd96b..90c49518 100644 --- a/openspec/changes/adopt-apphost/hydra.json +++ b/openspec/changes/adopt-apphost/hydra.json @@ -2,7 +2,7 @@ "spec_slug": "adopt-apphost", "title": "Adopt OpenRegister AppHost (observability + boilerplate)", "app": "stackiq", - "repo": "https://codeberg.org/Conduction/stackiq", + "repo": "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/ConductionNL/stackiq", "depends_on": [ "apphost-observability-engine", "apphost-boilerplate-controllers" diff --git a/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/design.md b/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/design.md index 24e6b5d9..65a16f0b 100644 --- a/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/design.md +++ b/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/design.md @@ -230,7 +230,7 @@ Tracked but DEFERRED to a future change: `@conduction/nextcloud-vue` `CnAppRoot` + `CnPageRenderer` (see the lib's CLAUDE.md "JSON Manifest Renderer" section). - **Reference migration (full Tier 4 + cleanup)**: - - Pull request: https://codeberg.org/Conduction/decidesk/pulls/160 + - Pull request: Codeberg decidesk#160 (pre-migration, not migrated to GitHub; `decidesk` is now `decidiq`) - Spec: `decidesk/openspec/changes/decidesk-manifest-v1/` - Reference commits: - `b5c88cd2` — manifest write diff --git a/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/proposal.md b/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/proposal.md index 70d5844c..b3a89e8b 100644 --- a/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/proposal.md +++ b/openspec/changes/archive/2026-06-14-softwarecatalog-manifest-v1/proposal.md @@ -192,8 +192,8 @@ Total: **2 customs** (vs. decidesk's `LiveMeeting` + `Settings` = - `decidesk/openspec/changes/decidesk-manifest-v1/` — canonical reference. Three-phase migration (manifest rewrite → Tier-4 adoption → sidebar tab implementations). -- `https://codeberg.org/Conduction/decidesk/pulls/160` — merged - reference PR. +- Codeberg decidesk#160 (pre-migration, not migrated to GitHub; + `decidesk` is now `decidiq`) — merged reference PR. - `nextcloud-vue/openspec/changes/manifest-resolve-sentinel/proposal.md` — `@resolve:` sentinel design (per-tenant register slug resolution). diff --git a/openspec/changes/archive/2026-07-07-module-vulnerability-tracking/hydra.json b/openspec/changes/archive/2026-07-07-module-vulnerability-tracking/hydra.json index 1313771c..24d08098 100644 --- a/openspec/changes/archive/2026-07-07-module-vulnerability-tracking/hydra.json +++ b/openspec/changes/archive/2026-07-07-module-vulnerability-tracking/hydra.json @@ -2,7 +2,7 @@ "spec_slug": "module-vulnerability-tracking", "title": "Module vulnerability tracking & exposure", "app": "softwarecatalog", - "repo": "https://codeberg.org/Conduction/softwarecatalog", + "repo": "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/ConductionNL/stackiq", "depends_on": [], "issue": null } diff --git a/openspec/changes/archive/2026-07-07-software-license-posture/hydra.json b/openspec/changes/archive/2026-07-07-software-license-posture/hydra.json index 2fe13fc3..d2d71dfd 100644 --- a/openspec/changes/archive/2026-07-07-software-license-posture/hydra.json +++ b/openspec/changes/archive/2026-07-07-software-license-posture/hydra.json @@ -2,7 +2,7 @@ "spec_slug": "software-license-posture", "title": "Software license posture (SAM overview)", "app": "softwarecatalog", - "repo": "https://codeberg.org/Conduction/softwarecatalog", + "repo": "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/ConductionNL/stackiq", "depends_on": [], "issue": null } diff --git a/openspec/changes/archive/2026-07-07-vendor-product-master-data/hydra.json b/openspec/changes/archive/2026-07-07-vendor-product-master-data/hydra.json index bb33f11a..64200d61 100644 --- a/openspec/changes/archive/2026-07-07-vendor-product-master-data/hydra.json +++ b/openspec/changes/archive/2026-07-07-vendor-product-master-data/hydra.json @@ -2,7 +2,7 @@ "spec_slug": "vendor-product-master-data", "title": "Vendor & product master data via OpenRegister MDM + semantic types", "app": "softwarecatalog", - "repo": "https://codeberg.org/Conduction/softwarecatalog", + "repo": "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/ConductionNL/stackiq", "depends_on": [ "cross-app-semantic-references", "mdm-foundation"