Feed-detection From Blog URL Lists, with OPML Output

Picking up on Adding Value to the Blog Award Nomination Collections…, here’s a way of generating an OPML feed bundle of categorised feed URLs from a list of tagged blog homepage URLs. What the OPML allows you to do is take a list of URLs, such as the URLs for the blogs nominated in the COmputer Weekly 2010 IT Blog Awards, and subscribe to them all in one go using something like Google Reader. In addition, the OPML is structured so that the feeds are organised in separate “folders” according to the award category that they are nominated in.

So how does it work?

Continue reading “Feed-detection From Blog URL Lists, with OPML Output”

OPML Support for JISCPress and WriteToReply

What’s the easiest way to read a document published on JISCPress or WriteToReply? One answer is just to read the document on the parent site, but another way is to pull the content into another space using the RSS/Atom syndication feeds that WordPress makes available, and that the digress.it plugin opens up even further.

In what follows, I’ll use URLs for example docs published on both JISCPress:
e.g. http://linkeddata.jiscpress.org
WriteToReply
e.g. http://writetoreply.org/publicsectortransparencyboard

The simplest subscription option is just to subscribe to the document as an RSS feed:

http://linkeddata.jiscpress.org/feed/
http://writetoreply.org/publicsectortransparencyboard/feed/

This will pull the whole document into your feedreader, with each section of the document (i.e. each “page” of the doc as published on JISCPress/WriteToReply) as it’s own “blog post”.

Note that this form of subscription displays the posts in reverse order – to view the sections that make up the document in the “proper” order, we use URLs of the form:

http://linkeddata.jiscpress.org/feed/?order=ASC
http://writetoreply.org/publicsectortransparencyboard/feed/?order=ASC

To view the comments from the document as a whole, we need a URL that looks like:

http://linkeddata.jiscpress.org/comments/feed/
http://writetoreply.org/publicsectortransparencyboard/comments/feed/

It is also possible to get a separate RSS feed out of the platform for each page, as well as a separate comment feed for each page. For example, single item RSS feeds, where each page has an RSS feed with one item in it – the content of that page:

http://linkeddata.jiscpress.org/executive-summary/?feed=rss2&withoutcomments=1
http://writetoreply.org/publicsectortransparencyboard/ptb-terms-of-reference/?feed=rss2&withoutcomments=1

And for comment feeds on a page basis:
http://linkeddata.jiscpress.org/the-semantic-web/feed
http://writetoreply.org/publicsectortransparencyboard/ptb-terms-of-reference/feed

If you were viewing any of these sorts of feed in a feed reader such as Google Reader, you would be able to favourite and share each separate page or each separate comment, for example.

For an example of the sort of thing this makes possible, see An Example Netvibes Dashboard for the Digital Britain Interim Report on WriteToReply.

We can also get feeds out on a page basis where each paragraph has a separate feed item to itself:

http://linkeddata.jiscpress.org/feed/paragraphlevel/executive-summary
http://writetoreply.org/publicsectortransparencyboard/feed/paragraphlevel/ptb-terms-of-reference/

If you were viewing these sorts of feed in a feed reader such as Google Reader, you would be able to favourite and share each separate paragraph.

With so many separate feed URLs available, it can be a problem entering them separately into a dashboard such as Netvibes or a feed reader such as Google Reader, so I’ve created a couple of OPML generators:

http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php
http://ouseful.open.ac.uk/xmltools/wtrOPML.php

They both take similar sorts of parameters, which are a little opaque at the moment as I try to work out sensible OPML element configurations.

The first parameter we need for the generator specifies the document:

http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php?url=linkeddata
http://ouseful.open.ac.uk/xmltools/wtrOPML.php?url=publicsectortransparencyboard

Then we have the parameters b, c, s, and p… If you set these parameters in the URL (e.g. b=1, c=1&s=1), they act as follows:

$c = (isset($_GET[‘c’])) ? true : false;
// import feeds corresponding to comment feeds at the page level (i.e. each page will have its own comment feed or tab in the reader/dashboard)

$s = (isset($_GET[‘s’])) ? true : false;
// import feeds corresponding to single feed item per page feeds (i.e. each page will have its own feed or tab in the reader/dashboard; a single feed item will represent the whole of the page contents)

$p = (isset($_GET[‘p’])) ? true : false;
// import paragraph level feeds at the page level (i.e. each page will have its own feed or tab in the reader/dashboard and each paragraph will be a separate feed item)

if ((!($c))&&(!($p))) $s=true;
//default behaviour – if no comments and no para level feeds, use single item page level content feeds

$b = (isset($_GET[‘b’])) ? true : false;
// bundled – one folder – all the feeds will be imported into a single folder/page
// the default should be true, but it isn’t, so you’d be advised to normally set this parameter…

Using these various parameters, you can create a range of OPML files that can be used for the bulk import of feeds from a document published on WriteToReply or JISCPress. (Typically, you will need to donwload a copy of the OPML file to your desktop and then upload it to your dashboard/feed reader application. Download the document using File->Save Page As (and then choose the simplest format possible… e.g. Web Page, XML only).)

So for example:

http://ouseful.open.ac.uk/xmltools/jiscpressOPML.php?url=linkeddata&b=1&c=1&p=1&s=1
http://ouseful.open.ac.uk/xmltools/wtrOPML.php?url=ukgovoss&c=1

These OPML feeds can be useful for:

– importing feeds into Netvibes in one go, and creating dashboards with either one tab per document, or separate tabs for each document;

– importing feeds into Google Reader, so that you can read, share and favourite parts of documents (even down to the paragraph level if you import paragraph level feeds).

[Note: I’m thinking that the generation of paragraph level feeds needs tweaking in digress.it so that the title shows the first 50 or so characters of the paragraph, rather than the page title?]