Files
rustical/README.md
2024-09-30 18:29:44 +02:00

1.7 KiB

Rustical (WIP)

a calendar server

Installation

Todo

  • CalDAV
    • Support for VTODO, VJOURNAL
    • Proper filtering for REPORT method
    • ICS parsing
      • Datetime parsing
    • Implement PROPPATCH
  • Auth (There currently is no authentication at all in place for some routes)
    • Access control
    • preparation for different principal types (groups)
    • authentication rewrite? (argon2 is very slow for each request)
    • OIDC support
  • CardDAV
  • Packaging
    • Ensure cargo install works
    • Docker image
    • Releases
  • Locking
  • Web UI
  • Testing such that I'm confident enough to use it myself :)
  • WebDAV sync extension RFC 6578
    • implement getctag see
    • implement WebDAV If header
  • Ensure proper routing
  • Trash bin
    • Hiding calendars instead of deleting them
    • Restore endpoint
  • Frontend

Relevant RFCs

  • Versioning Extensions to WebDAV: RFC 3253

    • provides the REPORT method
  • Calendaring Extensions to WebDAV (CalDAV): RFC 4791

  • Scheduling Extensions to CalDAV: RFC 6638

    • not sure yet whether to implement this
  • Collection Synchronization WebDAV RFC 6578

    • We need to implement sync-token, etc.
  • This is important for more efficient synchronisation

Sync-token

  • a returned version of a resource is marked with a sync token
  • the client can send the sync token to find out about changes after this sync token