Just a quick update…

In the run up to the Known 1.0 release, I’ve made a small tweak to the back end caching objects. Essentially, they functionally work the same, but are implemented using symfony cache components.

Further down the line I’m thinking about replacing our cache entirely with symfony in order to allow for easier caching back ends, not to mention the far superior “cache contract” interface.

This is a low level thing, but useful if you’re a plugin developer to know what is coming down the pipe!

A few of you have been asking about some of the Known dev tools that I use.

Well, I’ve been writing them as I go, and they’re a little bit dotted around, but since moving to composer I’ve been trying to link them up a bit.

Known Dev Scripts

The main dev scripts that I’ve been using are here. Requiring this package will also fetch the language tools scripts and the PHPCS code formatter config.

All of these are already included in the Known checkout in the vendor directory, if you’re checking out from git, and composer installing the dev dependencies (default).

Console Tools

Next are a set of console tools that I’ve built up over time which give me some ability to nudge data around, and to get various dumps of raw data.

They’re dotted around in their own repos, and can be installed individually, but for convenience you can grab them all in one go:

It goes without saying that these should not be installed on a production system – with great power, and all that.


» Visit the project on Github...

In the most recent build of Known, I’ve made some modifications to the developer tool chain that should help us out going forward.

None of this should affect you if you’re just using known, but if you’re a developer it should make things a little bit better.

I’ve switched the SASS compiler to using LibSASS, which is a little bit more “standard” than the ruby one, although doesn’t really affect us yet. But more importantly, javascript compilation is passed through Babel.

Babel is a javascript compiler, which is most widely used to transcode “modern” javascript code written in ES6 so that it can target legacy browsers. Meaning you can write your fancy code, taking advantage of cool stuff, using a version of Javascript that is actually starting to become useful, while still supporting some of the older (yet inexplicably widely installed) browsers out there.

Again, not much is changing right now, but I hope to make much more use of this facility going forward. For a start, Promises are great.

Anyway, hope this is useful!