Files
govoplan-dms/docs/DMS_BOUNDARY.md

2.6 KiB

DMS Module Boundary

govoplan-dms owns document lifecycle, collaboration, document evidence, and document governance. Files remain lower-level storage and provider integration.

The core boundary decision register is in /mnt/DATA/git/govoplan-core/docs/MODULE_ARCHITECTURE.md.

Ownership

DMS owns:

  • document records, versions, renditions, and document metadata
  • collaborative editing links and external office-suite session references
  • comments, reviews, approvals, locks, signatures, and checkout/checkin
  • document classification, retention inputs, legal hold, and archive handoff
  • document evidence references for cases, workflow, templates, forms, mail, and reporting
  • external DMS/e-file/archive links and selected metadata synchronization where a connector provides the protocol boundary

Boundary With Files

govoplan-files owns:

  • stored file objects and blob/provider storage
  • file upload/download, file permissions, file spaces, and provider connectors
  • checksums, MIME type, file size, and low-level file metadata

DMS should reference file objects through file capabilities and DTOs. It must not import file connector internals. A document version may point to a GovOPlaN-managed file, an external DMS object, or both.

External Collaboration

Office/collaboration suites such as Collabora, OnlyOffice, Nextcloud Office, or OpenDesk document services should be integrated through connectors or capabilities. DMS owns the document session semantics and evidence; connectors own endpoint/profile health and protocol-specific clients.

Integrations

  • govoplan-templates: generates initial document content or rendered outputs
  • govoplan-forms: supplies submission data and attachment references
  • govoplan-workflow and govoplan-cases: attach documents to process state and evidence
  • govoplan-mail and govoplan-postbox: send or expose document references
  • govoplan-reporting: exports reports as document evidence where needed
  • govoplan-records: classifies closed documents into file plans and archive handoff

Candidate Capabilities

  • dms.documents
  • dms.versions
  • dms.collaboration
  • dms.approvals
  • dms.locks
  • dms.legalHold
  • dms.externalReferences

First Implementation Slice

  1. Define manifest metadata, permissions, and capability names.
  2. Add document/version/reference DTOs.
  3. Add one file-backed document version path through the files capability.
  4. Add locks and approval status as explicit document state, even if the first implementation is simple.
  5. Add tests that DMS can run without external office-suite connectors and that optional file integration uses capabilities.