Father’s Day gifts – let the podcasting/screencasting begin!

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.

Library JSON test viewer now available

I have created a test viewer for the Library JSON format as defined by Tom Critchlow. It reads a JSON file following the format and displays the elements in the JSON file. I have a working one on my website reading Tom Critchlow’s test file. I have added the HTML file for the viewer to the Federated Bookshelves Github repo.

Now that we have a simple way to view both OPML and Library JSON files, I am going to put some thoughts together on Github about the next items to work on….

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/xml in 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 doessuccess!

 

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.