Re: displaying free/busy information from remote iCals
On 5/23/15 5:54 PM, Petr Špaček wrote:
> I would like to get an advice how to display "busy" information from
> remote iCal in the same way as any other events.
> Imagine that remote iCal contains some public events represented by
> VEVENT blocks and also some non-public events which represented by
> VFREEBUSY blocks.
> Currently Lightning displays only events (VEVENT) and (seemingly?)
> ignores free/busy blocks (VFREEBUSY).
> Is there a way to display VFREEBUSY in the same way as VEVENT?
> I'm willing to work on this functionality but I need some guidance from
> person knowledgable about this part of code, I'm total
> Mozilla/Thunderbird newbie.
> Maybe something simple like translating VFREEBUSY blocks to equivalent
> VEVENT blocks could work? Does it make sense? I guess that this needs to
> be optional, maybe per calendar?
> Thank you for advices and your time!
I've set myself for needinfo on that bug, as I can't give you an
elaborate reply right now. Could you make a quick comment there that
you'd like to work on the bug so I don't forget why I set needinfo?
Just from the top of my head, I think the right way to do this would be
to support VFREEBUSY the same way we currently support VEVENT, as a
top-level component. This would require a bit of work because we have a
lot of code that assumes that if something is not an event it is a task.
On a related note, an attempt was made a while back to support VJOURNAL
elements (bug 185537), that kind of got lost in reviews and bitrot.
The right way to go about this would be to take small steps. The
VJOURNAL code can be used as a base, maybe a good first step would be to
have a tested component that extends calIItemBase for VFREEBUSY. Then we
can adapt the ics parser to emit the events and make sure the storage
provider supports saving these components. Then there might be a few
more steps in between, then we can adapt the UI to show these components
similar to events.
As you see its not that simple, but even one step in that direction
would be beneficial. I'd be delighted if you could help get things started!