Architecture
Bedework is a collection of (mostly) standards compliant modules implementing calendaring and related protocols. It is Java based and - in the main - is written according to the Java specification. All the web components act as standard Java servlets. This means, for example, all authentication is carried out outside of bedework - either by the container or by filters.
As distributed the components run on Jboss5 which is a little old. However, in the supplied configuration it works well enough though by the end of this release we hope to have moved to WildFly.
Data Formats
The following formats are supported by bedework:
- iCalendar: rfc5545 - The iCalendar specification - the formats for ics files and commonly used by most calendaring applications
- iTip: rfc5546 - specifications for scheduling requests and replies using iCalendar.
- Xcal: rfc6321 - The XML format for iCalendar
- Vcard 3: rfc2426 - vcards old format - still the most common format
- Vcard 4: rfc6350 - new specification.
- jcard: rfc7095 - json format for vcard
- jcal: rfc7265 - json format for iCalendar
Protocols
Bedework implements at least the following protocols:
- CalDAV: rfc4791 - widely used calendaring protocol.
- CalDAV scheduling: rfc6638 - extension to handle implicit (i.e. server based) scheduling
- CardDav: rfc6352 - similar to CalDAV but for vcard.
- WebDAV: rfc4918 - underlies CalDAV
- WebDAV acl: rfc3744 - Access control.
- Extended MKCOL: rfc5689 - creating collections
- WebDAV sync: rfc6578 - synching collections