feat(usages): record the applications your organisation uses, with version, status and owners - #1194
Merged
Merged
Conversation
…rsion, status and owners
…gate reads a fragment alone
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ❌ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 130/130 | |||
| npm | ✅ | ✅ 807/807 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it on any branch from the Actions tab, or locally with npx playwright test. |
||||
| Hydra gates | ✅ |
Quality workflow — 2026-09-29 20:40 UTC
Download the full PDF report from the workflow artifacts.
rubenvdlinde
added a commit
that referenced
this pull request
Sep 29, 2026
…Id, and the usages test lint error #1194 left
rubenvdlinde
added a commit
that referenced
this pull request
Sep 29, 2026
… use, and read a supplier's roadmap (#1197) * test(maintenance): the window schema, rules, owner resolution, pages and roadmap, red before the change * feat(maintenance): follow planned maintenance on the applications you use, and read a supplier's roadmap * fix(maintenance): a third demo window per register, a spec tag on refId, and the usages test lint error #1194 left
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change:
landscape-usage-registration(archived here as2026-09-29-landscape-usage-registration; its spec is nowopenspec/specs/application-usage-pages/spec.md). Built ahead of its queue place because four queued changes depend on it (maintenance and supplier roadmap, value assessment, technology components, data model and GGM).Rows moved to built:
stackiq:land-register-application,stackiq:life-version-in-useandstackiq:land-application-owner(all rated yes now).What a user can now do: open Applications, then Applications in use, and see every application the organisation uses with its version, status, business owner, technical owner and TIME classification, filtered on status. From an application's page, Add to our landscape opens the usage form with the application filled in; the version picker offers only that application's versions. The usage page shows the owners, the phase dates and the documents, and offers Plan, Go live, Phase out and Retire. The organisation page lists its applications in use.
How: the register (2.5.4) adds
businessOwnerandtechnicalOwner(contact persons of the consumer organisation) tousage, names a usage{{ module }} ({{ consumer }}), makesstatusfacetable and bumps usage to 1.5.2.src/manifest.d/usages.jsonadds the pagesGebruikandGebruikDetailunder Applications (ADR-097).ModuleDetail's usages list gets the row route, a view-all link and the Add to our landscape button;OrganisatieDetailgetsorg-usages. The three seeded usages in the register heldin-gebruik, outside the status enum; they now read In production and Planned.Design changes at build, recorded in the archived design: the lifecycle fix and the 1.5.1 bump had already landed in register 2.5.1 (#1140). The design asked the add action to fill in the active organisation; no manifest token names it (the library fills only a field called
organisation), so the user picks the organisation in the form, and the spec says so. The owners went into the register itself rather than aregister.dfragment, because the relation-dialect gate reads a fragment on its own and cannot seeconsumer.Scenarios and the tests that prove them:
tests/Unit/Settings/UsageSchemaTest.php(7 tests, all red on development: the fragment did not exist and the seeds heldin-gebruik).tests/vitest/usages.spec.js(9 tests, red on development).tests/e2e/workflows/usages.spec.ts(Playwright, seeds and removes its own rows). It lists (4 tests); it was not run here, because no local instance has a seeded stackiq register.New text is in English and Dutch. Docs:
docs/features/applications-in-use.md; its screenshot waits for a seeded instance.Checks (one run on the branch head, which contains development at f280e80): composer check:strict exit 0; PHPUnit 934 tests, 20 errors, all 20 inherited (the same names as on development: MigrateRegisterSlugTest x12, MigrateSchemaApplicationIdTest x7, PortfolioReportControllerTest::testCsvFormatReturnsDownloadResponse); npm lint, stylelint, format, test:l10n, check:schema-l10n, check:l10n-js, check:manifest, check:vue-demi exit 0; jest 100 passed; vitest 338 passed; Hydra gates (ConductionNL/.github main, full scope, --require-full-coverage) exit 0, 85 of 85 applicable gates pass. The first run found gate 54 (relation dialect) red on the owners fragment and prettier on two test files; both fixed, and PHPUnit, vitest, format, check:schema-l10n and the gates were re-run on the fixed head.
Live check: after the register re-imports, open Applications, Applications in use; the seeded usages show with status. Open an application, click Add to our landscape, pick your organisation and a version, save; the usage appears in the list. Open it, set a business owner and a technical owner, and click Go live on a planned one.