Opened 7 years ago
Closed 5 years ago
#2955 closed enhancement (fixed)
iCal feed for the entire meetings page
Reported by: | schlessera | Owned by: | tellyworth |
---|---|---|---|
Milestone: | Priority: | normal | |
Component: | Make (Get Involved) / P2 | Keywords: | |
Cc: |
Description
The Meetings page should have a link to an iCal feed, where you can subscribe to a synchronized version of the entire meetings calendar.
This allows people to just subscribe to that feed and have all the meetings be displayed in a nice layout in their favorite calendar app.
The implementation should not be too difficult, as the iCalendar specification is rather simple and it only needs a very basic endpoint to generate the feed.
I'm happy to provide a PR, once I found out where this needs to go, and what endpoint to provide.
Currently, I think the endpoint could be something like /ical/meetings/
, which still leaves the option to have component specific feeds as well under /ical/meetings/core/
.
Link to the iCalendar specification: https://www.ietf.org/rfc/rfc2445.txt
Attachments (3)
Change History (22)
This ticket was mentioned in Slack in #core by sergey. View the logs.
7 years ago
#4
@
7 years ago
iCalendar Specifications RFC is updated to https://www.ietf.org/rfc/rfc5545.txt
As suggested in ticket description, there is not a need to have a full calendar functionality. From available data an iCal can be generated dynamically.
Using endpoints would also make it easy to have near realtime updates pushed to clients.
@schlessera in your suggestion /ical
a namespace or custom endpoint to core WP api namespace?
This post type is added using a separate plugin in WP.org See /sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-meeting-posttype
This ticket was mentioned in Slack in #meta by mindmantra. View the logs.
6 years ago
This ticket was mentioned in Slack in #design by melchoyce. View the logs.
6 years ago
This ticket was mentioned in Slack in #meta by ocean90. View the logs.
5 years ago
This ticket was mentioned in Slack in #hosting-community by mike. View the logs.
5 years ago
This ticket was mentioned in Slack in #core by sergey. View the logs.
5 years ago
#11
@
5 years ago
2955.1.patch allows iCalendars to be generated for all meetings, or for a specific team's meetings. They can be accessed at the path: /meetings/(optional team name)/calendar.ics
.
The patch also adds a sequence
meta value to meeting post types, which is used to track whenever a meeting is updated, and allows the event in the calendar to also be updated.
An organizer email is required to be specified on each event for some calendars to successfully import it (such as Google Calendar). I guess some strings have to be translatable as well, such as the event description.
This ticket was mentioned in Slack in #core by pierlo. View the logs.
5 years ago
This ticket was mentioned in Slack in #meta by pierlo. View the logs.
5 years ago
This ticket was mentioned in Slack in #core by pierlo. View the logs.
5 years ago
#16
@
5 years ago
In 2955.2.diff, I've namespace
d the "Meeting Post Type" and "Meeting iCalendar" plugins, and created a class to house the query for retrieving meetings.
Also, I see some plugins referring WordPressdotorg\Autoload
, but all of them have their own instance of it. I've taken that route for now, but I think having it as a mu-plugin would work out best and remove code duplications.
This ticket was mentioned in Slack in #meta by pierlo. View the logs.
5 years ago
This ticket was mentioned in Slack in #core by sergey. View the logs.
5 years ago
#19
@
5 years ago
- Resolution set to fixed
- Status changed from reviewing to closed
This was recently implemented in a new Calendar for WordPress.org.
The Ical feeds were based on the code here from @pierlo - Thank you!
There is no "meetings calendar". I mean, we can probably generate one, but no such "calendar" exists at present.
The meetings shown on the meetings page are generated on the fly. They involve a start date and time (in UTC), and a "repeating" flag marked for weekly or monthly. That's it. No more complex than that. We do not keep a history, we do not keep a list of meetings that happened in the past, or a list of meetings that's going to happen in the future. It just generates the next meeting for each entry and displays that, along with some Javascript to show the local time for it.