SlideShare a Scribd company logo
Connecting the Enterprise  Integrating Funambol with CalDAV and LDAP Roberto Polli - rpolli@babel.it
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    - rpolli@babel.it
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!    - rpolli@babel.it
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    - rpolli@babel.it
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!    - rpolli@babel.it
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    - rpolli@babel.it
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    - rpolli@babel.it
BEGIN:VEVENT SUMMARY:My Birthday DTSTART:19771205 AALARM;TYPE=X-EPOC SOUND:20071205T12 0000;;CalenAlarmS ound END:VEVENT END:VCALENDAR Examples - I     - rpolli@babel.it BEGIN:VALARM ACTION:EMAIL DESCRIPTION:This is an event reminder SUMMARY:Alarm notification ATTENDEE:mailto:robipolli@gmail.com TRIGGER:-P0DT0H10M0S END:VALARM Two different ALARMS a VCS on a mobile, an ICS on GCaldav
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT UID: meeting@babel.it SUMMARY: Periodic meeting DTSTART:20081205 DTEND:20081206 RRULE: FREQ=MONTHLY EXDATE:20090105 END:VEVENT BEGIN:VEVENT UID: meeting@babel.it SUMMARY: Shifted 1 day RECURRENCE-ID: 20090106 DTSTART: 20090106 DTEND: 20090107 END:VEVENT END:VCALENDAR Examples - II     - rpolli@babel.it 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    - rpolli@babel.it
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    - rpolli@babel.it
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     - rpolli@babel.it
Hope it helps  -  [email_address]

More Related Content

