Publ: Development Blog

Publ 0.4.6, Authl 0.1.5

Posted (a month ago)

Updated some packages.

Main things with Publ since the last release:

  • Internal cleanups to how caching happens
  • Stop spuriously-caching a bunch of stuff; in particular login/logout endpoint URLs no longer get cached
  • Various cleanups
  • Improve the way that built-in templates are managed
  • Initial cruddy implementation of an admin authentication dashboard (although this isn’t quite ready for prime time)

The only Authl change is that email identities are now given as a full mailto: URL; going forward all identity strings will be full URLs. This simplifies the UX for admin dashboards, in particular, and removes some ambiguity.

This initial release of the admin dashboard is incredibly slow, both because there’s a bunch of stuff that isn’t being cached that could be, and because it just shows the entire log. Which turns out to be massive in a lot of cases. Or at least it is on my site.

To that end, since releasing this (and discovering how horribly it runs on my own site), I’ve made the queries a lot faster, enabled pagination on the auth log, and also changed the auth log to not record actions on non-logged-in users, because that turns out to not actually be useful. The point of the auth log is really to see which known users are actively trying to access entries and whether they were successful or not – meaning, do permissions need to be adjusted. The only time it’s useful to know about anonymous logins is on entries whose auth header is set to !* and that seems of limited use.

In the future I may go even further and limit it to only tracking the most recent access for a given user on an entry. The purpose of this is for verifying access control, not for performing analytics or being creepy/narcissistic.

Anyway! Milestone v0.5.0 is almost met! I just have a few tasks remaining, after which I can start on the next milestone which is mostly about testing and quality; Publ is very much lacking in the automation department, particularly for testing and for building the documentation.

I’d also like to finally make this site into a useful demo of Publ’s capabilities. Demonstrating its image handling, template flexibility, and authentication support is really important to me, since those are the reasons I decided to build Publ, after all.