I've made a number of changes to the journals pages to make it easier to read on-line. In particular, I've added indexes to both individual users and to the “All Users” feed (previously called the “Index”). You can now see a list of the entry date and subject, in page-sized chunks, and navigate between these chunks. In a format reminiscent of the old “green bar” form-feed paper. Yay! I've also added a “Help” page, with information about using the RSS feeds available for the journal entries. The RSS feeds aren't new, but users unfamiliar with their coolness can now get some more information about them.
Of course, all of these features were implemented with JOTWeb, my python-based web development tool. I'm still extremely happy with how it's been working. I implemented many of these new features by making them “synthetic pages” using the JOTWeb virtual URI mapper functionality that's new in JOTWeb2. It was sorely missing in the first version of JOTWeb.
What I mean by “synthetic pages” is that the results look like a page with an appropriate URI, but the page it dynamic generated based on the URI. For example, the URI “…/entryindex.html” shows the first 50 entries. The URI “…/entryindex_start0_count50.html” also shows the first 50 entries. Of course, you can vary the numbers to, for example, show 13 entries starting at the 8th entry.
My previous journal system used HTTP GET type form data, resulting in a URI like “…/entryindex.html?start=0&end=50”. This was not something I really liked because it took the page information outside of the URI and made it a part of a form submission. If nothing else, this makes it harder to cache the results, requiring knowledge of the form data as well as the URI data.
For the caching, I'd like to be able to say that any page that uses form input is 100% dynamic and should never be cached. However, for an index page, that's definitely not what you want. The index is probably the most expensive page to render on the site, so the ability to cache it would be great.
Now I just need to enable caching for the site. Stand back! I implemented caching in JOTWeb one evening in 45 minutes before an NCLUG meeting where I was demonstrating JOTWeb. The presentation was mostly about how JOTWeb is a simple combination of a bunch of existing tools to produce something that very quickly was able to give me a rather solid system that worked exactly how I wanted a web system to work.comments powered by Disqus