Extension:SimpleFeed

From MediaWiki.org

Jump to: navigation, search

             

Manual on MediaWiki Extensions
List of MediaWiki Extensions
Crystal Clear action run.png
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

check usage (experimental)

This extension outputs the contents of an RSS feed. It is very customisable. As a result, no editing of the PHP source is required as everything is done in the wiki page. The SimplePie extension PHP feed-parsing library is also required.

Contents

[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). Permissions are usually 755, 775 or 777. See setting permissions for cache directory
    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] 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] Simple use

Simply adding <feed></feed> around the link, for example:

<feed>http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml</feed>

posts the feed with no modifications. This format is more likely to work if the other above format does not.

[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] 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