History: Tiki27
Source of version: 57
Copy to clipboard
! {{page}} Tiki 27.0 LTS will be released in June 2024. It is a Long Term Support (LTS) version and will be supported until June 2029 as per ((tw:Versions|the Tiki lifecycle policy)). Usually, LTS versions like this are more about refining features than major changes. However, this release is an exception as the Tiki developers wanted major changes to be part of this LTS, notably Smarty 5, and the new build system. After this release, there will be yet more major changes in ((Tiki28)). ((Requirements|Supported PHP versions: PHP 8.1, 8.2 and 8.3, MariaDB 10.5+, MySQL 8+)) You can see the development page at : https://dev.tiki.org/Tiki27 and all the code commits here: https://gitlab.com/tikiwiki/tiki/-/commits/27.x/ once it will be created (in 2024-03). !# Infrastructure ''(alphabetically sorted)'' !!# Error reporting Errors and warnings are more strictly reported. This can be caused by: * A Tiki bug: the bug can be old but the error/warning messages were previously not exposed. It could also be a new bug... * Data inconstency. Ex.: A ((Adding fields to a tracker|tracker field)) is deleted but it is still called in a ((Mathematical Calculation Tracker Field|calculation)) or a ((Pretty Tracker)) * etc. See [https://gitlab.com/tikiwiki/tiki/-/merge_requests/4632#note_1833339279|discussion between Victor and Benoit]. Also, work has been done [https://gitlab.com/tikiwiki/tiki/-/commit/469a3e9a5554837b4831500caf29d12f1a8ae990|to try to avoid that these errors block the process] to ((Rebuild Unified Index)). This increased strictness will facilitate upcoming enhancements (increase performance, etc.) !!# PHPUnit Tiki was upgraded to use version 10 of PHPUnit (the de-facto standard for testing PHP-based software) {QUOTE(source_url="https://phpunit.de/announcements/phpunit-10.html")}PHPUnit 10 is the most significant release in the history of the PHPUnit project (which began 23 years ago). {QUOTE} This required multiple code commits as many updates were required by various dependencies. Here is the last commit: https://gitlab.com/tikiwiki/tiki/-/merge_requests/4643 !!# Smarty 5 * Major upgrade from ((Smarty)) 4 to 5: https://gitlab.com/tikiwiki/tiki/-/merge_requests/3529 * https://github.com/smarty-php/smarty/discussions/920 !!# Tiki 27 plus Build System - VCS (git) installation {REMARKSBOX(type="warning" title="Major change when installing for VCS (git)")}With the new Tiki 27 plus Build System node.js is now required to run setup.sh and install a new tiki or upgrade. See https://dev.tiki.org/The-Tiki-27-plus-Build-System{REMARKSBOX} !# Enhancement ''(alphabetically sorted)'' !!# API enhancements Several enhancements and improvements made to the Tiki ((API)) functionality, particularly to support Tiki deployments to provide data and system management for Internet of Things (IoT) networks. More detail on IoT usage can be seen at the development page https://dev.tiki.org/Internet-of-Things !!# Calendars Major change for calendar event handling in Tiki - CRUD operations of events now go through the built-in caldav server with the help of internal method invocation (not through the webdav protocol to skip authentication phase). This has the desired consequences of event scheduling, iTIP message generation and other active plugin taking care of corresponding functionality when events are created, updated, deleted. Several major updates to calendar functionality: * Recurring events extended to support almost all of supported RFC5545 RRULE definition: https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.5.3. Most obvious one - repeat in X amount of days,weeks,months,years but also other possibilities like monthly repetition every last Friday and similar. * Definition and storage of availability blocks per user in caldav user's inbox property storage (implemented in Tiki caldav server). This allows specifying periods of availability when all other time is considered busy. This affect free-busy reports by caldav server and also 'check availability' button in Tiki when creating events. * ((Appointment slots)): Availability blocks can be converted to appointment slots when you choose the calendar to store appointments to and the slot duration. Each such availability block has a settings "Schedule" link where you can see available slots in the future, choose a date, click on a slot and create an event with participants (the user owning the appointment slot and yourself). If calendar has anonymous permission to add events, anonymous users can request appointments as well. This page can also be embedded in an external site via iframe with corresponding code provided in the Tiki interface. MR: https://gitlab.com/tikiwiki/tiki/-/merge_requests/3534 private calendars: new permission (tiki_p_admin_private_calendar) and ability to create personal private calendars that will be visible only to the user creating them and calendar admins; make sure all operations and CalDAV support + permissions continue to work in the same way as before with public calendars and new private calendars https://gitlab.com/tikiwiki/tiki/-/commit/7261fa544d7f433b9fbda5ce4c74f472c1be0ada !!# Console New ((Console)) commands: * -+reportcache:clear+- to clear the user reports cache * -+tracker:convert-attachments+- to convert tracker attachments (the ones that are global for the tracker) to attachments as a tracker file field type * -+dev:buildwsconfs+- to check and generate index.php and htaccess files !!# Contacts Added support for personal and work email https://gitlab.com/tikiwiki/tiki/-/merge_requests/4399 !!# Markdown + TOAST UI Many bug fixes and enhancement have happened in ((Tiki27)) which resulted in a more user-friendly Markdown editing experience without sacrificing functionality or compatibility with traditional Tiki syntax * Enhanced the UX of the text editor when in Markdown mode. * Improved UX for Markdown mode and TOAST UI editor across all modes. https://gitlab.com/tikiwiki/tiki/-/commits/master?search=markdown !!# PDF New permission (tiki_p_export_pdf) to restrict who can generate a PDF. Useful to remove PDF generation capacity from anonymous users because bots will sometimes abuse this. !!# PluginList Sublist * ((Sublist)) !!# Search Added facet output to the -+table+- template in [https://gitlab.com/tikiwiki/tiki/-/merge_requests/4552] for use in ((PluginList)) and ((PluginCustomSearch)) !!# Search index: multi-sort * https://gitlab.com/tikiwiki/tiki/-/merge_requests/4398 !!# Semantic Search * ((Semantic Search)) * ((PluginSemanticSearch|Plugin Semantic Search)) !!# URL Fragment format A preference that provides you with the ability to change anchor format. https://gitlab.com/tikiwiki/tiki/-/merge_requests/2907 !!# User mentions ((User mentions)) feature has been improved * Send a notification when a user is mentioned in a wiki page comment: https://gitlab.com/tikiwiki/tiki/-/merge_requests/3003 * Several enhancements in https://gitlab.com/tikiwiki/tiki/-/merge_requests/3677: ** Prevent sending a notification when a user mentions himself ** Support autocomplete even when the preference Username pattern 'username_pattern' field is empty ** Ensure that user mentions look visually different from the other content ** Detect user mentions when there is other text in object content or in comment * Fix the sending of notifications when users are mentioned and extend 'Tagging users' to usernames containing dash or dot: https://gitlab.com/tikiwiki/tiki/-/merge_requests/4373 !!# Webmail Cypht is upgraded from version 1.4.x to 2.0.x which comes with numerous enhancements. See ((Webmail)) and https://github.com/cypht-org/cypht/releases/tag/v2.0.0 !!# WikiPlugin Survey Several enhancements have been added to ((Pluginsurvey|Plugin Survey)): ** Display all users associated to a choice and change stats rendering ** Plugin Survey : Restrict admin users to one vote ** Add a restriction option to prevent admin users from voting more than once https://gitlab.com/tikiwiki/tiki/-/merge_requests/3592 !!# WikiPlugin Tour The ((PluginTour|Tour plugin)) has been updated to use [https://driverjs.com|driver.js] instead of [https://github.com/sorich87/bootstrap-tour|Bootstrap tour], which has restored its functionality following its disruption in Tiki 25. https://gitlab.com/tikiwiki/tiki/-/merge_requests/4232 !# Removed * ((HtmlFeed|HTML feed)) feature and related plugins: ((PluginHtmlFeed)) and ((PluginHtmlFeedLink)) * ((module svnup|Module SVN Up Info)) * ((Mobile|Mobile access)) has been done via Bootstrap for years. A legacy pre-Bootstrap preference was removed. * kaltura_kcwUIConf preference * Tikipedia theme +The Tikipedia theme has been removed as it required setup steps to have the Wikipedia appearance. * Tiki search (legacy) +The Tiki ((Unified Index)) was introduced in ((Tiki7)) (2011) as an alternative to the standard Tiki search. The standard search became legacy and [https://gitlab.com/tikiwiki/tiki/-/commit/d7fd3ff60b9fbb263139857140020b7547a66189|was deprecated in May 2018]. Fast forward to 2024, and [https://gitlab.com/tikiwiki/tiki/-/merge_requests/4032|it was completely removed]. See the supported ((Unified Index Comparison)).