Skip to content
Peter Bieringer edited this page Oct 6, 2024 · 5 revisions

Radicale v3

Example for a simple storage layout

  • [d]: directory
  • [f]: file
[d] /var
└─[d] /lib
  └─[d] /radicale
    └─[d] /collections
      └─[d] /collection-root
        ├─[d] /USER1
        │ ├─[d] /mycalendar1 (Collection)
        │ │ ├─[d] /.Radicale.cache (automatic generated)
        │ │ ├─[f] .Radicale.props (set: VEVENT)
        │ │ ├─[f] schedule1.ics
        │ │ ├...
        │ │ └─[f] scheduleX.ics
        │ ├─[d] /myaddressbook1 (Collection)
        │   ├─[d] /.Radicale.cache (automatic generated)
        │   ├─[f] .Radicale.props (set: VJOURNAL)
        │   ├─[f] contact1.vcf
        │   ├...
        │   └─[f] contactX.vcf
        │
        ├─[d] /USER2
        ...

Collection

Collection on storage is always a directory containing

Files: *.ics / *.vcf

Collection Type Files
VCALENDAR *.ics
VADDRESSBOOK *.vcf

File: .Radicale.props

Property file of collection

Example using jq for pretty-print

Example of a calendar collection

jq . .Radicale.props 
{
  "C:calendar-description": "Schedules",
  "C:supported-calendar-component-set": "VEVENT,VJOURNAL,VTODO",
  "D:displayname": "Schedules",
  "ICAL:calendar-color": "#ffc000ff",
  "tag": "VCALENDAR"
}

Example of a addressbook collection

jq .  .Radicale.props 
{
  "CR:addressbook-description": "AddressBook",
  "D:displayname": "AddressBook",
  "{http://inf-it.com/ns/ab/}addressbook-color": "#758857ff",
  "tag": "VADDRESSBOOK",
}


Directory: .Radicale.cache

Directory: .Radicale.cache/history

(TODO)

Directory: .Radicale.cache/item

(TODO)

Directory: .Radicale.cache/sync-token

(TODO)