Publ: Development Blog

News and updates about Publ

v0.3.7 released

Posted Wednesday, October 24 at 12:59 PM (6 years ago)

I’ve released v0.3.7, which just fixes a few issues around transaction management and overall indexing performance. Namely:

  • The indexer locks individual entries as it’s working on them
  • If an entry is being worked on, watchdog will ignore it
  • Cleaned up a couple of transaction failures that can occur due to PonyORM’s optimistic locking behavior

Publ v0.3.6 released (minor update)

Posted Saturday, October 13 at 3:01 PM (6 years ago)

I just released v0.3.6 of Publ, which just allows it to work with databases other than SQLite. In particular this is part of testing more advanced heroku deployment options.

Right now I’m primarily focusing on improving the documentation, especially the quickstart guide, since people are finally showing interest in Publ but aren’t quite sure where to begin!

v0.3.5 released, and sample templates updated

Posted Friday, October 12 at 3:01 PM (6 years ago)

I’ve now released v0.3.5 of Publ. Changelog:

  • Add support for listing deleted entries (accessible via view.deleted)
  • Improved how the last-modified/etag reference was determined (also fixing a nasty bug where a site might crash if a file is deleted)
  • Fixed a minor shaping bug

I’ve also updated the sample site templates with all of the changes that have happened since, uh, June, and also included some sample content so it’s easier to get started with it.

Pushl 0.1.0 released

Posted Wednesday, October 10 at 10:41 PM (6 years ago)

I’ve gotten Pushl to the point that I’m confident in releasing it as a full alpha and having a cron job run it every 15 minutes. Whew.

I’ve also added some h-entry markup to the Publ site templates so that hopefully the notifications appear at least somewhat reasonably elsewhere.

I really need to redo these site templates now that I have a better idea of how they go together. Also the quickstart guide could be a lot better.

Pushl 0.0.1 released

Posted Monday, October 8 at 11:53 PM (6 years ago)

I finally got around to releasing a very rough prototype of Pushl to pypi. It only sends out WebSub notifications for now (does anyone even use those?), but I’ll work on actually implementing WebMention soon.

Also, recently someone pointed out to me fed.brid.gy which makes it easy to turn a static site into an ActivityPub source. At some point I’ll experiment with setting up Publ for this; it looks like it’s just a matter of adding a couple of additional route rules to Publ, so that will probably go into an advanced configuration guide if I ever get around to making such a thing. (Or it could actually be added to Publ directly but there isn’t much of a reason for that, IMO.)

Oops, v0.3.4 released

Posted Friday, October 5 at 1:28 AM (6 years ago)

Turns out I never actually tested the If-Modified-Since handler, because if I had I’d have seen the glaring exception it threw.

Oh well, that’s fixed now. I think.

v0.3.3 - now with ETag and Last-Modified

Posted Monday, October 1 at 11:16 PM (6 years ago)

I’ve started working on Pushl in earnest now, and one thing that was really bugging me about this is that anything which polls feeds and entries would really benefit from having client-side cache control working. Which was a big missing feature in Publ.

Well, I finally implemented it, and I’m pretty happy with how I did it.

The short version: for any given view it figures out (pessimistically) what’s the most recent file that would have affected the view (well, within reason; it only looks at the current template rather than any included templates, which is pretty difficult to do correctly) and uses that to generate an ETag (via metadata fingerprint) and a Last-Modified time (based either on the file modification time or the time the entry was actually published).

There’s probably a few corner cases this misses but in general this makes client-side caching of feeds and such work nicely.