Tuskfish has had a substantial internal restructure. Static methods have been removed in favour of dependency injection, and modularity has been added (beginning of course with the content management module). The documentation needs extensive revision, when it's all ready the result will be released as Tuskfish V1.1.

I just finished reading Clean Code: A handbook of agile software craftsmanship, by Robert C. Martin. It’s a highly regarded book and contains many useful ideas; I have started refactoring some aspects of Tuskfish based on things I learned from it. This will include improving names, shortening and splitting up some of the larger functions into smaller logical units, replacing magic numbers with named constants and so on.

It feels strange to criticise PHP after developing a substantial (for me) project in it. Obviously I like the language and the recent performance improvements have given it a significant boost. But there are a few things that grate on the nerves and make me wonder about its long term future. Here are some of them, presented in no particular order.

A maintenance release, largely to update third party libraries.

Changelog

  • Fix broken date in RSS feed.
  • Upgrade jQuery to V3.3.1.
  • Upgrade HTMLPurifier to V4.10.0 (PHP 7.2 compatible).
  • Upgrade Fontawesome to V5.0.13.
  • Upgrade TinyMCE to V4.7.13.
  • Upgrade Bootstrap-fileinput to V4.4.8.
  • Upgrade Bootstrap-datepicker to V1.8.

Changelog

  • Fixed error breaking RSS feeds.

The baseline release of the Tuskfish content management system is now available for download. It requires PHP 7.2 or higher, with the sqlite3, PDO, pdo_sqlite, and gd extensions. Please refer to the installation guide and user manual