Extension:SimpleFeed

From Linux Web Expert

MediaWiki extensions manual
SimpleFeed
Release status: unmaintained
Implementation Tag
Description Outputs an RSS feed in a way the user specifies, in the wiki.
Author(s) Jonny Lamb (Jonnylambtalk)
Latest version 1.0.23
MediaWiki 1.23+
Database changes No
License GNU General Public License 2.0
Download
url, type, date, entries
‎<feed>
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').

The SimpleFeed 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.

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 require_once "./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.

Usage

The url address must be between the <feed>[...]</feed> tags. For example:

<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.

Customisation

You can customize the output by using the following:

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).

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".

Parameters

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

Todo

The following feature(s) to be added:

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

See also