triki supports History and RSS

   I just added the History feature and support for publication via RSS to triki.

Posted: Tue 10 May, 2016, 18:07
A new release of triki has just been published on bintray with the following features included:

  • Support browsing of graph data by time created
  • Support publication of RSS feeds for blogs

The latest (and first official) binary version 1.0.0 is available for download here.

Browsing by time

The latest version of triki will now automatically index content based on the created date. As you can you see on this site (which is powered by triki), there is now a History section where all content can be explored by year and by month. One of the main blockers was figuring how to make the months order correctly i.e Jan, Feb, Mar rather than alphabetically. Should have been simple, but actually took me a couple of attempts to fix.

This feature was originally included in the image importer utility, but it never worked quite right. Now, on the latest version, triki will iterate over all nodes with a created date. It will then identify the month and year associated with this node and build a relationship to these shared nodes. Finally a couple of new templates were added to allow users to explore these nodes. In the end, not much code but a natural and powerful way to explore content.

The usual authorisation rules apply. So if content is not visible to you, then you be able to explore the history but will be unable to see the content until you are logged in and authorised. Also, the indexing is only created once the graph is in memory and never persisted back to the original file.

More broadly, this is where a semantic web approach adds a lot of value. All content behind the site is back by a graph which is querable using SPARQL. This new feature leverages this to dynamically query the graph to build the web page for a given year or month.

RSS feed publication

This is quite a big deal for triki. The ability to share content via the (only) major content syndication framework is an important milestone. Back in my blog from a month or so ago I made the point that it is not just about being able to publish stuff, but also being hooked into a pull-based system that allows people to quickly browse your updates. This feature sets triki on the road to sharing graph based content in the open, standard, machine-friendly format RSS - as well as human-readable HTML format.

At the moment there is only an RSS feed for my blogs, but it would be straightfoward to add it in for other document types e.g. albums, photos etc. There was in the end only a small piece of code to change, most of the work was done within the templates (which use StringTemplate), which is a good sign.

Next on my list is to provide support the familiar concept of tags to offer another way to relate and explore data.