For those following Known’s bleeding edge repo should be interested in a number of changes recently merged in.

First is tentative support for the new PHP 8, released at the end of last month. At the time of writing, we’re still waiting for Travis CI to catch up, but it seems to be working ok.

Second, is a fairly large set of data model changes which sets the stage for some work we hope to do next year.

First, I’ve switched away from the Mongo inspired md5s (on MySQL at least) to using v4 UUIDs for object addressing. This is more industry standard, and is wider supported.

Second, I’ve introduced a site collection. This identifies the site’s host, and gives us a nice entity to hang site specific information off of in the future. Crucially, entities will now be tagged with the site they were created on in a persistent way.

One immediate thing this gives us is a much more robust way for doing multi-tenant in a modern cloud environment.

My intention is to build on this concept going forward, and possibly even use it as an addressing mechanism for reader functionality.

Anyway, heads up if you’re following master. Take a backup before updating!

This is just a quick one to say that I’ve spun out the Postgres database support out of Known core and into a community supported plugin.

The reason for this is basically that I want to put in some significant data model changes into Known core in the next few months, and due to my other commitments (and lack of Postgres expertise), I don’t have the resources to maintain this myself.

Anyone who’s interested in picking up Postgres support, please reach out in the comments or by email. I’ll also do my best to keep things up to date, but I’m unfortunately spread pretty thin these days!

» Visit the project on Github...

Another quick update, I have added support for password grants to the Known OAuth2 server.

Logging in using a username and password is exactly the sort of thing that OAuth2 was developed to avoid, however support for the password grant is a handy thing to have.

For a start, it makes it a lot easier to use the API via a command line application, or to present a familiar UX for people using a custom Known client (e.g. a mobile app).

Having password grant support will also allow us to deprecate the built in HTTP Header authentication method. This method is simple, and works well enough, but it is far from being a standard, and so requires people to write their own libraries to use it!

Using OAuth will also let those clients make use of OpenID connect, and the future federation stuff I hope to get time to build one of these days.

Anyway, hope this is useful to you!

» Visit the project on Github...