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

54 lines
1.7 KiB
Markdown

# Rustical (WIP)
a calendar server
## Installation
## Todo
- [ ] CalDAV
- [ ] Support for VTODO, VJOURNAL
- [ ] Proper filtering for REPORT method
- [ ] ICS parsing
- [x] Datetime parsing
- [x] 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
- [x] Ensure cargo install works
- [ ] Docker image
- [ ] Releases
- [ ] Locking
- [ ] Web UI
- [ ] Testing such that I'm confident enough to use it myself :)
- [x] WebDAV sync extension [RFC 6578](https://www.rfc-editor.org/rfc/rfc6578)
- [x] implement getctag [see](https://github.com/apple/ccs-calendarserver/blob/master/doc/Extensions/caldav-ctag.txt)
- [ ] implement WebDAV If header
- [ ] Ensure proper routing
- [x] Trash bin
- [x] Hiding calendars instead of deleting them
- [ ] Restore endpoint
- [ ] Frontend
## Relevant RFCs
- Versioning Extensions to WebDAV: [RFC 3253](https://datatracker.ietf.org/doc/html/rfc3253)
- provides the REPORT method
- Calendaring Extensions to WebDAV (CalDAV): [RFC 4791](https://datatracker.ietf.org/doc/html/rfc4791)
- Scheduling Extensions to CalDAV: [RFC 6638](https://datatracker.ietf.org/doc/html/rfc6638)
- not sure yet whether to implement this
- Collection Synchronization WebDAV [RFC 6578](https://datatracker.ietf.org/doc/html/rfc6578)
- 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