WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 3 years ago

#4967 closed defect (bug) (fixed)

Obsolete the RSS 0.92 feed

Reported by: markjaquith Owned by:
Milestone: 3.3 Priority: normal
Severity: normal Version: 2.8
Component: Feeds Keywords: has-patch commit
Focuses: Cc:

Description

in feed-rss.php

<description><?php the_content_rss('', 0, '', get_option('rss_excerpt_length')) ?></description>

That chops the description when offering full feeds (default: 50 words).

It is expected the full feeds not be truncated.

Attachments (7)

4967.patch (7.0 KB) - added by peaceablewhale 6 years ago.
4967.diff (1.5 KB) - added by Otto42 5 years ago.
Patch for trunk to remove rss and rdf feeds
4967.2.diff (865 bytes) - added by nacin 4 years ago.
Patch toggles the default, but leaves the functions and files intact.
4967.3.diff (731 bytes) - added by nacin 4 years ago.
4967.4.diff (3.1 KB) - added by johnpbloch 4 years ago.
Canonical redirect for rdf and rss to rss2
4967.5.diff (1.5 KB) - added by johnpbloch 4 years ago.
4967.6.diff (2.0 KB) - added by johnpbloch 4 years ago.
Don't allow obsolete feeds as the default feed.

Download all attachments as: .zip

Change History (70)

comment:1 @Otto428 years ago

Does anybody use the RSS 0.92 feed for anything, ever?

Suggest eliminating it entirely.

comment:2 follow-up: @Viper007Bond8 years ago

-1 to eliminating. I see no harm in keeping it for any poor feed reader stuck in the 90's.

comment:3 @technosailor7 years ago

  • Resolution set to invalid
  • Status changed from new to closed

Closed as invalid per #6905.

Description field will always show an excerpt. content:encoded shows the full post when full feed is selected.

comment:4 @Otto427 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened
  • Version changed from 2.3 to 2.6

Reopening, as this is a different issue than in #6905.

The RSS 0.92 feed (feed-rss.php) only contains the description field, it does not have the content:encoded and thus never shows the full text, ever.

So, the ticket might still need to be closed, just not for the reason given.

comment:5 in reply to: ↑ 2 @Denis-de-Bernardy6 years ago

  • Milestone 2.9 deleted
  • Resolution set to wontfix
  • Status changed from reopened to closed

Replying to Viper007Bond:

-1 to eliminating. I see no harm in keeping it for any poor feed reader stuck in the 90's.

+1 to that

comment:6 @Otto426 years ago

  • Milestone set to 2.9
  • Resolution wontfix deleted
  • Status changed from closed to reopened
  • Version changed from 2.6 to 2.8

Well, the issue still exists. If we're going to keep the old feed around, then it should at least behave properly.

comment:7 @Denis-de-Bernardy6 years ago

  • Keywords needs-patch added
  • Milestone changed from 2.9 to Future Release

if a volunteer ever shows up...

comment:8 @Denis-de-Bernardy6 years ago

Cross-referencing: #8706, #3884

comment:10 @Denis-de-Bernardy6 years ago

  • Component changed from General to Feeds

comment:11 follow-up: @peaceablewhale6 years ago

  • Keywords dev-feedback added

I think the RSS 0.92 feed should be dropped. Many users have confused it with the RSS 2 feed and subscribed to it or burnt it with FeedBurner. Such confusion is fairly unnecessary.

Feed readers that do not support RSS 2 should have been phased out by the market as most feeds are now in RSS 2 or Atom 1.

comment:12 @hakre6 years ago

Related: #5802

comment:13 in reply to: ↑ 11 ; follow-up: @Denis-de-Bernardy6 years ago

  • Keywords dev-feedback removed

Replying to peaceablewhale:

I think the RSS 0.92 feed should be dropped.

this idea got rejected a few weeks back

comment:14 in reply to: ↑ 13 @peaceablewhale6 years ago

Replying to Denis-de-Bernardy:

this idea got rejected a few weeks back

Why?

comment:16 @peaceablewhale6 years ago

Not agreeing... RSS 2 is actually a superset of RSS 0.92 and feed readers that do not support RSS 2 should have been phased out.

comment:17 @Denis-de-Bernardy6 years ago

Mm... And adding to this, more people would be complaining about RSS 0.92 if it were used. You've my vote to dump it.

comment:18 @Denis-de-Bernardy6 years ago

  • Milestone changed from Future Release to 2.9

