Calendar needs to be invocable with a URL
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Indicator Date and Time |
In Progress
|
High
|
Charles Kerr | ||
URL Dispatcher |
Fix Released
|
High
|
Ted Gould | ||
Ubuntu Calendar App |
Fix Released
|
High
|
Riccardo Padovani | ||
url-dispatcher (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
For the design in the datetime indicator we need to be able to click on events in the calendar, and have them show up in the calendar application. For all other things similar to this we're using an URL to ensure proper execution and containment, that also makes sense here. I was unable to find any official prior art on a URL format to use for this, so I'm reverting to some adhoc prior art that Evolution uses.
Evolution supports a URL calendar:/// which can then take two parameters of starttime and endtime, which as a group show how much time to show and where to start end the view. For instance, a week long retreat might make more sense to show in week view, but a 15 minute meeting will be shown in day view. I think that the caller doesn't need to make that choice, but instead provide the time they're interested in.
In evolution, the parameters starttime and endtime are both ISO 8601 date/time strings as parsed by libecal's time_from_isodate() function, are separately optional: one or both or neither can be provided.
If no parameters are provided to evolution, it pops up a planner showing today.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Charles Kerr (community): Approve
-
Diff: 39 lines (+21/-0)2 files modifiedservice/dispatcher.c (+6/-0)
tests/dispatcher-test.cc (+15/-0)
- Ubuntu Phone Apps Jenkins Bot: Approve (continuous-integration)
- Mihir Soni: Approve
- Charles Kerr (community): Approve
- Ted Gould (community): Approve
-
Diff: 224 lines (+159/-9)3 files modifiedNewEvent.qml (+13/-6)
calendar-app.desktop (+1/-1)
calendar.qml (+145/-2)
Changed in url-dispatcher: | |
assignee: | nobody → Ted Gould (ted) |
Changed in indicator-datetime: | |
assignee: | nobody → Charles Kerr (charlesk) |
description: | updated |
description: | updated |
Changed in ubuntu-calendar-app: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in ubuntu-calendar-app: | |
assignee: | nobody → Riccardo Padovani (rpadovani) |
Changed in url-dispatcher: | |
importance: | Undecided → High |
status: | New → In Progress |
Changed in ubuntu-calendar-app: | |
status: | Triaged → In Progress |
Changed in indicator-datetime: | |
status: | New → In Progress |
importance: | Undecided → High |
Changed in url-dispatcher: | |
status: | Fix Committed → Fix Released |
Changed in ubuntu-calendar-app: | |
status: | Fix Committed → Fix Released |
In addition, we may want to look at supporting the source-uid and comp-uid notation supported by evolution. If =both= of these are specified, they can be used to specify a particular appointment.
These don't appear to have been designed for use outside of evolution and don't have permanent names.
source-uid's format is a pseudoarbitrary unique string generated from e_uid_new() (https:/ /git.gnome. org/browse/ evolution- data-server/ tree/libedatase rver/e- uid.c#n38)
comp-uid's format: https:/ /git.gnome. org/browse/ evolution- data-server/ tree/calendar/ libecal/ e-cal-component .c#n387