Inconsistent storage paths for WebDAV, CalDAV, and CardDAV #3

Closed
opened 2026-08-28 04:51:35 +00:00 by arnef · 0 comments
Owner

Description
There is an inconsistency in how user data directories are structured across different protocols. Standard WebDAV files are nested under a dedicated subdirectory, while CalDAV and CardDAV data sit directly in the user's root folder with a prefix. This should be cleaned up and unified.

Current Behavior

  • WebDAV: data/files/<username>/
  • CalDAV: data/<username>/cal-<name>/
  • CardDAV: data/<username>/card-<name>/

Expected Behavior (Proposed Layout)
All user data should follow a consistent nesting pattern under the primary user directory:

  • WebDAV: data/<username>/files/
  • CalDAV: data/<username>/calendars/<name>/
  • CardDAV: data/<username>/addressbooks/<name>/

Impact

  • Code Complexity: Path resolution logic is split across different subsystems.
  • Maintenance: Deleting or backing up a user requires sweeping multiple disparate paths instead of a single root folder.

Todo

  • Update path resolution logic in the storage providers.
  • Create a migration script to safely move existing directories without data loss.
  • Ensure API endpoints and sync clients handle the path changes smoothly.
**Description** There is an inconsistency in how user data directories are structured across different protocols. Standard WebDAV files are nested under a dedicated subdirectory, while CalDAV and CardDAV data sit directly in the user's root folder with a prefix. This should be cleaned up and unified. **Current Behavior** * WebDAV: `data/files/<username>/` * CalDAV: `data/<username>/cal-<name>/` * CardDAV: `data/<username>/card-<name>/` **Expected Behavior (Proposed Layout)** All user data should follow a consistent nesting pattern under the primary user directory: * WebDAV: `data/<username>/files/` * CalDAV: `data/<username>/calendars/<name>/` * CardDAV: `data/<username>/addressbooks/<name>/` **Impact** * **Code Complexity:** Path resolution logic is split across different subsystems. * **Maintenance:** Deleting or backing up a user requires sweeping multiple disparate paths instead of a single root folder. **Todo** - [ ] Update path resolution logic in the storage providers. - [ ] Create a migration script to safely move existing directories without data loss. - [ ] Ensure API endpoints and sync clients handle the path changes smoothly.
arnef closed this issue 2026-08-30 12:04:14 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arnef/nidus#3