[Feature] Add Nextcloud/WebDAV/SMB connectors later using the same governance and freeze-before-send model #10

Closed
opened 2026-07-06 11:36:45 +02:00 by zemion · 3 comments
Owner

Imported from the consolidated GovOPlaN product backlog.

  • Source: /mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md
  • Line: 123
  • Section: Milestones > Milestone 6 - External Storage Connectors
  • Source status: OPEN.

Imported backlog item:

- [ ] Add Nextcloud/WebDAV/SMB connectors later using the same governance and freeze-before-send model.
<!-- codex-backlog-fingerprint:c118fd9331d0c2fd42b1730a --> Imported from the consolidated GovOPlaN product backlog. - Source: `/mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md` - Line: `123` - Section: `Milestones > Milestone 6 - External Storage Connectors` - Source status: `OPEN.` Imported backlog item: ```markdown - [ ] Add Nextcloud/WebDAV/SMB connectors later using the same governance and freeze-before-send model. ```
zemion added this to the Milestone 6 - External Storage Connectors milestone 2026-07-06 13:23:31 +02:00
Author
Owner

Progress slice landed. Nextcloud and generic WebDAV profiles now share the governed connector flow: profile scoping, connector policy for browse/import, read-only WebDAV browsing, authenticated WebDAV GET import into managed storage, frozen source provenance/revision, and connector audit events. Seafile is complete through native API plus optional WebDAV mode. Verification: py_compile for connector_imports/router; unittest test_file_connector_profiles_are_governed_and_redacted, test_managed_file_runtime_flow, test_zip_upload_spools_archive_instead_of_full_buffering; core WebUI npm run build. Keeping #10 open because SMB is not implemented yet and should be handled through the provider capability/optional dependency work tracked by #15.

Progress slice landed. Nextcloud and generic WebDAV profiles now share the governed connector flow: profile scoping, connector policy for browse/import, read-only WebDAV browsing, authenticated WebDAV GET import into managed storage, frozen source provenance/revision, and connector audit events. Seafile is complete through native API plus optional WebDAV mode. Verification: py_compile for connector_imports/router; unittest test_file_connector_profiles_are_governed_and_redacted, test_managed_file_runtime_flow, test_zip_upload_spools_archive_instead_of_full_buffering; core WebUI npm run build. Keeping #10 open because SMB is not implemented yet and should be handled through the provider capability/optional dependency work tracked by #15.
Author
Owner

Implemented and verified the governed Nextcloud/WebDAV/SMB connector baseline. Nextcloud and generic WebDAV now browse/import through the shared profile, policy, freeze-before-send, provenance, conflict, and audit path. SMB browse/import is implemented through the optional smbprotocol dependency and exposed in provider descriptors; dev compose and docs were updated, including a reusable dev/connectors/smoke.py live smoke script. Live smoke passed against the running WebDAV and Nextcloud containers; the existing SMB container still had the old share command and returned STATUS_ACCESS_DENIED, so docker compose up -d --force-recreate smb is documented before running smoke.py --require-smb. Focused Python tests, py_compile, WebUI build, and diff checks passed.

Implemented and verified the governed Nextcloud/WebDAV/SMB connector baseline. Nextcloud and generic WebDAV now browse/import through the shared profile, policy, freeze-before-send, provenance, conflict, and audit path. SMB browse/import is implemented through the optional smbprotocol dependency and exposed in provider descriptors; dev compose and docs were updated, including a reusable dev/connectors/smoke.py live smoke script. Live smoke passed against the running WebDAV and Nextcloud containers; the existing SMB container still had the old share command and returned STATUS_ACCESS_DENIED, so docker compose up -d --force-recreate smb is documented before running smoke.py --require-smb. Focused Python tests, py_compile, WebUI build, and diff checks passed.
Author
Owner

Follow-up verification: after switching the dev SMB service to the local deterministic Samba image and defaulting SMB connector clients to signed sessions, the strict live smoke now passes against the dev stack: WebDAV browse/import OK, Nextcloud browse/import OK, SMB browse/import OK. Command: /mnt/DATA/git/govoplan-core/.venv/bin/python smoke.py --require-smb --debug-smb.

Follow-up verification: after switching the dev SMB service to the local deterministic Samba image and defaulting SMB connector clients to signed sessions, the strict live smoke now passes against the dev stack: WebDAV browse/import OK, Nextcloud browse/import OK, SMB browse/import OK. Command: /mnt/DATA/git/govoplan-core/.venv/bin/python smoke.py --require-smb --debug-smb.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-files#10
No description provided.