comment:19 @peaceablewhale6 years ago

  • Keywords has-patch needs-review added; needs-patch removed

I have uploaded a patch that redirects RSS 0.92 to RSS 2, unless a plugin chnages the variable.

comment:20 @Denis-de-Bernardy6 years ago

  • Keywords needs-patch added; has-patch needs-review removed

I'd suggest using wp_query->get_queried_object_id() directly instead of adding a new function. Also, can you double check that the str_replace of amps is needed? esc_url() would add the hex value instead, so it's presumably unnecessary.

Suggesting we bring getting rid of RSS 0.92 up during the next IRC meet-up, too.

comment:21 follow-up: @peaceablewhale6 years ago

get_query_object_id is used in #9510 as well. It's useful for getting the id of the query.

The str_replace is necessary because the URLs returned by the get_xxx_feed_link functions are HTML/XML encoded, the str_replace is used for converting "&amp;" back to "&". It seems that esc_url does not do do, please let me know if it does and I will correct the patch.

Again, I am afraid that I cannot join the IRC chat due to timezone difference :(

comment:22 in reply to: ↑ 21 @Denis-de-Bernardy6 years ago

Replying to peaceablewhale:

get_query_object_id is used in #9510 as well. It's useful for getting the id of the query.

I still think it's not needed. better use wp_the_query->get_queried_object_id() imo.

The str_replace is necessary because the URLs returned by the get_xxx_feed_link functions are HTML/XML encoded, the str_replace is used for converting "&amp;" back to "&". It seems that esc_url does not do do, please let me know if it does and I will correct the patch.

what might be needed is an extra param for these functions instead, then, e.g. escape = true or context = display, and use esc_url()/esc_url_raw() depending on the context.

Again, I am afraid that I cannot join the IRC chat due to timezone difference :(

ok, I'll bring it up for you.

comment:23 @peaceablewhale6 years ago

  • Keywords has-patch needs-review added; needs-patch removed

Done!

@peaceablewhale6 years ago

comment:24 @Denis-de-Bernardy6 years ago

said Mark:

ddebernardy: I'm finally leaning towards yes on dropping those old formats. The argument was that it wasn't hurting anything. But if we have to expend effort fixing them...

comment:25 @Denis-de-Bernardy6 years ago

said westi:

ddebernardy: I am happy to drop them if we have all the hooks in place (I think we do) to allow a plugin to bring them back

said rboren:

Worth considering for 2.9 , I reckon.  Not something that gets me worked up either way.

comment:26 @aaroncampbell6 years ago

  • Cc aaroncampbell added

comment:27 @peaceablewhale6 years ago

@Denis-de-Bernardy:

Thanks you for CC-ing the IRC log here!

@Anybody:

Please let me know if there is any change needed in the patch :)

comment:28 @peaceablewhale6 years ago

  • Severity changed from normal to major
  • Summary changed from RSS feed is never full to Obsolete the RSS 0.92 feed

comment:29 @Denis-de-Bernardy6 years ago

  • Keywords needs-patch 2nd-opinion added; has-patch needs-review removed

@peaceablewhale - Imo, we'd want to do this:

  • drop the feed-rss.php and feed-rdf.php files
  • deprecate all functions that are only used in those two (such as the_content_rss(), make_url_footnote(), etc.)
  • make sure we don't default to rss or rdf in whatever functions (there's a ticket or two on this, and you added a patch I believe)
  • most importantly (westi's comment), make sure a plugin can make it possible to create and use site.com/feed/rdf and site.com/feed/rss

I also suggest you leave it untouched for a small week, in case a 2nd opinion shows up.

comment:30 @peaceablewhale6 years ago

feed-rdf.php belongs to the RSS 1 feed. Do you mean that it is going to be dropped as well?

Functions that needing a change in the default are get_the_category_rss() and the_category_rss(), which is managed in #5802.

The current patch doesn't actually remove the RSS 0.92 feed. It just redirects to the RSS 2 feed unless a plugin instructs not to do so.

I will leave this report untouched until a new opionion is received.

comment:31 @hakre6 years ago

Redirecting to RSS 2 seems reasonable to me. Should be committed so that it is available for testing. Remove of the then obsolete code can be done then.

comment:32 follow-up: @peaceablewhale6 years ago

  • Keywords has-patch needs-review added; needs-patch removed

comment:33 @ryan5 years ago

  • Milestone changed from 2.9 to 3.0

comment:34 @mattrude5 years ago

  • Cc m@… added

comment:35 in reply to: ↑ 32 @hakre5 years ago

  • Keywords 2nd-opinion needs-review removed

Replying to peaceablewhale:

I will leave this report untouched until a new opionion is received.

no review until today. any suggestion with that what we have so far? or close as wontfix?

comment:36 follow-ups: @Viper007Bond5 years ago

It doesn't seem clear: is the RSS 0.92 feed currently broken / not fully working? If no, then why remove it?

If it is broken and it's not a simple fix, then I vote remove it. Just because it's old isn't a good reason to remove it, however investing time in something that no one uses anymore and a plugin could add back if it was really wanted is a good reason to remove it.

Seems fairly cut and dry.

comment:37 in reply to: ↑ 36 @Denis-de-Bernardy5 years ago

Replying to Viper007Bond:

It doesn't seem clear: is the RSS 0.92 feed currently broken / not fully working? If no, then why remove it?

If it is broken and it's not a simple fix, then I vote remove it. Just because it's old isn't a good reason to remove it, however investing time in something that no one uses anymore and a plugin could add back if it was really wanted is a good reason to remove it.

The reasoning was it's partially broken (due to the use of the_content_rss filter, etc.), and we didn't want to maintain it any longer.

comment:38 in reply to: ↑ 36 ; follow-up: @Otto425 years ago

Replying to Viper007Bond:

It doesn't seem clear: is the RSS 0.92 feed currently broken / not fully working?

Yes, it is still broken and has been for 2+ years now.

Short version: RSS 0.92 feed does not respect the "Full Text" setting for feeds. It always displays only the excerpt.

Why this is a pain in the ass: People often use /feed/rss mistakenly, thus getting the RSS 0.92 feed instead of the RSS 2 feed, and then complain that the Full Text setting is broken. They then refuse to believe us when we tell them that it's not broken and that they're doing it wrong.

Why this can't be easily fixed: RSS 0.92 couldn't handle full text. The description field was supposed to be short, thus the use of the_excerpt. Also thus the use of content:encoded for the full text in RSS 2.

If it is broken and it's not a simple fix, then I vote remove it.

This is why that was my original suggestion 2 years ago. Nobody should be using it for anything at all, ever. Also, the RSS 2 feed is backwards compatible. Any feed readers that are stuck in the stone ages of 5 years ago should still be able to read that feed.

Ditto for the RDF feed, it's pointless to have it there at all and it only causes problems and difficulties when people accidentally use it.

Just because it's old isn't a good reason to remove it, however investing time in something that no one uses anymore and a plugin could add back if it was really wanted is a good reason to remove it.

A plugin could easily add these back, along with any other feeds they like via the handy-dandy add_feed() function. Although, again, there is no sane reason to do so.

So, my vote:

  1. Remove feed-rss.php and feed-rdf.php and associated tomfoolery.
  2. Change the do_feed_rdf and do_feed_rss actions to point to the do_feed_rss2 function (it is backwards compatible).
  3. Eliminate the do_feed_rdf and do_feed_rss functions entirely. No deprecation is needed for these.

Seems fairly cut and dry.

Yep.

@Otto425 years ago

Patch for trunk to remove rss and rdf feeds

comment:39 @Otto425 years ago

4967.diff is a patch for trunk that removes the rdf and rss feeds, shifting requests for them to the rss2 feed instead.

The feed-rdf.php and feed-rss.php files can be removed along with this patch.

comment:40 in reply to: ↑ 38 @Viper007Bond5 years ago

Replying to Otto42:

So, my vote:

  1. Remove feed-rss.php and feed-rdf.php and associated tomfoolery.

Sounds good to me.

comment:41 @Otto425 years ago

Bump. Do we want to push this into 3.0? I suggest this so it can happen before feature freeze.

comment:42 @dd325 years ago

  • Keywords dev-feedback early added
  • Milestone changed from 3.0 to 3.1

Bumping to 3.1 early due to lack of activity.. A decision needs to be reached.

comment:43 @Otto425 years ago

I updated my Atom default feed plugin to get rid of these superfluous feeds (as well as make Atom the default feed format). Anybody having issues with these outdated feed types can use that for now:
http://wordpress.org/extend/plugins/atom-default-feed/

comment:44 @peaceablewhale4 years ago

Please do obsolete the RSS 0.92 feed... it is so confusing that even Microsoft has used it...

See http://windowslivehelp.com/thread.aspx?threadid=2911f6f5-5c81-4e5f-902a-189ec09238b7

comment:45 @Otto424 years ago

Sweet Jebus yes. Lets get this done already.

comment:46 @nacin4 years ago

  • Keywords commit added; dev-feedback early removed
  • Milestone changed from Awaiting Triage to 3.1

Let's do it. Marking for commit for Peter, Mark, or Ryan.

@nacin4 years ago

Patch toggles the default, but leaves the functions and files intact.

comment:47 @nacin4 years ago

  • Keywords 3.2-early added
  • Milestone changed from 3.1 to Future Release

comment:48 @swissspidy4 years ago

  • Keywords 3.2-early removed

Couldn't this be included in 3.3?

comment:49 @SergeyBiryukov4 years ago

  • Milestone changed from Future Release to 3.3

@nacin4 years ago

comment:50 @westi4 years ago

While it's nice to remove the feed from loading like this what about redirecting urls etc.

Should we do that too?

comment:51 @Otto424 years ago

A 301 redirect to /feed/rss2 or just plain /feed wouldn't be amiss, but that would depend on support for redirects existing in RSS readers. Google Reader handles it, couldn't say about anything else.

comment:52 @markjaquith4 years ago

If certain feed consumers don't support 301s, that could lead to negative consequences. I don't think duplicate content is such a worry for XML feeds.

comment:53 @markjaquith4 years ago

Arguing against myself. We already do feed redirects. /feed/rss2/ redirects to /feed/ already. Haven't noticed any issues.

@johnpbloch4 years ago

Canonical redirect for rdf and rss to rss2

comment:54 follow-up: @mdgl4 years ago

Hmnnn, I'm sure this has come up before (but can't find the relevant ticket).

