diff --git a/Collection-Storage.md b/Collection-Storage.md index a2b69e1..f8ee2a9 100644 --- a/Collection-Storage.md +++ b/Collection-Storage.md @@ -1,15 +1,68 @@ # Radicale >= 3.0.0 +## Example for a storage layout incl. shared calendar/addressbook +* `[d]`: directory +* `[f]`: file +* `[l]`: softlink + +``` +[d] /var +└─[d] /lib + └─[d] /radicale + └─[d] /collections + └─[d] /collection-root + ├─[d] USER1 + │ ├─[d] MyCalendar (Collection) + │ │ ├─[d] .Radicale.cache (automatic generated) + │ │ ├─[f] .Radicale.props (set: VEVENT) + │ │ ├─[f] schedule1.ics + │ │ ├... + │ │ └─[f] scheduleX.ics + │ ├─[d] MyAddressbook (Collection) + │ │ ├─[d] .Radicale.cache (automatic generated) + │ │ ├─[f] .Radicale.props (set: VJOURNAL) + │ │ ├─[f] contact1.vcf + │ │ ├... + │ │ └─[f] contactX.vcf + │ ├─[l] GroupAddressbook1 -> ../SHARED/GroupAddressbook1 + │ └─[l] GroupCalendar1 -> ../SHARED/GroupCalendar1 + │ + ├─[d] USER2 + │ ├ ... + │ ├─[l] GroupAddressbook2 -> ../SHARED/GroupAddressbook2 + │ └─[l] GroupCalendar2 -> ../SHARED/GroupCalendar2 + │ + └─[d] SHARED + ├─[d] GroupCalendar1 (Collection) + │ ├─[d] .Radicale.cache (automatic generated) + │ ├─[f] .Radicale.props (set: VEVENT) + │ ├─[f] sharedschedule1.ics + │ ├─[f] ... + │ └─[f] sharedscheduleX.ics + ├─[d] GroupCalendar2 (Collection) + ... + ├─[d] GroupAddressbook1 (Collection) + │ ├─[d] .Radicale.cache (automatic generated) + │ ├─[f] .Radicale.props (set: VJOURNAL) + │ ├─[f] sharedcontact1.vcf + │ ├─[f] ... + │ └─[f] sharedcontactX.vcf + ├─[d] GroupAddressbook2 (Collection) + ... +``` + +## Collection + Collection on storage is always a directory containing -## Files: *.ics / *.vcf +### Files: *.ics / *.vcf | **Collection Type** | **Files** | |-|-| | VCALENDAR | *.ics | | VADDRESSBOOK | *.vcf | -## File: .Radicale.props +### File: .Radicale.props Property file of collection @@ -26,17 +79,17 @@ jq . .Radicale.props } ``` -## Directory: .Radicale.cache +### Directory: .Radicale.cache -### Directory: .Radicale.cache/history +#### Directory: .Radicale.cache/history (TODO) -### Directory: .Radicale.cache/item +#### Directory: .Radicale.cache/item (TODO) -### Directory: .Radicale.cache/sync-token +#### Directory: .Radicale.cache/sync-token (TODO)