Skip to main content

Tuskfish 2.2.1 released

As of V2.2 Tuskfish is now a 'complete' CMS platform, with the addition of editorial roles and a group permission system for controlling access to routes and content. Note: I pushed a minor bugfix update so the current version is 2.2.1. Download it here:

User group permission system

Version 2.2 brings a user group permission system that allows for 'membership' and access restrictions to be placed on individual routes or pieces of content. You can have up to 63 different user groups (it is a bitmask-based permission system).

New default theme preference!

There is a new site preference to set the default theme, so you can change the look and feel sitewide with a click. You can override this programmatically on a per-route or page basis by calling setTheme() as per usual. 

New colorful themes!

Fourteen free themes adapted from the Bootswatch project (thank you!) for use with Tuskfish. These include a good selection of colours and typography. Most include a number of colour options for navbars, and night/day options. They are highly customisable and can be recompiled with sass to make global changes (see their 'help' page for details, but I will produce a simpler tutorial in due course).

I also replaced the default admin theme with the Bootswatch Flatly theme.

Changes to handling of static content

The 'static' content type has been deprecated in favour of a switch to mark individual content items as 'In Feed' (default) or not. When you mark content as not in feed, it becomes static, ie. it will not be displayed on the home page or in RSS feeds, but is still available in search results and via direct link.

You can now mark any type of content as static (not in feed), so now you can have static videos, collections, maps, soundtracks and so on in addition to articles. Tags are the sole exception: They are always static, and the 'in feed' switch simply controls whether they appear in the tag select box or not. This allows you to differentiate between tags into those you want to use as primary navigation options, or not.

PHP 8.4, Bootstrap 5 and HTML 5 compliant

  • An AI-assisted "peer review" of the entire code base was conducted, file by file, to i) look for bugs and security issues, ii) bring the code to PHP 8.4 compliance, and iii) bring the templates up to Bootstrap 5 and HTML 5 compliance. I am happy to say that no major issues were found, but a few minor bugs and unreachable code blocks were cleaned up. The code was also simplified in few areas.
  • Strict typing has been implemented as far as possible using PHP 8.4 conventions. This was also the final issue in bringing the code base to 8.4 compliance. I expect the code base will also prove to be PHP 8.5 ready, given the currently available documentation about the next release.
  • There were many small changes to the templates. These were largely internal details such as updating to use Bootstrap 5 class names and HTML5 tag conventions, that do not affect functionality or appearance.

General improvements

  • New 'feature video' template added for the Spotlight block.
  • Error handling now throws exceptions for fatals rather than trigger_error().
  • Most of the (few) external libraries used by Tuskfish have been updated to contemporary versions.
  • Tuskfish core library version now displays in the admin footer.

Optional: Better thumbnail generation

Optional support for thumbnail generation via ImageMagick 6 is available via the alternative ResizeImage.php trait included in the project files. ImageMagick generates much better quality thumbnails than the standard GD2 library, and it is also colour space aware. Some minor set up is required, please check the instructions and also the comments in the file. It's well worth doing, if you can, as GD2 is really overdue for replacement as PHP's standard image library in my opinion.

Notice: PHP minimum version will move to 8.4 in the next release

PHP 8.3 will reach end of life in December. As there are some new language features I would like to use, the next version of Tuskfish will have a minimum version of 8.4. The next version will also be shipped ready for use with PHP 8.5, which is due out shortly.

Copyright, all rights reserved.