Fiddling with an EDS Provider for Lightning (Calendar)

While I was focusing on getting EDS contacts integration working in Thunderbird, Phillip Kewisch started working on an EDS provider for Lightning.  This would allow the Lightning calendar add-on to read and manipulate EDS calendars.

One of the reasons we want to do this is because EDS calendars are nicely tied in with the indicator-datetime applet:

The indicator-datetime applet on the Ubuntu desktop, opened to show the calendar, and some events from the calendar

That’s really cool integration – at a glance, I can see what’s going on today, and I don’t need to open my full-blown desktop calendar application to do it.

In just a little over a week, Phillip had us doing basic reading of the default EDS calendar:

The Lightning add-on, displaying an event from an EDS calendar

Awesome!  But there’s still a lot of work to do.

In particular…

Indicator-datetime integration

When we click on an event in the indicator-datetime applet, we want Thunderbird to open with the Lightning tab focused, and the selected event in view.  If we click on the “Add Event” menu item, we should be brought to the dialog that allows users to add new events to their EDS calendar.  Also, when a user double-clicks on a particular day in the indicator-datetime applet, we want that day to open up in Lightning.

So there are a few challenges here.  The first one is that opening Evolution calendar is hard-coded into indicator-datetime.  That means that we’re going to have to do a bit of reorganizing so that indicator-datetime can figure out what application to open when the user starts clicking on things.

And remember that we want this to occur whether or not Thunderbird / Lightning is open.  If Thunderbird is closed, and the user starts clicking around in indicator-datetime, then Thunderbird and Lightning should open and react appropriately.  If they’re already open, they should probably focus (although Evolution calendar doesn’t seem to do this).

That means making a way for Lightning to be summoned up from a command like “thunderbird -calendar”.

Full reading and writing to EDS calendars

The provider that Phillip got working is a good start, but it’s far from complete.  For example, it will only read a single calendar from EDS.  It also seems to choke if I restart Thunderbird after loading up my EDS calendar.

Luckily, Lightning was developed with extensibility and other back-ends in mind.  No de-RDF’ing required.

So what’s the ETA on this?  Hard to say.  I’m new to Lightning development, and I’m still feeling my way around.

I’ll keep you posted!

5 thoughts on “Fiddling with an EDS Provider for Lightning (Calendar)

  1. Jeremy Bicha

    And presumably, this could work with Gnome Shell’s built in clock/calendar once the EDS integration is complete?

  2. Felix


    I have been using Calendars on my personal Calendar Server with the lightning CalDAV provider for a year and with the great work of Philipp this is really working well by now. So if i understand this correctly I will have my calendars to the EDS backend to have them appear in Lightning and my Gnome clock. Hopefully EDS is as well tested as Lightning, which has testers on all platforms…

    Great to see work in this area.


  3. eric

    this looks very promissing. Does this piece of code also cover tasks ?
    Is it already included in the EDS Contact Integration plugin 0.3.4a shipping with ubuntu oneiric?

    It seems this would be a way to get thunderbird using both calendars and contacts and get it one step closer to syncml compatibility (syncing EDS with the syncml server can be done with syncevolution)
    Then we would only need a frontend for the syncml notes interfacing with evolution data server 🙂

    thanks for any insight!

Comments are closed.