Added a new entry to the awesome-drummer site under Blogging – using OPML and XSLT to create a blog
OPML
There are 39 posts filed in OPML (this is page 4 of 4).
Episode 4 of the Thinking About Tools For Thought podcast is out – Experiments with OPML – check it out!
Another OPML viewer for Federated Bookshelves
I am playing with a new toolkit from Dave Winer for working with OPML (https://github.com/scripting/opmlPackage), and modified the client example to read my booklist file – nice!
A reader wanted instructions on how I did this, so here they are:
- Download the zip file from the Github repo
- Edit code.js in the client folder to provide a URL for an OPML file that is available on the web
- Upload the files to some web hosting
- Go to index.html to view the OPML file
Requirement brainstorm and some tools for Federated Bookshelves
I summarized requirement-type information from a number of posts on the Federated Bookshelves/Library JSON idea, see the Github repo for details. If anyone is interested in participating in a conversation on this topic, I have created a Github issue to capture comments.
Also, I found two tools today to more easily view OPML and JSON files:
- OPML Viewer – Can open an OPML file (local or online) and show original text and XML tree view
- JSON Viewer – Can open a JSON file (local or online) and show original text and object view
I added these to the tools section on the main Federated Bookshelves repo file.
A Federated Bookshelves reader
Recently, Ton Zijlstra wrote about the concept of “federated bookshelves”, in which he referenced a post by Tom Critchlow on a similar concept called “Library JSON”. I have played with this idea based on Ton’s proof of concept. I also read through the postings flowing from Tom Crichlow’s post in 2020, and the ones from Ton Zijlstra’s post this year, and thought it would be helpful to provide a chronology of the development of this idea. To this end, I have created a Github repo with a chronology and links to tools and other distributed book info concepts that I have come across in reading on this topic. Pull requests and other comments are welcome! I am planning to spend more time on this in the next few weeks, so hopefully more prototypes and ideas to come….
OPML in the wild
Dave Winer posted a few days ago that he was looking for examples of OPML in “production”. I assume that means “being used by someone or in an app”. I thought I would contribute a few items…
Zylstra.org – Ton Zijlstra’s OPML blog roll in a human readable form (reference)
Zylstra.org – Ton Zijlstra’s booklist in OPML (reference)
AndySylvester.com – Andy’s beginning booklist in OPML (reference)
AndySylvester.com – Reading lists in OPML for the River5 feed reader/aggregator
Federated Bookshelves Update #2
After reviewing a Selfoss issue on Github which described the behavior I saw in my first post on this topic:
This depends on the mime-detection on your server. You need to map .opml to the right mime-type
application/xmlin your webserver.
and this MDN page on updating mime types:
- If you’re using the Apache web server, check the Media Types and Character Encodings section of Apache Configuration: .htaccess for examples of different document types and their corresponding MIME types.
I decided to look at my own web hosting to see if I could find and modify the .htaccess file. For Bluehost, there is an .htaccess file within the public_html folder. I thought I would start with this one and see how things went.
Looking at this example configuration file for media types from HTML5 Boilerplate project, I saw this:
AddType application/xml xml
I then added this line to my .htaccess file:
AddType application/xml opml
After uploading that addition, my OPML file renders the same way that Ton’s file does – success!
Federated Bookshelves Update #1
Ton gave me a suggestion to refer to the XSL file on my local domain. I did this, but still only saw the raw OPML appear. After some thinking, I thought about MIME types, and wondered if this was set up on my web hosting to serve OPML as XML. I uploaded a copy of the file with a .xml extension, and everything worked! I have found some resources for updating MIME types, will post later after some experimenting.
Getting started with Federated Bookshelves
Some time ago, I read a post from Ton Zijlstra on the concept of federated bookshelves. His original post was riffing on an idea by Tom Critchlow called Library-JSON. Recently, Ton revisited this topic, and in a short period of time created a working prototype OPML file and a XSL stylesheet to view the OPML file.
I finally had some time this weekend to play around with this. Here is my work so far:
- My first booklist in OPML format
- The transformed file
I had some problems using Ton’s XSL file. On my server, when I entered the URL of the OPML file, all that was displayed was the OPML file. However, I found a tool to apply the XSL transformation, and the resulting file was a valid HTML page (the “transformed file” above). I will continue to investigate this and also reach out to Ton to see if I did something wrong.