Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Bedework Enterprise Calendar System, Apereo Conference 2013, San Diego

The Bedework Enterprise Calendar System, Apereo Conference 2013, San Diego

Bedework is an open-source, standards-compliant calendar system that supports public, personal, and group calendaring. Since its first release in 2006, Bedework has been adopted by numerous public and private organizations both large and small. A core mission of Bedework is interoperability between calendar systems, clients, and devices. Bedework consists of a core calendaring engine, CalDAV server, CardDAV server, synchronization engine and a Timezone server. It comes with web clients for public events and public events administration, personal calendaring, public event submission, event registration, a client to build data feeds and widgets, and supports web services (SOAP and REST). Bedework 3.9 introduces many new features: interoperable calendar sharing; a simple subscription system for public events; an event registration system; management of theme resources for public events; image uploads for public events; Solr driven public events listings and paging; enhancements to data feeds and event widgets. This talk will demonstrate Bedework's latest features and plans for development, touching on the progress of calendaring standards along the way.

Video presentation available at http://lanyrd.com/2013/apereo/schtwg/

#apereo13

Arlen Johnson

June 04, 2013
Tweet

More Decks by Arlen Johnson

Other Decks in Technology

Transcript

  1. the Bedework Enterprise Calendar System Copyright Arlen D.H. Johnson 2013.

    This work is the intellectual property of the author. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the author. To disseminate otherwise or to republish requires written permission from the authors. Arlen Johnson Rensselaer Polytechnic Institute Apereo Conference June 3, 2013
  2. Agenda • Dramatis personae – who's that? • The state

    of calendaring – where's that? • Calendaring standards – how's that? • Bedework – what's that? – Bedework the Project – Bedework the Product – Demonstration • Q&A 2
  3. Dramatis personæ • Arlen Johnson, [email protected] Senior Web Producer Communication

    & Middleware Technologies Division of the Chief Information Officer Rensselaer Polytechnic Institute 3
  4. Rensselaer Polytechnic Institute • Established 1824 in Troy, NY “for

    the purpose of instructing persons ... in the application of science to the common purposes of life.” • Nation's oldest technological university 4
  5. Rensselaer and Bedework "Rensselaer relies heavily on and benefits mightily

    from open source software but seldom contributes to open source. We believe this contribution will enhance Rensselaer's reputation in the area of software development. …Two of our goals going into the project were to leverage our expertise in Java, J2EE, web client interfaces, and to avoid becoming calendar experts.“ …oops 5
  6. "Vernon here's got a job. Vernon's got prospects. He's bona

    fide. What are you?" O Brother Where Art Thou? Dir. Joel Coen. Perf. George Clooney, Holly Hunter. 2000. Everett Finds His Ex-wife. MetaCafe. Web. 21 Aug. 2012. <http://www.metacafe.com/watch/an-wjwi2nbtYhbJmm/o_brother_where_art_thou_2000_everett_finds_his_ex_wife/>.
  7. Bona Fides – Calendaring Bedework’s contributors have been in the

    calendar business for a decade. Of particular significance: • Gary Schwartz, [email protected] – President of CalConnect, the Calendaring & Scheduling Consortium http://www.calconnect.org – Jasig Board of Directors – Chair of the Bedework Steering Committee • Mike Douglass, [email protected] – Chair, Co-Chair, and participant in many CalConnect technical committees – Author and coauthor of several calendaring standards (RFCs) within IETF and OASIS – Bedework’s chief architect 7
  8. Once Upon a Time… 9 January 2007 - Example from

    http://knuttila.net/JornSync.pdf • “You'll see that red arrows are a two-way sync. • “The little clouds are conduits that I wish I didn't have to use. • “I have a personal calendar and a work calendar. Both slide along through this plumbing as requested. Wow. The personal calendar stays off the "work" things on the right. • “Groupcal by Snerdware has recently seen some major improvements. I actually created an event in iCal today and invited a colleague via our Exchange sever. It's true! Missing Sync has always been awesome. • “Did I mention that this actually works?” IS THIS STILL YOU or YOUR ORG?
  9. The Future (is Now!) 10 • As the calendaring world

    becomes more CalDAV aware, two-way sync will be the norm in user clients without the need for third-party conduits. • Desktop and mobile clients are already there or heading this way. • New to CalDAV? Consider this (oversimplified) analogy: CalDAV : Calendars :: IMAP : Email s e r v e r s e r v e r s e r v e r caldav caldav
  10. The Future (is Coming!) 11 • Cross-organizational scheduling (iSchedule) •

    Calendar sharing (within and across organizations) Org B Org C Org A
  11. Why Does This Matter? • Enterprise: – Boeing: 21 person

    hours to schedule ONE meeting – Setting up meetings across organizations! (iSchedule & VPOLL) – SmartGrid • Personal – Keeping work and family life sane – Finding / subscribing to events you are interested in! 12
  12. CalConnect • CalConnect - The Calendaring and Scheduling Consortium: http://www.calconnect.org

    • “The Consortium is focused on the interoperable exchange of calendaring and scheduling information between dissimilar programs, platforms, and technologies.” • Membership consists of industry leaders and a large number of universities – http://www.calconnect.org/mbrlist.shtml • Interoperability testing! 14
  13. CalConnect Projects 1 of 3 (or A Quick Litany of

    CalConnect Projects, Part 1) • CalConnect has facilitated the following: – RFC 2445 - iCalendar - upgrade to 5545 – RFC 2446 - iTip - upgrade to 5546 – RFC 4791 - CalDAV - supported by Apple, Bedework, Oracle, others – RFC 6638 - CalDAV scheduling – RFC 6350 - VCard 4 - workshops to encourage development and interoperability testing – RFC 6352 - CardDAV – RFC 6321 - xCal - XML representation for iCalendar – Freebusy read URL – OASIS: – WS-Calendar - Working with OASIS to develop their new WS-Calendar standard (scheduling for the Smart Grid), based on xCal, CalWS-REST and CalWS-SOAP – CalWS-REST and CalWS-SOAP - We need to (finally) provide platform and system-independent calendaring and scheduling operations APIs for web services - it's long past time – Use cases to establish the "holy grail" for scheduling - ad hoc scheduling with anybody 16
  14. CalConnect Projects 2 of 3 (or A Quick Litany of

    CalConnect Projects, Part 2) • Close (drafts + implementations): – CalDAV/CardDAV Sharing and notifications: Sharing calendars and contacts between users – Consensus Scheduling (VPOLL): TimeTrade, Doodle, WhenisGood do it, it should be interoperable - scheduling driven by the attendees who get to vote on the best times and locations for group events – Event Publishing Extensions: publication of public events - rich text, participants and image support – iSCHEDULE: Server scheduling between dissimilar systems – jCal: Standard representation of iCalendar in JSON – Timezone service and registry: Full timezone support via dynamic server calls rather than embedding timezone information in events - no more having event times wrong when timezones change and your software isn't updated – VAVAILABILITY: New iCalendar component to describe availability, to 'condition' freebusy lookup and scheduling (e.g. you may be 'free' at 3 a.m. but you aren't available for a meeting) 17
  15. CalConnect Projects 3 of 3 (or A Quick Litany of

    CalConnect Projects, Part 3) • Coming: – Autodiscovery: One-stop setup for devices and new service providers for calendaring, e-mail, etc. based on internet standard protocols – CalDAV Alarms: Extend alarm support to allow for cross-device dismissal, proximity triggers based on location, default alarms in CalDAV – CalDAV Attachments: Extends the calendaring server to manage attachments – Non-Gregorian Calendars: Establish a way for recurrences to work with non-Gregorian calendar systems, in particular lunar/solar calendars – TASKS: Improve the specifications for VTODO to enable project management tools and apps to communicate and store information in a standard format. – vCard Resources: Define the vCard representation of calendaring resources to ease the discovery and scheduling of resources between any calendar client and server. 18
  16. Why Get Involved in Standards? 1. A small organization can

    influence an entire industry 2. Enlightened self-interest 19
  17. Bedework is… • A comprehensive calendaring & events system •

    An Apereo community source project • Platform independent • Modular & extensible • Developed with higher education in mind • and… 23 STANDARDS BASED!
  18. Ten Years in the Making • March 2013 marked the

    7th anniversary of Bedework 3.0, the first Bedework release. • 2013 also marks a decade of calendar development since Rensselaer first joined the UW Calendar project, the precursor to Bedework 24
  19. Bedework History • 2003 – Rensselaer joins UW Calendar project

    • 2006 – Bedework 3.0 – 1st Release – Mellon Foundation MATC Award • 2009 – Jasig incubator project • 2010 – Bedework 3.6 – Jasig sponsored project • 2011 – Bedework 3.7 • 2012 – Bedework 3.8 – Apereo born from Jasig and Sakai – Bedework 3.9 • 2013 – Bedework 3.10 (to be released) 26
  20. Who’s Using Bedework? • Brown • Colgate • Duke •

    Notre Dame • Virginia • Rensselaer • Chicago • UNC (Chapel Hill) • Maryland (College Park) • Virginia • Yale • UBC (Canada) • Universidad Publica de Navarra (Spain) • Nashville Public Library • San Diego Public Library • New Haven Free Public Library • Jahia Software (Switzerland) • Omniupdate Software …and many others in English, German, French, Spanish, and more – both for-profit and non- profit 27
  21. Bedework Steering Committee SC members are affiliated with the following

    organizations: – Brown University – Duke University – Public University of Navarra (Spain) – Rensselaer Polytechnic Institute – Red Hat (previously Yale University) – Tasco Online (previously UW Madison) – Girasole Solutions 28
  22. Total Calendaring System? • A “Total Calendaring System” must meet

    all the following needs and more: – personal / group / public events calendaring – interoperable calendaring – shared calendars – scheduling – events publication / event submission – subscriptions / event pool – multi-language support / internationalization – structured venues / contacts, sponsors / etc. – much, much, more … • Bedework's priorities driven by standards requirements and community feedback 29
  23. Bedework at Your Organization • Use your database system •

    Use your local authentication • Use your language and culture • Use your portal • Use your look and feel • Use your calendaring clients and smart phones • Integrate with your applications • Install with your IT staff – you don’t have to be calendaring or Java experts! 30
  24. Interoperability is a core value! • Bedework’s preoccupation with standards

    and interoperability is in large part recognition that in many organizations, Bedework is unlikely to be the only calendaring product in an enterprise. • The ability to share and exchange data with other calendaring products and environments is an important key to Bedework’s future well-being as a product and a project. 31
  25. And in the end… • …the love you take Is

    equal to the love you make • Active participation in CalConnect and calendaring standards – Chair FREEBUSY Technical Committee – Chair Timezone Technical Committee – iSchedule, CalDAV Technical Committees – Publicity Committee – Steering Committee – Board of Directors 32
  26. Bedework Features CORE FEATURES • Public calendars / views •

    Public feeds and widgets • Public events administration • Public events submission • Personal calendaring • CalDAV Server • API, Web services • Timezone Server RECENT ADDITIONS • Bedework Sometime • Improved calendar sharing • Public events registration • Notification system • Apache Solr 34
  27. 36

  28. 37

  29. 38

  30. 39

  31. 40

  32. 41

  33. 42

  34. 43

  35. 44

  36. 46

  37. 47

  38. 48

  39. Bedework via CalDAV • Direct calendar integration via CalDAV* •

    Sharing and notifications! (standards, standards, standards!) *Apple iCal, iPhone, iPad, Android phones, Mozilla Lightning, EM Client, many more… see: http://caldav.calconnect.org/implementations/clients.html 57
  40. iCal Bedework in various CalDAV Clients 59 iPad EM Client

    Mozilla Lightning Acal for Android iPhone
  41. Bedework Event Pool 61 Public Events e e Single Calendar

    Model Very little calendar hierarchy Common Filters Category (tags) Group (creator) Data Feeds & Widgets ical, rss, json, raw xml Calendar Suites public event web sites view subscription + filter subscription + filter Public Events: Getting Data Out
  42. e e Bedework Event Pool 62 Public Events Public Events

    Administration member of a group Public Events Submission submissions calendar Public Events: Getting Data In
  43. e e Bedework Personal Calendaring 63 Public Events Personal &

    Group Events freebusy only read/write access www clients: desktop mobile web
  44. 66

  45. 67

  46. Bedework at Lausanne end EPFL • We successfully use Bedework

    in our university We have 2000 people using Bedework for personal and students. • We use the Bedework 3.4.1(mysql) in backend and in frontend a portlet developed by EPFL (http://epfl.ch/index.en.html) • I'm developing a new version of the portlet w/ the ZK framework ZK, and I'm planning a Bedework migration(3.4.1-> 3.8) at the end of this year (2012). 69
  47. Calendaring as a Platform • Start with calendar data and

    server/store API • Can support traditional calendar clients • Enable consumer calendar data (e.g. web portal widgets) • Different protocol stacks on top provide flexibility and interoperability between calendar applications • Extensible calendar services and APIs 71
  48. Bedework Future • Paged public events – already available in

    3.9, but needs integration work with “Ongoing” events • Multitenancy – Already available in 3.9; documenting • Improved caching – Version 3.9.0.15 now uses ehcache; even more improvements to come • Multi-select filtering in public UI • Faceted search • Improved scalability – both up and down 75
  49. Further Futures • Simplifying administration • Packaging / no build

    deployment • Stronger internationalization – Bedework has long supported content translation, but it is not exposed in the UI • Bedework the calendaring platform -- more applications which exploit Bedework via WS 76
  50. Thank You! • Q & A – CalConnect: http://www.calconnect.org –

    Bedework: http://www.jasig.org/bedework 79