Continuing experiments with OPML files

I reviewed Frank McPherson’s OPML experiment file, and saw that he suspected that updates to included files would not be visible unless the file was re-opened in Drummer. I decided to give this a test by adding another heading in my test file with some more text, then reloaded Frank’s test file. I did not see the new content. Next, I added Frank’s OPML file being viewed with drummer.this.how to my OPML Includes test app, and was pleased to see that I could view all of the new text in my test file. Another good result from this test is that the OPML Includes app was able to read the content of Frank’s file as an include file, and of my test file, so includes within an include file are brought in using the includes feature of opmlPackage. Excellent!

Demo of OPML Includes feature in opmlPackage

Dave Winer released an update to his opmlPackage NPM module in May 2022, adding a feature to be able to include other OPML files within an OPML file. I wanted to create a demo of this feature and show the outlines within a web app. I combined code from the outlineBrowser toolkit to create an Express application demonstrating this feature. A live demo is available here – check it out! Comments and suggestions welcome on the Github repo. Ken Smith and Frank McPherson were collaborators on this demo, I appreciate their input!

Using OPML to organize information for use

Recently, Ken Smith shared an example of a directory of activities to do during a wedding weekend (primarily for attendees not familiar with the area). I recently started a OPML directory of sorts on Oregon elections. Using the drummer.this.how feature from Dave Winer, these directories can be easily reviewed by others. I also recently created a Github repo to collect thoughts on organizing information for use, but it is not in OPML format (although it could be…)

In the early days of OPML, some people were trying to organize podcast directories using OPML files. The idea was that someone could be the maintainer of a directory on a topic, and that file could be included as a folder/directory within a larger directory structure. After playing with the new includes feature in opmlPackage, I started thinking about this again. My impression is that many people who post lists of things do so with the idea of sharing, but the reuse of that sharing is difficult. However, if the list was in an OPML file, this would lend itself to reuse/sharing/remixing. If you had a group of experts who could summarize/curate information/resources for a set of topics in OPML, this could be the basis of a larger work which could be updated at anytime by any of the experts (see Ken Smith’s “Beyond griping” post for more info). As I mentioned in this post, maybe starting a little “beachhead” for experimentation would be in order. Watch this space for more details!

Playing with includes in opmlPackage

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!

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?

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