Shouldn't feeds be "themeable"? After all, there are many reasons (branding, specific content requirements, etc) that themes may want to tweak the output of the various feeds.

So why not make the search for a feed look first in the theme template directory (or perhaps better a "feeds" subdirectory of that), falling back on the standard location if no template is found.

You can then remove the obsolete feeds from the standard location, but if a theme wants to resurrect one, or customise it in some way, it need only create the appropriate template itself.

This might sound like a new ticket, but really it's just a different way of removing the feeds whilst retaining some mechanism for them to be returned.

comment:55 in reply to: ↑ 54 @Otto424 years ago

Replying to mdgl:

Shouldn't feeds be "themeable"? After all, there are many reasons (branding, specific content requirements, etc) that themes may want to tweak the output of the various feeds.

If a theme wants to modify the feed, they can do so already. They have hooks to modify the existing feeds extensively, and if they really, really want to do so, they can add functionality to call add_feed and replace the existing feeds with functions of their own.

No real need for making them "themeable".

@johnpbloch4 years ago

comment:56 @johnpbloch4 years ago

This one actually redirects. I promise. ;)

@johnpbloch4 years ago

Don't allow obsolete feeds as the default feed.

comment:57 @markjaquith4 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In [18537]:

Deprecate RSS 0.92 and RDF feeds, and 301 them to the default feed. props johnpbloch. fixes #4967

