Skip to main content

Frequently Asked Questions

What is Tuskfish?

It's a micro CMS (content management system) for building websites. It is explicitly designed to be simple and lightweight. Tuskfish provides the publishing tools you actually need and not much else. It is written in PHP and uses an embedded SQLite database.

What type of websites can I make with it?

Tuskfish is suitable for publishing blogs, brochure sites, photo galleries, electronic libraries, audio and video podcasts, maps and GPS tracks, collections of content or any combination of the above. Anything where you want to self-publish without direct user input or comment (see below). It's good for small organisations, businesses and personal websites. 

How is Tuskfish different to other CMS?

Tuskfish differs from mainstream CMS in that is genuinely:

  • Simple. There is one form for adding content to your site, and that's it.
  • Easy to maintain. It doesn't need to be updated constantly. Stability is a key consideration.
  • Security-conscious: Tuskfish was built from the ground up with an explicitly minimised attack surface, rigorous data validation and prepared statements. There's no legacy code.
  • Really, actually, blazingly fast. The MVVM architecture efficiently partitions code, minimising the amount that is read to generate a page. And it explicitly avoids use of third party libraries to prevent bloat.
  • Stable. The feature set is complete. Development is focussed on maintaining compatibility with the latest stable PHP version.

Like most other modern CMS it is also:

  • Flexible: You can publish all sorts of different content - audio, video, text articles, downloads, static pages, maps with GPS tracks, whatever - index it with tags and organise it into collections. You can extend it to add more types with a little effort, since it is based on a subset of Dublin Core metadata elements.
  • Mobile-first and responsive. Grab themes from any CSS framework you like and integrate them with a few minutes work. You can assign themes on a per-page basis. It ships with Bootstrap but if you're prepare to roll your own templates you can use anything you want.
  • Well documented: Every class and method is documented and a User ManualDeveloper Guide and API are available.

Is there anything it is not suited for?

Yes, be aware that only administrative accounts are supported (Admin and content Editors). This means that Tuskfish is not suitable for "community" style sites where random members of the public can make an account and post their own "content". The author considers this a "feature".

Do I need to be a programmer?

You need to have a basic understanding of HTML and CSS. You also need to be able to manage a web hosting account, use an FTP client and edit text files:

  • You can use Tuskfish out of the box without programming knowledge, but I wouldn't recommend it, unless you want to learn. The default configuration provides a blog stream, where your posts are presented in descending chronological order. It is quite effective.
  • If you would like to use Tuskfish for another purpose, such as a brochure site, or you want to customise the themes and templates (layout), you will need a basic knowledge of HTML and CSS (and ideally, Bootstrap).
  • To set up custom pages you may need to edit a line or two of PHP code (it's easy and detailed instructions and examples are provided).
  • Where Tuskfish really shines is if you are you are comfortable writing simple PHP scripts (and I do mean simple). You will find Tuskfish allows you to rapidly build your own custom pages and the architecture provides a clear structure to model your own work on. At heart Tuskfish is essentially a standardised data entry and retrieval tool. You just need to decide what content you want to retrieve from the database (edit the query conditions) and how to present it (edit HTML templates to suit your own tastes).

Is it free software? Is it open source?

Yes. Tuskfish is distributed under the GNU General Public License Version 2. You can use it, customise it, fork it and share it with whoever you like so long as you do not remove the copyright notices (it is a copyrighted work). You must distribute the code or derivative works under the same license. Please read the license before you distribute the software or its derivatives.

What are the minimum system requirements?

PHP 7.2+ (tested up to PHP 8.2) with the following extensions:

  • SQLite3.
  • PDO.
  • pdo_sqlite.
  • GD2.
  • curl extension + a Yubikey hardware token are required for optional two-factor Yubikey authentication.

Where do I get it?

Is there a Bill of Materials?

Yes, it is maintained here.

Where did you get that awesome tuskfish photo?

I got it off unsplash.com, which is an awesome stock photo site that is actually free. The photo was taken by David Clode, many thanks for sharing it!

Copyright, all rights reserved.