Skip to main content

Tuskfish CMS V2.0

Tuskfish 2 is a rewrite of Tuskfish CMS to adopt a strict model-view-viewmodel (+ controller) architecture (MVVM + C). You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the model/view relationship, which improves flexibility and reuse of components. A front end controller and static router have been added to allow custom URL schemes. With the adoption of namespaces, Tuskfish 2 is now a very modern (if small) PHP application.


  • Strict MVVM(C) architecture.
  • Introduced front end controller with static routing for SEO-friendly, customisable URLs.
  • Inheritance has been completely removed in favour of composition and dependency injection.
  • Namespaces implemented.
  • Content objects simplified down to a single class.
  • Added a GPS track content type - upload a .kml or .kmz file to automatically generate a Google Map with a route of your travel (requires a Google Maps API key).
  • Simplified the theme and template system down to two components (main layout plus a variable page template). Themes, templates and layout files can be dynamically assigned, giving great flexibility in presentation.
  • Data validator class split into a series of smaller traits that are used as required.
  • Admin-side search to locate content you want to edit.
  • Optional Yubikey two-factor authentication updated to Yubicloud protocol V2 (V1 is deprecated).
  • A lot of methods have been refactored and simplified.


PHP 7.2 or higher is required. Follow the usual installation process, but if you install it in a subdirectory (eg. public_html/test/), you need to edit the .htaccess file in the site root and modify the FallbackResource to include the path to your subdirectory (this tells your webserver where to look for the front controller). So:

FallbackResource /index.php


FallbackResource /test/index.php

Note that the installation directory has been changed to /install rather than /installation.

Copyright, all rights reserved.