All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Public full-text search endpoint (
GET /apps/opencatalogi/api/search) — anonymous-reachable, RBAC-filtered, returns publications and documents in a flat mixed envelope discriminated by@self.schema. Document rows carry an embeddedpublication: { id, slug, title }summary; documents with no linked publication are suppressed. Post-scoringisObjectPublic()visibility gate + transitive publication-visibility gate applied uniformly to all callers (WOO-506, specSCH-PFTS-001..007, change archived atopenspec/changes/archive/2026-07-16-add-public-fulltext-search/). - Bundled
documentschema inlib/Settings/publication_register.json— schema-discoverable dedicated type for public-endpoint document rows. SettingsServicenow provisionsdocument_source/document_schema/document_registerapp-config keys on fresh install so the search assembly resolves the document schema without manual setup (WOO-519).
PublicationQueryService::resolveDocumentPublicationSummary()now addresses the linked publication via the nested@selfmetadata block instead of a bareslugschema-property filter. The bug silently dropped every document row from the mixed envelope; the endpoint returned only publications on a correctly-seeded env (WOO-530, PR #134).MagicMapper::buildUnionSelectPart()metadata-column CAST is now dialect-aware (CAST(col AS CHAR)on MariaDB,col::texton PostgreSQL). Previous PostgreSQL-only::textcast crashed the multi-schema search on MariaDB backends withSQLSTATE[42000](WOO-520, openregister-side).
- #1: Fix Migrations for PSQL
- #2: finished metadata properties being null
- #3: Fix elastic string filter
- #4: Publicatie dialogs en documentatie
- #5: feature/DIMOC-236/Attachments-page-refactor
- #6: feature/DIMOC-216/drag-and-drop
- #7: Some fixes for broken stuff
- #8: dashboard statistics
- #9: Added publication download, for pdf or zip
- #10: Fix filters
- #11: feature/DIMOC-216/drag-and-drop
- #12: build hotfix
- #13: renamed listing to directory
- #14: Fix search because of joins
- #15: feature/DIMOC-260/download-buttons
- #16: added dropdown based on metadata properties
- #17: search on metadata
- #18: added catalogi filter to search
- #23: feature/sync-button
- #24: Metadata copy fixes
- #25: Fix statuscode field nullability
- #26: finished filtered metadata
- #27: feature/medata-external-source
- #28: feature/DIMOC-281/cleanup
- #29: Copy metadata from listing
- #30: fix migration
- #31: Cast id's