PPTX
03 spring cloud eureka service discovery
PPTX
PubSub++ - Atmosphere 2015
PDF
Virtual Flink Forward 2020: Apache Flink Worst Wractices - Konstantin Knauf
PDF
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
PDF
SFBigAnalytics_20190724: Monitor kafka like a Pro
PDF
Phoenix for Rubyists - Rubyconf Brazil 2016
PDF
Function Mesh: Complex Streaming Jobs Made Simple - Pulsar Summit NA 2021
PDF
I Don’t Always Test My Streams, But When I Do, I Do it in Production (Viktor ...
03 spring cloud eureka service discovery
PubSub++ - Atmosphere 2015
Virtual Flink Forward 2020: Apache Flink Worst Wractices - Konstantin Knauf
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
SFBigAnalytics_20190724: Monitor kafka like a Pro
Phoenix for Rubyists - Rubyconf Brazil 2016
Function Mesh: Complex Streaming Jobs Made Simple - Pulsar Summit NA 2021
I Don’t Always Test My Streams, But When I Do, I Do it in Production (Viktor ...

What's hot (19)

PPTX
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
PDF
Virtual Flink Forward 2020: Testing production streaming applications - Gyul...
PDF
Flink Forward Berlin 2018: Lasse Nedergaard - "Our successful journey with Fl...
PDF
Twitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
PPTX
Apache kafka
PPTX
Evolution of netflix conductor
PPT
Conejo Architecture
PDF
Kong API
PDF
Spring Boot—Production Boost
PDF
Follow the (Kafka) Streams
PDF
簡単にレビュー環境が作れる仕組みを作ってる話し
PDF
Postman Galaxy Tour: San Francisco - Workshop Presentation
PDF
Why you should have a Schema Registry | David Hettler, Celonis SE
PPTX
Cloud-Native Batch Processing with Spring Batch 4
PPTX
Ruby и TestComplete
PPTX
Cloud Native Batch Processing
PDF
A Whale and an Elephant, when PHP meets docker
PDF
Angular 2 observables
PPTX
Keptn - Automated Operations & Continuous Delivery for k8s
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
Virtual Flink Forward 2020: Testing production streaming applications - Gyul...
Flink Forward Berlin 2018: Lasse Nedergaard - "Our successful journey with Fl...
Twitter’s Apache Kafka Adoption Journey | Ming Liu, Twitter
Apache kafka
Evolution of netflix conductor
Conejo Architecture
Kong API
Spring Boot—Production Boost
Follow the (Kafka) Streams
簡単にレビュー環境が作れる仕組みを作ってる話し
Postman Galaxy Tour: San Francisco - Workshop Presentation
Why you should have a Schema Registry | David Hettler, Celonis SE
Cloud-Native Batch Processing with Spring Batch 4
Ruby и TestComplete
Cloud Native Batch Processing
A Whale and an Elephant, when PHP meets docker
Angular 2 observables
Keptn - Automated Operations & Continuous Delivery for k8s
Ad

More from Roberto Polli (20)

PDF
Ratelimit Headers for HTTP
PDF
Interoperability rules for an European API ecosystem: do we still need SOAP?
PDF
Docker - virtualizzazione leggera
PDF
Just one-shade-of-openstack
PDF
Test Drive Deployment with python and nosetest
ODP
Tox as project descriptor.
PDF
Python for System Administrators
PDF
Scaling mysql with python (and Docker).
PDF
Orchestrating MySQL with Python and Docker
PDF
Statistics 101 for System Administrators
PDF
Will iPython replace bash?
ODP
Pysmbc Python C Modules are Easy
PDF
Git gestione comoda del repository
PDF
Testing with my sql embedded
PPT
Servizi di messaging & collaboration in mobilità: Il panorama open source
ODP
Funambol al Linux Day 2009
PDF
ICalendar RFC2445 - draft1
PDF
Presenting CalDAV (draft 1)
ODP
ultimo-miglio-v3
ODP
Ultimo Miglio v2
Ratelimit Headers for HTTP
Interoperability rules for an European API ecosystem: do we still need SOAP?
Docker - virtualizzazione leggera
Just one-shade-of-openstack
Test Drive Deployment with python and nosetest
Tox as project descriptor.
Python for System Administrators
Scaling mysql with python (and Docker).
Orchestrating MySQL with Python and Docker
Statistics 101 for System Administrators
Will iPython replace bash?
Pysmbc Python C Modules are Easy
Git gestione comoda del repository
Testing with my sql embedded
Servizi di messaging & collaboration in mobilità: Il panorama open source
Funambol al Linux Day 2009
ICalendar RFC2445 - draft1
Presenting CalDAV (draft 1)
ultimo-miglio-v3
Ultimo Miglio v2
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
Teaching material agriculture food technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Teaching material agriculture food technology
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?

Integrating Funambol with CalDAV and LDAP

  • 1. Connecting the Enterprise Integrating Funambol with CalDAV and LDAP Roberto Polli - rpolli@babel.it
  • 2. 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 - rpolli@babel.it
  • 3. 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! - rpolli@babel.it
  • 4. 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 - rpolli@babel.it
  • 5. 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! - rpolli@babel.it
  • 6. 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 - rpolli@babel.it
  • 7. 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 - rpolli@babel.it
  • 8. BEGIN:VEVENT SUMMARY:My Birthday DTSTART:19771205 AALARM;TYPE=X-EPOC SOUND:20071205T12 0000;;CalenAlarmS ound END:VEVENT END:VCALENDAR Examples - I - rpolli@babel.it BEGIN:VALARM ACTION:EMAIL DESCRIPTION:This is an event reminder SUMMARY:Alarm notification ATTENDEE:mailto:robipolli@gmail.com TRIGGER:-P0DT0H10M0S END:VALARM Two different ALARMS a VCS on a mobile, an ICS on GCaldav
  • 9. BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT UID: meeting@babel.it SUMMARY: Periodic meeting DTSTART:20081205 DTEND:20081206 RRULE: FREQ=MONTHLY EXDATE:20090105 END:VEVENT BEGIN:VEVENT UID: meeting@babel.it SUMMARY: Shifted 1 day RECURRENCE-ID: 20090106 DTSTART: 20090106 DTEND: 20090107 END:VEVENT END:VCALENDAR Examples - II - rpolli@babel.it 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
  • 10. 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 - rpolli@babel.it
  • 11. 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 - rpolli@babel.it
  • 12. 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 - rpolli@babel.it
  • 13. Hope it helps - [email_address]