If you can't read please download the document
Upload
roberto-polli
View
5.393
Download
1
Embed Size (px)
Citation preview
Simple Blue Template
Connecting the Enterprise
Integrating Funambol with CalDAV and LDAP
Roberto Polli - [email protected]
Overview
Why Babel chose Funambol
Integrating LDAP and CalDAV
Insight CalDAV Connector: iCalendar and interoperability issues
Connector Testing Framework: speed up RFC compliance
Open issues
Italians do it better ;)
Babel mission:
provide large mail infrastructure entirely based on independent RFC modules
SMTP, IMAP, LDAP, CalDAV (RFC4791), iCalendar(RFC2445)
SyncML
Why Funambol?
Italians do it opensource!
LDAP: just for Fun
Babel authentication system is based on LDAP, with user data on FedoraDS
Our first experience was about writing:
LdapConnector support for FedoraDS
LdapUserProvisioningOfficer
..and it was fun :)
Then we needed to sync Calendar events
CalDAV is a calendar access protocol based on webdav/http and iCalendar (RFC2445)
defined by RFC4791
one event one .ics file
accessible by http
support queries (by time-range, location, etc.)
various implementations (Bedework, Google, Apple, OSAF, ...)
CalDAV: open your agenda!
Internet grew with email connecting people.
CalDAV makes people meet
share freebusy times
organize meetings
schedule tasks
These flows need to be interoperable and mobilized, hopefully converging to iCalendar
Why CalDAV Connector
Mobiles store events in vcal-1.0 (vcs)
vendor-specific attributes
limited interoperability
iCalendar (ics) attempts to unify these things
Converting ics to vcs and back is not easy
ics to vcs causes data loss
ics recurrence rules are complex to sync to vcs
round-trip item conversion
Funambol support of RFC2445
Open issues
BEGIN:VEVENT
SUMMARY:My Birthday
DTSTART:19771205
AALARM;TYPE=X-EPOC
SOUND:20071205T12
0000;;CalenAlarmS
ound
END:VEVENT
END:VCALENDAR
Examples - I
BEGIN:VALARM
ACTION:EMAIL
DESCRIPTION:This is an event reminder
SUMMARY:Alarm notification
ATTENDEE:mailto:[email protected]
TRIGGER:-P0DT0H10M0S
END:VALARM
Two different ALARMS a VCS on a mobile, an ICS on GCaldav
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID: [email protected]
SUMMARY: Periodic meeting
DTSTART:20081205
DTEND:20081206
RRULE: FREQ=MONTHLY
EXDATE:20090105
END:VEVENT
BEGIN:VEVENT
UID: [email protected]
SUMMARY: Shifted 1 day
RECURRENCE-ID: 20090106
DTSTART: 20090106
DTEND: 20090107
END:VEVENT
END:VCALENDAR
Examples - II
A recurring event..
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID: ???????????????
SUMMARY: Periodic meeting
RRULE: FREQ=MONTHLY
EXDATE: 20090105
END:VEVENT
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID: ???????????????
SUMMARY: Shifted 1 day
DTSTART:20090106
DTEND:20090107
END:VEVENT
END:VCALENDAR
Connector Testing Framework
FCTF enables round-trip event testing
no need to deploy
fast debugging
collect data from mobile (ics,vcs,..)
scripting use cases
Still to do
Pipelines normalize item from/to mobiles
logging
Add on server, update on mobile
#!/bin/bash
first sync
add event on server
sync
modify event on client
sync
check event on server
Writing CalDAVConnector
lead us to:
improve and maintain CalDAV4j
bugfix Funambol & Bedework
Once more writing OSS is like sowing good seeds ;)
Sowing the seeds of love
DaPino - http://dapino-colada.nl
Conclusions
Support for RFC2445 is a primary target for Funambol
achieve interoperability
offline sync solution for desktop
Improving FCTF is a great way to achieve it
Hope it helps - [email protected]
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level