#3167 closed defect (fixed)
Trac RSS feeds lack GUID elements
Reported by: | Owned by: | Emmanuel Blot | |
---|---|---|---|
Priority: | normal | Milestone: | 0.10.1 |
Component: | general | Version: | 0.9.5 |
Severity: | normal | Keywords: | review |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
RSS 2.0 has per-item guids. These let clients unambiguously determine the identity of feed items and do such things as handle read/unread status correctly. Trac should include a guid element in each item element in its feeds.
Attachments (3)
Change History (11)
by , 18 years ago
Attachment: | Timeline.diff added |
---|
by , 18 years ago
Attachment: | timeline_rss.diff added |
---|
follow-up: 3 comment:1 by , 18 years ago
comment:2 by , 18 years ago
I'd rather see us support permalinks for all entry instead of artificial GUIDs. Trunk already does that for tickets, and we should probably do the same for ticket changes.
follow-up: 4 comment:3 by , 18 years ago
Replying to anonymous:
I've attached a patch that adds a guid element to the Timeline feed…
It's easier if you attach a single patch file instead of separate diffs for each file you changed. See TracDev/SubmittingPatches.
I agree with cmlenz that we should use permalinks here. It seems like this would require a change to the return value of ITimelineEventProvider.get_timeline_events
so each module could provide its own permalinks, so this should probably be made before the 0.10 release, or post-poned to 0.11.
comment:4 by , 18 years ago
Replying to mgood:
I agree with cmlenz that we should use permalinks here. It seems like this would require a change to the return value of
ITimelineEventProvider.get_timeline_events
so each module could provide its own permalinks, so this should probably be made before the 0.10 release, or post-poned to 0.11.
I don't see why an interface change would be needed. If it makes sense for the RSS feed to use a link to a specific version/comment of a page, why shouldn't the timeline itself do the same? I.e. the providers should return unique links for the events, and the timeline RSS feed just reuses those for the permalinks.
comment:5 by , 18 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
I tried to have a look at this ticket. I'm attaching a patch.
For the timeline feed, we need to add an extra information to the HDF: the date, unformatted.
This is required for wiki page edition, as the link is always the same for any version of the same wiki page, which would make the guid not unique.
For the feed an event is always unique:
- report: ticket number
- query: ticket number
- ticket: ticket and comment number
- repository log: version number (only tested w/ SVN)
I've submitted 5 feed samples (on for each feed source) to the w3c validator and all of them have been repored as valid, without warnings.
comment:6 by , 18 years ago
Keywords: | review added |
---|
comment:7 by , 18 years ago
As cmlenz noticed (on IRC) guids should not be declared as permalinks, as ticket&wiki pages can be edited/deleted which mean that URL can stop to point to valid pages or point to pages whose content has changed.
comment:8 by , 18 years ago
Milestone: | → 0.10.1 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
I've attached a patch that adds a guid element to the Timeline feed… The guid value is a md5 hash build from the link to, and the date of, the event (hence, it is no PermaLink, i.e. isPermaLink="false"!!) The patches apply to Timeline.py and timeline_rss.cs of Trac version 0.9.6…
To find out more about the patch, have a look at http://dawis2.icb.uni-due.de/jpddtools/AddGuidToTimelineFeedPatch.html
nik4536