comment:58 @markjaquith4 years ago

In [18538]:

Direct rdf/rss redirects, to save a double redirect. props westi. see #4967

comment:59 @matt3 years ago

  • Resolution fixed deleted
  • Severity changed from major to normal
  • Status changed from closed to reopened

Totally fine removing and redirecting 0.92, and there are lots of reasons above, but disagree with removing the RDF format. It is not at all compatible with RSS 2.0 so redirecting may break stuff, and it's only 54 lines of code, and I'm not aware of any current bugs with it, and if there were they would be trivial to fix because it's only 54 lines. :)

My suggestion: keep the .92 removal, revert the RDF 1.0 removal, and strongly consider adding a JSON format, which would be really fun for scripting.

comment:60 @Otto423 years ago

Re: JSON, standards would be nice. #14618 might be a starting place.

comment:61 @matt3 years ago

Nice info, thanks for link. Worth discussing in new ticket when we have one.

comment:62 @markjaquith3 years ago

The rationale was that it hasn't been a promoted feed format for a long time, and we couldn't find any consumers that supported that format, but not other formats. It's pretty much all RSS 2.0 or Atom these days. No strong feelings about it — we were just in feed deprecation mode, and no one wanted to champion RDF. It can come back. If it's coming back, it should come back ASAP... before our next beta.

+1 on JSON (but not for 3.3 — don't want to rush getting the details of the format ironed out).

comment:63 @nacin3 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In [19364]:

Restore RDF feed. fixes #4967.

Note: See TracTickets for help on using tickets.