Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

RSS 2.0

From MoodleDocs
Revision as of 03:04, 12 May 2010 by Andrew Davis (talk | contribs)

Objectives

The goals of RSS 2.0:

  • Provide the means to secure RSS feeds
  • Present users with different versions of the same feed depending on their permissions
  • Generate RSS feeds only when they are required
  • Ensure RSS feeds contain data that is as up to date as possible.

Overview

RSS feeds are currently available within the forum, data and glossary activities. Other areas of Moodle may make RSS feeds available in future. The RSS system must provide the capacity to present secure and user specific feeds to the user.

Tracker Issues

MDL-22413 Write documentation describing Moodle 2.0 RSS feeds

MDL-22204 Secure RSS feeds using web tokens

Interface

RSS feeds are detectable by the user in two ways:

  • The module can present an onscreen link to the RSS feed.

RSS1.gif

  • The browser should aut-detect the RSS feed. This is done by inserting a header into the html document.

<link href="http://www.example.com/some.rss" rel="alternate" type="application/rss+xml" title="TITLE OF YOUR RSS FEED" />

When an RSS feed is detected most browsers will insert an RSS icon in the browser address bar.

URL structure

The structure of the RSS feed URLs varies depending on whether the RSS is being provided by a blog or activity module.

Modules

The URL structure is rss/file.php/%contextid%/%usertoken%/%modulename%/%moduleinstanceid%/rss.xml

For example: example.com/rss/file.php/18/2001080bd2a70b148338e61ab60dc65e/forum/1/rss.xml

Blogs

Blog RSS feeds have several URL formats.

The URL structure is rss/file.php/%contextid%/%usertoken%/blog/%moduleinstanceid%/%groupid|courseid|userid%/rss.xml

For example: example.com/rss/file.php/24/2001080bd2a70b148338e61ab60dc65e/blog/2/12/rss.xml


To reference a specific tag the URL structure is rss/file.php/%contextid%/%usertoken%/blog/%moduleinstanceid%/%groupid|courseid|userid%/%tagid%/rss.xml

For example: example.com/rss/file.php/24/2001080bd2a70b148338e61ab60dc65e/blog/2/12/4/rss.xml