Export to GitHub

kcaldav - Implementation.wiki


Introduction

This page describes the implementation details of each phase of the project.

Phase 1 - Configuration Dialog

  • Should allow the user to set connection parameters (done)
  • Settings should be persistent across sessions (done)
  • Password should be saved using standard KDE infrastructure (done)
  • Should be independently testable using a log file
    • log file in /tmp should show actions performed by the dialog

Phase 2 - Read-only Support

  • Should connect to a standard CalDAV server
  • Should be tested against DAViCal
  • Display needs to update if there are changes on the server
  • Bandwidth should be efficiently used:
    • Calendar data on the server can be quite large
    • Connector should intelligently cache data (maybe +/- 3 months from current date)
    • Cache should be cleansed periodically to not grow forever
    • Only changed or new events should be transmitted
    • Should support standard gzip encoding
  • Disconnected operation should be supported

Phase 3 - Read-write Support

  • Should connect to a standard CalDAV server
  • Should be tested against DAViCal
  • Changes in Kontact should propagate to the server
  • Bandwidth should be efficiently used (please provide us more details)
  • Collisions should be handled gracefully
  • Disconnected operation should be supported
  • Changes while disconnected should sync when re-connected