Installation of Tiki 26

Since the 18/05/2023 Tiki26 (master, version 26) run on PHP8.1. (see: tiki discussion and ((doc:Requirements|Tiki PHP requirements)
You need to set up your domain (only this one) or your server (global) to use PHP8.1. This is no different if your Tiki instance is on a server, virtual server or local server (LAMP. MAMP or WAMP).
You need to install additional PHP libraries as explained in this previous article about Tiki installation.

PHP version for

During the install process it is required to run the Tiki setup file when you install a git repository instance of Tiki Wiki.

On my local setup I use several PHP versions 7.x, 8.1.x and 8.2.x.
To point to the setup the php version required based upon the version I add the -p parameter and point to the right PHP bin that should be used

Copy to clipboard
sh -p /Applications/MAMP/bin/php/php8.1.17/bin/php

Version may change based on what is available for you on your computer

On my remote server (Debian11 and Virtualmin) I use

Copy to clipboard
sh -p /usr/bin/php8.1

Troubleshooting error setting locales on your OSX computer Solved : Tiki26 localeissue

Issue description and local fix kept for troubleshooting

As soon as the installs complete you may encounter a fatal error related to tiki-setup.php or tiki-install.php.
To solve this I commented the line 70 of tiki-setup.php:
`setlocale(LC_ALL, ''); // Attempt changing the locale to the system default.`
After a refresh (or two my Tiki was loading just fine) script is gone from Tiki26 [Reported: is gone]

With Tiki is provided a customized .htaccess file "_htaccess". The rules there optimise the usage of Tiki and is mandatory to use SEFurl (simplify your URL).
For years we used in Tiki a small script to create a symlink from .htaccess to a specificaly customized _htaccess.
This script is gone at the time I wrote this paragraph but you can follow instructions from this page htaccess from within your Tiki root folder.

Copy to clipboard
ln -s _htaccess .htaccess

Design and layout

There are big changes here but that doesn't mean necessarily big work to fix.
First Tiki26 is running the quite new (at the time I wrote this article) Bootstrap5.3 and with it we introduce into Tiki the color mode that allow on the fly selection of light color mode, new dark mode, or any mode you create.

A lot of attention was made by the Tiki team and ou Bootstrap specialist Gary to ease the transition and you can find more and updated details on this page : Updating-a-Theme-for-Tiki-26

Custom themes adaptation and changes due to bootstrap5.3

Main theme CSS

To allow compilation of my theme in Tiki26 I had to import a new set of default styles for the dark mode. In my theme scss this is how it look and in this order

This is critical if you create your own custom theme or want to deeply modify an existing theme and need to "Compile" it.
This is __not relevant if you use one of the included theme from the Tiki release package, from your control panel or from VCS. (you can still lightly customize it using the Look & Feel custom panel

Copy to clipboard
@import "../../base_files/scss/_tiki-bootstrap_functions"; // Required Bootstrap @import "../scss/variables"; // Needs to come first, to override Bootstrap defaults. @import "../../default/scss/variables"; // Bootstrap default variables, with a few Tiki overrides - newly added @import "../scss/variables-dark"; // New in Bootstrap 5.3 @import "../../default/scss/variables-dark"; // Bootstrap dark mode default variables - newly added @import "../../base_files/scss/_tiki-variables.scss"; // Values/definitions for Tiki variables (outside of Bootstrap variables) such as _tiki-selectors.scss. @import "../../base_files/scss/_tiki-bootstrap_layout_and_components"; @import "../scss/css-variables"; // Needs to be loaded after default variables to override them @import "../../base_files/scss/_tiki-selectors.scss"; @import "../../base_files/scss/_tiki-pagetop_colors.scss"; // Import if needed (almost always) to specify top and topbar zone colors in more detail //@import "../scss/_tiki-selectors.scss"; // Unclear - Not sure why these are not included in the Tiki theme @import "../../base_files/scss/_external-scripts.scss"; // Why is this imported separately? @import "../../base_files/scss/_select2-tiki_colors.scss"; // Specific to Select2

Variables SCSS

Compilation errors about the following classes or colors should not happen if you set correctly the import files and order based on last version released.

Compilation errors kept for history and troubleshooting

To fix some compilation errors and allow a better integration I set the following variables

Copy to clipboard
//// ----- 2. Theme variables // Body $body-color: $gray-700; $body-bg: $gray-400; // Space between top and content $top-page-margin: 2rem; //// End Theme variables ----- // 2. Temporary fixes ----- // Bootstrap 5.3 fixes $link-shade-percentage: 20% !default; // Bootstrap 5.3 $code-color: $body-color !default; // Bootstrap 5.3 $green: #198754 !default; // Bootstrap 5.3 $red: #dc3545 !default; $green-300: tint-color($green, 40%) !default; $red-300: tint-color($red, 40%) !default; // Missing values for _tiki-selectors.scss to be compiled $tooltip-color: $white; $tooltip-bg: $dark; $input-bg: $light;

CSS classes that need to be changed

no-gutters is now g-0 (see:
float-left,right,none is now RTL language compatible using -+float-start,end,none (see:
data-toggle is now data-bs-toggle (see:

CKeditor update warrning (this issue has been seen on previous Tiki version)

The CKeditor library now display an (annoying) update notice. You can hide it by simply adding the following Javascript on your Tiki, Setting, Look & Feel Control Panel, Customization, Custom JavaScript field:

Copy to clipboard
$(document).on("ready tiki.modal.redraw", function () { CKEDITOR.config.versionCheck = false; });

Smarty Templates

Date format for a tracker date field

Not the Date Picker tracker field

This {$row.tracker_field_productsboughtDate} was outputing only the date for a date field where the option was set to "Date only": "2023-08-27"

After (between Tiki26.2 to Tiki26.4):
You need to add a date format like this : {$row.tracker_field_productsboughtDate|date_format:"No value assignedm/%Y"} to get only the date for output.