Add CardDAV contacts migration support #7

Closed
opened 2025-10-28 19:46:55 +00:00 by PhilflowIO · 0 comments
PhilflowIO commented 2025-10-28 19:46:55 +00:00 (Migrated from github.com)

Extend the migration tool to support contacts (CardDAV) in addition to calendars (CalDAV).

Requirements:

  • Support fetching contacts from source (Google Contacts, Nextcloud Contacts)
  • Create contacts on target (Baïkal CardDAV)
  • UID-based duplicate detection (same as calendar events)
  • DSGVO-compliant state tracking (contact UIDs only, no names/emails)
  • Preserve vCard data format

Technical Details:

  • Use tsdav CardDAV methods (fetchAddressBooks, fetchVCards, createVCard)
  • Extend MigrationEngine with migrateContacts() method
  • Add --type CLI flag: calendar (default), contacts, or both
  • Example: dav-migrate run --config my-config.json --type contacts

Dependencies:

  • tsdav already supports CardDAV (see /docs/docs/webdav/addressBook)

Estimated Effort: Medium (2-3 days)

Related to: DAV Migration CLI - Phase 2

Extend the migration tool to support contacts (CardDAV) in addition to calendars (CalDAV). **Requirements:** - Support fetching contacts from source (Google Contacts, Nextcloud Contacts) - Create contacts on target (Baïkal CardDAV) - UID-based duplicate detection (same as calendar events) - DSGVO-compliant state tracking (contact UIDs only, no names/emails) - Preserve vCard data format **Technical Details:** - Use `tsdav` CardDAV methods (`fetchAddressBooks`, `fetchVCards`, `createVCard`) - Extend `MigrationEngine` with `migrateContacts()` method - Add `--type` CLI flag: `calendar` (default), `contacts`, or `both` - Example: `dav-migrate run --config my-config.json --type contacts` **Dependencies:** - tsdav already supports CardDAV (see `/docs/docs/webdav/addressBook`) **Estimated Effort:** Medium (2-3 days) **Related to:** DAV Migration CLI - Phase 2
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/tsdav#7
No description provided.