Extension:SimpleFeed

From MediaWiki.org

Jump to: navigation, search
Manual on MediaWiki Extensions
List of MediaWiki Extensions
SimpleFeed

Release status: beta

Implementation Tag
Description Outputs an RSS feed in a way the user specifies, in the wiki.
Author(s) Jonny Lamb
Last Version 1.0
MediaWiki 1.8+
License No license specified
Download SimpleFeed.php

Contents

[edit] What can this extension do?

This extension outputs the contents of an RSS feed. It is very customisable and no output format is forced on the user. As a result, no editing of the PHP source is required as everything is done in the wiki page. This extension uses the SimplePie PHP feed-parsing library.

[edit] Usage

There are two arbitrary fields that must be present. These are the url argument, and the content between the <feed>[...]</feed> tags. A simple example is shown below:

<feed url="http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml">
== [{PERMALINK} {TITLE}] ==
'''{DATE}, by {AUTHOR}'''
{DESCRIPTION}
</feed>

This will pull the BBC News feed and output five posts. For every post, it will output the data between the feed tags, replacing {PERMALINK}, {TITLE}, {DATE}, {AUTHOR} and {DESCRIPTION} with the appropriate information.

[edit] Customisation

The following arguments can be used to customise the output:

url
The URL of the feed. This argument is not optional.
entries
The number of post entries to output. This defaults to 5, but can be any number. 0 is unlimited.
type
If this is set to "planet" then the post title and author will be retrieved from the title. For example, a post in a planet/aggregator could have a title "Joe Bloggs: MediaWiki is great". If type="planet" is set, then {TITLE} will become "Mediawiki is great", and {AUTHOR} will become "Joe Bloggs".
date
The format of the date to output. This conforms to PHP's date function syntax. This defaults to j F Y (E.g. 3 March 2007).

[edit] Further examples

Using an aggregator's feed

<feed url="http://planet.debian.org/rss20.xml" type="planet">
== [{PERMALINK} {TITLE}] ==
'''{DATE}, by {AUTHOR}'''
{DESCRIPTION}
</feed>

This will remove the author's name from the title of the post, and setting its value to {AUTHOR}.

Changing the date format

<feed url="http://planet.debian.org/rss20.xml" date="h:i:s d/m/y T">...

Changes the date format to, in this example, "23:20:04 24/03/2007 GMT".

[edit] Installation

  1. Save SimpleFeed.php to extensions/ and make sure the server has permission to read it.
  2. Save simplepie.inc to extensions/.
  3. Create extensions/cache, set correct write permissions using chmod (www-user, or equivalent, should be allowed to write).
    NOTE
    Earlier versions of SimpleFeed.php may require the cache folder to be created in $IP/cache, i.e. as a sibling, rather than subfolder of extensions. (This was required in the case of a combination of MediaWiki 1.10, simplepie 1.1, and a circa-2007 version of SimpleFeed.) The latest version available from the git repository appears to fix this problem, so an update is encouraged.
  4. Add include("./extensions/SimpleFeed.php"); to the last line of LocalSettings.php before the end ?>.

If you are in a corporate environment, check out any proxy servers or firewalls.

[edit] Parameters

  • Line 31: $simplepie_path - string: Path to simplepie.inc, including leading forward slash. For example:
    $simplepie_path = 'extensions/';
    

[edit] Todo

The following feature(s) will be added shortly:

  • Check whether the URL given is a correct address. If SimplePie can't read it, output something.
  • Clean up the regular expressions.

[edit] See also

Personal tools