Edgewall Software
Modify

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#3167 closed defect (fixed)

Trac RSS feeds lack GUID elements

Reported by: exarkun@… 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)

Timeline.diff (423 bytes ) - added by anonymous 14 years ago.
timeline_rss.diff (405 bytes ) - added by anonymous 14 years ago.
rss.patch (2.6 KB ) - added by Emmanuel Blot 14 years ago.
Proposed patch against r3813 to support RSS guids

Download all attachments as: .zip

Change History (11)

by anonymous, 14 years ago

Attachment: Timeline.diff added

by anonymous, 14 years ago

Attachment: timeline_rss.diff added

comment:1 by anonymous, 14 years ago

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

comment:2 by Christopher Lenz, 14 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.

in reply to:  1 ; comment:3 by Matthew Good, 14 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.

in reply to:  3 comment:4 by Christopher Lenz, 14 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 Emmanuel Blot, 14 years ago

Owner: changed from Jonas Borgström to Emmanuel Blot
Status: newassigned

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.

by Emmanuel Blot, 14 years ago

Attachment: rss.patch added

Proposed patch against r3813 to support RSS guids

comment:6 by Emmanuel Blot, 14 years ago

Keywords: review added

comment:7 by Emmanuel Blot, 14 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 Emmanuel Blot, 14 years ago

Milestone: 0.10.1
Resolution: fixed
Status: assignedclosed

Patch has been commited in r3814 and r3815, without support for permalinks

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Emmanuel Blot.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Emmanuel Blot to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.