This afternoon, I spent some time experimenting with opmlPackage from Dave Winer, focusing on the new feature to include other OPML files within an OPML file. The includes feature is only part of the Node version of the package (other features can be used in a browser). I changed the OPML file that had example includes to use three reading list files that I had in OPML format. I then changed the demo script to add logic to write out the new outline as a file (you can see it in this Gist) and ran it locally on my laptop. Finally, I created another copy of the OPML client to display the new outline (you can see it here). Looks like the includes feature is working fine!
OPML
There are 41 posts filed in OPML (this is page 4 of 5).
I had a problem today looking at Ken Smith’s activity outline that I posted about on May 30th. When I looked at the page on my laptop, I would get a message saying “This site can’t be reached”. When I looked at the page on my phone on Wi-Fi, I got the same result. When I looked at the page on my phone on mobile data, I was able to see the page. Has anyone else had this problem?
Added a new entry to the awesome-drummer site under Blogging – using OPML and XSLT to create a blog
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.