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:
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:
Awesome! But there’s still a lot of work to do.
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!