Skip to content

Release: merge development into beta#18

Open
github-actions[bot] wants to merge 175 commits intobetafrom
development
Open

Release: merge development into beta#18
github-actions[bot] wants to merge 175 commits intobetafrom
development

Conversation

@github-actions
Copy link
Contributor

Automated PR to sync development changes to beta for beta release.

Merging this PR will trigger the beta release workflow.

Reminder: Add a major, minor, or patch label to this PR to control the version bump. Default is patch.

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: 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
…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
…ashboard-view

# Conflicts:
#	src/views/cases/CaseDetail.vue
feat: Case dashboard — responsive, print, 404
…decisions

# Conflicts:
#	src/views/cases/CaseDetail.vue
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant