Archief en e-Depot — beheerdersgids
Sinds de migratie migrate-archival-to-or (ADR-022) voert OpenRegister de
archivering, vernietiging en e-Depot-overdracht uit. Dossiq levert alleen nog
de zaakgerichte domeinkennis declaratief aan en vertaalt Awb-gebeurtenissen
(bezwaar/beroep) naar OpenRegister legal holds. Dossiq draait geen eigen
archief-pipeline meer.
Spec:
openspec/changes/migrate-archival-to-or/specs/archief-edepot-handover/spec.mdEigenaar van de pipeline: OpenRegister —RetentionService,Archival/*(RetentionEvaluator, LegalHoldService, DestructionService),Edepot/*(EdepotTransferService, SipPackageBuilder, MdtoXmlGenerator, Transport/*),TmloService.
Wat dossiq nog doet (en wat niet meer)
| Onderdeel | Voorheen (app-lokaal, verwijderd) | Nu |
|---|---|---|
| Bewaartermijnregels | BewaarTermijnRegel-objecten + ArchivalTriggerService | Declaratief: x-openregister-archival op het case-schema |
| Detectie afgeronde zaken | ArchivalTriggerScanJob daemon | OpenRegister RetentionEvaluator + DestructionCheckJob |
| Bezwaar/beroep-opschorting | OverdrachtTrigger status opgeschort-juridische-procedure | OpenRegister legal hold (LegalHoldService), geplaatst door dossiq |
| SIP-bundeling / BagIt / MDTO | BagItBundlerService, MetadataBundlerService | OpenRegister SipPackageBuilder + MdtoXmlGenerator |
| Verzenden + retry naar e-Depot | ArchivalBatchService, ArchivalSubmissionRetryService | OpenRegister EdepotTransferService + durable retry |
| Bewijs van overdracht | ArchiefBewijs-objecten, ProofOfTransferService | OpenRegister transfer-/proof-records |
| TMLO/MDTO-metadata mapping | TmloMetadataBuilderAdapter | Schema-config configuration.tmloDefaults + Register.configuration.tmloEnabled, uitgevoerd door OR TmloService |
1. Bewaartermijnen — declaratief op het zaakschema
De bewaartermijnen staan in het case-schema onder x-openregister-archival
(VNG-selectielijst 2020 als default set). Aanpassen doe je in Beheer →
OpenRegister → Registers → Dossiq → schema case, of in
lib/Settings/dossiq_register.json:
"x-openregister-archival": {
"retention": {
"default": "P10Y",
"rules": [
{ "condition": "caseType == \"omgevingsvergunning-regulier\"", "retention": "P5Y", "reason": "VNG 4.3.1" },
{ "condition": "caseType == \"wmo-melding\"", "retention": "P10Y", "reason": "VNG 5.2.1" },
{ "condition": "caseType == \"subsidie-verlening\"", "retention": "P20Y", "reason": "VNG 7.1.1 — blijvend te bewaren, overbrenging na 20 jaar" }
]
}
}
defaulten elkeretentionis een ISO-8601-duur (P5Y,P10Y, …).conditiongebruikt de grammatica<veld> <op> <waarde>van OpenRegister'sRetentionConditionEvaluator(velden op het zaak-object, bv.caseType).- Municipality-edits die vóór de migratie als
BewaarTermijnRegel-objecten bestonden, worden door de repair-stap bewaard; pas ze na verificatie hier aan.
Selectielijstklasse: elke omgeving heeft een selectielijstregister nodig
Een zaak neemt de selectielijstklasse van haar resultaattype over zodra het
resultaat is gezet (case.selectionListClass, uit
resultType.selectionListClass). Het zaakschema wijst dat veld aan als
archiefcategorie:
"x-openregister-archival": {
"retention": { "default": "P10Y" },
"categoryProperty": "selectionListClass"
}
OpenRegister zoekt die klasse op in het selectielijstregister van de omgeving. Een zaak met een klasse die daar niet in staat, weigert OpenRegister op te slaan. Richt daarom op elke omgeving een selectielijstregister in voordat je resultaattypen een selectielijstklasse geeft. Een resultaattype zonder klasse zet niets op de zaak, en een klasse die een beheerder met de hand op de zaak zette, blijft dan staan.
OpenRegister berekent hieruit de archiefactiedatum en nomineert de zaak in
zijn archivist-workflow (V-lijst / overbrenging). Zaaktypen zónder regel
verschijnen in OpenRegister's archivist-view als unconfigured — dossiq houdt
geen eigen geblokkeerd-geen-regel-administratie meer bij.
2. TMLO/MDTO-metadata
TMLO-auto-populatie staat aan via Register.configuration.tmloEnabled = true
(gezet door de repair-stap MigrateArchivalToOpenRegister) en de defaults in
case.configuration.tmloDefaults. OpenRegister's TmloService vult hiermee de
tmlo-metadata en exporteert MDTO-XML tijdens overbrenging. Extra TMLO-defaults
voeg je toe onder tmloDefaults op het schema.
3. Bezwaar/beroep → legal hold
Zolang een Awb-procedure loopt mag een zaak niet worden overgebracht of
vernietigd. Dossiq regelt dit via BezwaarLegalHoldListener:
- Bezwaar geregistreerd (
objectionaangemaakt) → dossiq plaatst een OpenRegister legal hold op de zaak. OR's retention-evaluator en vernietigingsjobs slaan de zaak over zolang de hold staat. - Eindbeslissing (
bezwaarDecisionofappealDecisionaangemaakt) → dossiq heft de hold op; de zaak komt weer in OR's archief-evaluatie zonder handmatige her-nominatie.
Holds zijn zichtbaar en beheerbaar in OpenRegister
(/api/archival/legal-holds, archivist-view).
4. e-Depot-connectie configureren (OpenRegister)
De e-Depot-verbinding (endpoint, transport, credentials, bestemming) staat sinds de migratie in OpenRegister's e-Depot-instellingen:
- Open Beheer → OpenRegister → Instellingen → e-Depot
(
/api/settings/edepot). - Kies het transport (
Sftp,RestApiofOpenConnector) en vul endpoint + credentials in. In dev/test staat standaard een log/mock-transport. - Test de verbinding met Verbinding testen (
/api/settings/edepot/test). - Overbrengingen en hun status/audittrail bekijk je via
/api/transfers.
Het koppelen van een echt e-Depot-testendpoint valt buiten deze migratie en hoort bij
external-integrations-test-environments. De transport-seam blijft pluggable bij OpenRegister.
5. Vernietiging (destruction)
Vernietiging/overbrenging draait volledig in OpenRegister: DestructionCheckJob
stelt vernietigingslijsten (V-lijsten) samen voor archivist-review,
DestructionExecutionJob voert goedgekeurde vernietiging uit. Dossiq heeft geen
eigen vernietigings-UI meer; gebruik OpenRegister's archivist-surface.
6. Migratie-repair (eenmalig)
Bij de upgrade draait MigrateArchivalToOpenRegister (post-migration,
idempotent, fail-closed):
- Zet
tmloEnabledop de dossiq-register. - Plaatst een legal hold op elke zaak waarvan de
OverdrachtTriggeropopgeschort-juridische-procedurestond. - Exporteert elk afgerond
ArchiefBewijsals onveranderlijk zaakdossier- document, zodat geen bewijs van overbrenging verloren gaat.
De stap draait maar één keer (markering in app-config
dossiq/archival_migration_completed) en doet niets wanneer OpenRegister's
archief-abstracties ontbreken.
7. Troubleshooting
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Zaak wordt niet genomineerd na afsluiten | Geen retention-regel voor het caseType | Voeg een rule toe onder x-openregister-archival; ongeconfigureerde types staan in OR's archivist-view. |
| Zaak met bezwaar wordt tóch genomineerd | Legal hold niet geplaatst | Controleer dat de objection een geldige case-verwijzing heeft; zie OR /api/archival/legal-holds. |
| Overbrenging blijft hangen | e-Depot-transport/endpoint | Check OpenRegister → e-Depot + /api/transfers; OR's durable retry pakt tijdelijke fouten op. |
| TMLO-metadata leeg | tmloEnabled staat uit | Herstart de repair-stap of zet Register.configuration.tmloEnabled = true. |
Zie ook
openspec/changes/migrate-archival-to-or/— proposal, design, spec.- OpenRegister archief-stack:
RetentionService,Archival/*,Edepot/*,TmloService,Controller/{Archival,Retention,Tmlo,Transfer}Controller.