Integrating Funambol with CalDAV and LDAP

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

- [email protected]

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!

- [email protected]

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

- [email protected]

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!

- [email protected]

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

- [email protected]

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

- [email protected]

BEGIN:VEVENT

SUMMARY:My Birthday

DTSTART:19771205

AALARM;TYPE=X-EPOC

SOUND:20071205T12

0000;;CalenAlarmS

ound

END:VEVENT

END:VCALENDAR

Examples - I

- [email protected]

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

- [email protected]

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

- [email protected]

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

- [email protected]

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

- [email protected]

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