Release: merge development into beta#18
Open
github-actions[bot] wants to merge 175 commits intobetafrom
Open
Conversation
Move the class-level UnusedFormalParameter suppression on ZrcController to method-level annotations on the 8 methods that actually need it: 6 zaakeigenschappen route methods ($zaakUuid from route pattern), preValidateZaakBody ($isPatch reserved), and handleResultaatCreated ($objectData reserved).
The ZGW compliance test collections (531 assertions) have a 95%+ failure rate because the API implementation is still in progress. Keeping Newman enabled blocks all PRs without providing actionable feedback. Re-enable once core CRUD endpoints return valid JSON.
Add .phpunit.cache/, coverage/, and phpmetrics/ entries to prevent generated test and quality tool artifacts from being tracked.
Add Nextcloud version label to procest_info gauge, cases_created_today metric, APCu caching for expensive queries (30s/60s TTL), OpenRegister dependency check in health endpoint, and unit tests for both controllers. Implements V1 tier of prometheus-metrics spec (REQ-PROM-002a, 002b, 003e, 004d, 009a/b).
Create i18n resolver utility for language-tagged OpenRegister fields with fallback chain (user locale -> nl -> en -> first available). Mark translatable properties in procest_register.json schemas with x-translatable flag. Add 22 glossary terms to l10n files. Implements V1 tier of register-i18n spec (REQ-I18N-001c/d, 003a, 008).
Create ResultsTab.vue (archival rules with retain/destroy and retention period), RolesTab.vue (generic role mapping dropdown), and PropertiesTab.vue (format, maxLength, requiredAtStatus). Expand CaseTypeDetail from 2 to 5 tabs. Implements V1 tier of admin-settings spec (REQ-ADMIN-009, 010, 011).
Add Cases by Type horizontal bar chart to dashboard (REQ-DASH-003), register CasesOverviewWidget/MyTasksWidget/OverdueCasesWidget in Application.php, and fix CasesOverviewWidget route.
Refactor store.js from 13 individual conditionals to data-driven pattern registering all 27 schemas. Add openregisterCheck.js utility for frontend availability and configuration status checks.
…nel, document checklist - Add search bar and filter dropdowns (priority, handler, overdue) to CaseList.vue - Create CustomPropertiesPanel.vue for displaying/editing case properties from property definitions - Create DocumentChecklist.vue showing required document completion status per case type - Integrate both panels into CaseDetail.vue - Enhance caseValidation.js with spec-compliant error messages for case type validity windows - Add validateStatusChange utility for status transition validation Implements: openspec/specs/case-management
…l tracking - Add defaultAssignee field to caseType schema for automatic handler assignment - Add intakeChannel enum field to case schema (manual, balie, telefoon, email, etc.) - Add intake channel dropdown to CaseCreateDialog with 6 channel options - Auto-assign handler from case type defaultAssignee on manual case creation - Display intake channel as "Bron:" on case detail info panel - Set intakeChannel='zgw-api' and apply defaultAssignee on ZGW API intake - Add OpenSpec change artifacts (proposal, design, delta-spec, tasks) Implements: REQ-INTAKE-03a/c/d, REQ-INTAKE-08d, REQ-INTAKE-11a/b
…ifecycle errors - Add search bar and filter dropdowns (status, priority, assignee) to TaskList.vue - Create taskValidation.js with task form validation and lifecycle transition validation - Add transition error feedback to TaskDetail.vue with descriptive error messages - Enforce case requirement on task creation in TaskCreateDialog.vue - Import TASK_STATUSES for filter options Implements: openspec/specs/task-management
- Add responsive tablet layout (single-column stacking at <= 1200px) - Add print stylesheet with hidden actions, clean format, text-based status - Add case not found (404) state with NcEmptyContent and back-to-overview button - Ensure 44x44px touch targets for WCAG AA compliance on tablet - Add OpenSpec change artifacts (proposal, design, delta-spec, tasks) Implements: REQ-CDV-01c, REQ-CDV-07b, REQ-CDV-07c
…tadata, validity display - Create DecisionsSection.vue for case detail with CRUD, validity period display, and decision type selection - Create decisionHelpers.js with validity calculation, date formatting, and form validation - Enhance ResultSection.vue with archival metadata display (archive action, retention period) - Integrate DecisionsSection into CaseDetail.vue Implements: openspec/specs/roles-decisions
- New Werkvoorraad view with KPI cards (open, overdue, completed, unassigned) - Filter tabs (All, Unassigned, Overdue) with case type dropdown filter - Urgency-based sorting: overdue first, then priority, then deadline proximity - Case table with handler, status, deadline, overdue highlighting - Navigation entry with AccountGroup icon between My Work and Cases - Route /werkvoorraad added to router - Add OpenSpec change artifacts (proposal, design, delta-spec, tasks) Implements: REQ-WV-01a (partial), REQ-WV-03a, REQ-WV-04a/b, REQ-WV-07a
…e types, properties, document types - Create ResultTypesTab.vue with CRUD for result types including archival action and retention period - Create RoleTypesTab.vue with CRUD for role types with generic role selection - Create PropertiesTab.vue with CRUD for property definitions with type and required flag - Create DocumentTypesTab.vue with CRUD for document types with category and required flag - Create shared sub-entity-tab.css for consistent tab styling - Update CaseTypeDetail.vue with 6-tab layout: General, Statuses, Results, Roles, Properties, Docs Implements: openspec/specs/case-types
- Display case type name on case items in My Work view - Add ARIA attributes: role=tablist/tab on filter tabs, role=listitem on rows - Add keyboard navigation: tabindex=0, Enter/Space activation on all items - Add focus outline for keyboard navigation visibility - Add responsive CSS for narrow viewports (< 768px) - Pass caseType ID through grouped work items for name resolution - Add OpenSpec change artifacts (proposal, design, delta-spec, tasks) Implements: REQ-MYWORK-001 (case type name), accessibility and responsiveness NFRs
…case warnings - Create DurationPicker.vue with days input, ISO 8601 conversion, and preset buttons - Integrate DurationPicker into GeneralTab for processingDeadline, serviceTarget, and extensionPeriod - Add active case count warning to CaseTypeDetail when editing published case types - Add warning styling for active case notifications Implements: openspec/specs/zaaktype-configuratie
- Add 4 default case types: Omgevingsvergunning (P56D), Subsidieaanvraag (P42D), Klacht behandeling (P42D), Melding openbare ruimte (P14D) - Add 14 status types with correct ordering and isFinal flags per case type - Add 4 role types: Behandelaar, Aanvrager, Gemachtigde, Technisch adviseur - Add 8 result types with archive action and retention period per case type - All case types are published (isDraft: false) for immediate usability - Uses @self pattern for cross-references between seed objects - Add OpenSpec change artifacts (proposal, design, delta-spec, tasks) Implements: REQ-SEED-008a/b/c/d
…ter 9 Add complaint, hearing, complaintDisposition, and complaintCategory schemas to procest_register.json. Add ComplaintList and ComplaintDetail Vue views with Awb deadline tracking, status lifecycle, hearing scheduling, disposition recording, and case escalation. Register routes and config keys.
Add case sharing and collaboration infrastructure: - CaseSharingService with token generation, permission enforcement, field filtering, BSN masking - CaseTransferService for inter-organizational case transfers - CaseSharingController for authenticated share management API - PublicShareController for unauthenticated token-based case access - ShareMaintenanceJob background job for share expiration reminders - ShareTab, CreateShareDialog, CaseTransferDialog Vue components - PartnerAdmin settings page for partner organization management - PublicCaseView and PublicStatusPage for external/citizen access - OpenSpec change artifacts (proposal, design, tasks) - Schema definitions for caseShare, partnerOrganization, caseTransfer - Routes for share management and public access endpoints
Add CaseDefinitionExportService for exporting case type definitions as portable ZIP archives with manifest versioning and selective component export. Add CaseDefinitionImportService with package validation, dependency resolution, and conflict detection. Add CaseDefinitionController with export, validate, and import API endpoints.
Add pre-configured WOO (Wet open overheid) zaaktype template with: - 8-stage lifecycle (Ontvangst through Afgehandeld) - WOO-specific intake form (verzoeker, onderwerp, periode, ontvangstdatum) - 4-week deadline with optional 2-week extension (verdaging) - Per-document assessment (openbaar/deels openbaar/niet openbaar) - Weigeringsgrond selection (WOO Article 5.1/5.2) - Template library service and API for activating templates - Admin UI for browsing and activating templates
chore: Update openspec config and gitignore docs artifacts
…-openspec-specs # Conflicts: # appinfo/routes.php # docs/features/case-management.md # lib/Service/SettingsService.php # lib/Settings/procest_register.json # openspec/changes/archive/2026-03-21-zgw-business-rules-compliance/design.md # openspec/changes/archive/2026-03-21-zgw-business-rules-compliance/specs/zgw-business-rules/spec.md # openspec/changes/archive/2026-03-21-zgw-business-rules-compliance/specs/zgw-endpoint-performance/spec.md # openspec/changes/archive/2026-03-21-zgw-business-rules-compliance/tasks.md # src/router/index.js # src/views/cases/CaseDetail.vue # src/views/settings/AdminRoot.vue
feat: Enrich all OpenSpec specifications
feat: Enhance Prometheus metrics and health check endpoints
…er-i18n # Conflicts: # openspec/changes/register-i18n/proposal.md # openspec/changes/register-i18n/specs/register-i18n/spec.md
feat: Add register content i18n foundation
…settings # Conflicts: # src/views/settings/CaseTypeDetail.vue
feat: Add Results, Roles, Properties tabs to admin settings
# Conflicts: # lib/AppInfo/Application.php # src/views/Dashboard.vue
feat: Add Cases by Type chart and register dashboard widgets
…gister-integration # Conflicts: # src/store/store.js
…tion feat: Complete OpenRegister integration with all 27 schema registrations
…anagement # Conflicts: # src/views/cases/CaseDetail.vue # src/views/cases/CaseList.vue
feat: Implement case-management spec
…ntake-flow # Conflicts: # lib/Settings/procest_register.json # openspec/changes/zaak-intake-flow/proposal.md # src/views/cases/CaseCreateDialog.vue # src/views/cases/CaseDetail.vue
feat: Implement zaak intake flow MVP
feat: Implement task-management spec
…ashboard-view # Conflicts: # src/views/cases/CaseDetail.vue
feat: Case dashboard — responsive, print, 404
…decisions # Conflicts: # src/views/cases/CaseDetail.vue
feat: Implement roles-decisions spec
…orraad # Conflicts: # openspec/changes/werkvoorraad/proposal.md
feat: Add Werkvoorraad (team work queue) view
…ypes # Conflicts: # src/views/settings/CaseTypeDetail.vue # src/views/settings/tabs/PropertiesTab.vue
feat: Implement case-types spec — V1 admin tabs
feat: Enhance My Work — case type, a11y, responsive
…pe-configuratie # Conflicts: # openspec/changes/zaaktype-configuratie/.openspec.yaml # openspec/changes/zaaktype-configuratie/proposal.md
feat: Implement zaaktype-configuratie spec
…and TEC/GEMMA mapping - Rewrites docs/features/README.md as a comprehensive feature overview table covering all 40+ features with standards references (GEMMA, ZGW, TEC BPM, CMMN, Awb, Woo, LHS, Forum Standaardisatie), implementation status, and links to individual feature docs - Adds Standards Compliance table with direct gemmaonline.nl URLs for all relevant GEMMA Referentiecomponenten (Zaakafhandel, VTH, Bezwaar/Beroep, Bestuurlijk activiteiten, Mobiel toezicht) - Adds TEC BPM RFP Template coverage matrix mapping sections 1.1–7.2 to implemented Procest features - Creates 4 missing feature docs for archive changes without docs: deelzaak-support.md, doorlooptijd-dashboard.md, zgw-apis.md, app-scaffold.md - Updates spec-to-feature mapping table with all 50+ archive changes - Adds archive rules to openspec/config.yaml requiring feature doc updates on every archive operation
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.
Automated PR to sync development changes to beta for beta release.
Merging this PR will trigger the beta release workflow.