History: Tiki24from21
Source of version: 5 (current)
Copy to clipboard
! {{page}} This page lists the changes introduced in ((Tiki24)) LTS since ((Tiki21)) LTS. Tiki 24.0 LTS will be released in February 2022. It is a Long Term Support (LTS) version and will be supported until February 2027 as per ((tw:Versions|the Tiki lifecycle policy)) It will be a shorter development cycle and smaller release than ((Tiki22)) and ((Tiki23)), and focused more on refinement of the many recently contributed features. Tiki 24 ((Requirements|requires)) PHP 7.4 like ((Tiki23)) and ((Tiki22)). Unfortunately, PHP 8.x is not supported. Work to update Tiki code to PHP 8.0 was started many months before the [https://www.php.net/ChangeLog-8.php#8.0.0|release of PHP 8.0 (2020-11-26)]. With Tiki's ((tw:Model)), Tiki users are shielded from https://PluginProblems.com as all features are released at once. This being said, the Tiki development community has to deal with [https://en.wikipedia.org/wiki/Dependency_hell|dependency hell] as Tiki leverages over ((Composer|125 direct dependencies + the indirect dependencies)). While the vast majority of them are OK in PHP 8, some of them required more time. Specifically, ((Smarty)) version [https://github.com/smarty-php/smarty/releases/tag/v4.0.0|4.0] with [https://github.com/smarty-php/smarty/issues/686|PHP 8 support] was released on 2021-11-25, only a few weeks before our feature freeze for Tiki 24.x and thus, it's too risky to try to integrate it __In any case, ((Tiki25)) will for sure support PHP 8.0 and 8.1.__ !# New Features and Improvements ''(alphabetically sorted)'' !!# API A self-documented REST API has been added exposing the (arguably) most commonly used elements of the system. A REST API (also known as RESTful API) is an application programming interface (API or web API) that conforms to the constraints of REST architectural style and allows for interaction with [https://en.wikipedia.org/wiki/Representational_state_transfer|RESTful web services]. See: ((API)) !!# Calendar Improvements Weekly recurring events in ((Calendar)) now support multiple days (also in 23.1) !!# Check * [https://sourceforge.net/p/tikiwiki/code/76193/|tiki-check database tables/columns mismatches] !!# Cookie Consent Improvements New option to make the checkbox agree to third party cookies so users can agree to essential (Tiki) cookies without opting in to analytics or other "tracking" cookies from other providers (also in 23.1) See ((Cookie Consent)) !!# Category browsing with tabbed layout Finally (:mrgreen:) !!# Composer v2 * We [https://gitlab.com/tikiwiki/tiki/-/merge_requests/785/diffs|moved] to ((Composer)) v2. https://blog.packagist.com/composer-2-0-is-now-available/ !!# Console New ((Console)) commands: * -+users:remove-cookies+- to remove user expired cookies * -+performance:check+- to check statistics of some performance related statistics * -+tokens:clear+- to remove expired ((tokens)) from database !!# Date handling Major change in how we deal with dates, which will make Tiki more reliable when working over multiple timezones. Ref: https://gitlab.com/tikiwiki/tiki/-/merge_requests/1073 !!# Diagrams from templates New options were added to wikiplugin ((PluginDiagram|Diagram)): * template, which points to a -+fileId+- (of a diagram) that will be used as template. * -+galleryId+-, which by default allows to set the gallery where to save the diagram file * -+fileName+-, which can be used to set a specific file name The use case is when one or more variations need to be made based on an original diagram. The diagram can be edited and saved as the variation without affecting the original, such as when the page of the original diagram is fetched with ((PluginInclude)) and then the diagram is edited on the including page. See also [https://gitlab.com/tikiwiki/tiki/-/merge_requests/763]. !!# Email folders Tracker field * ((Email folders Tracker Field)) !!# GlitchTip Error tracking * ((GlitchTip)) !!# H5P Advanced Customisation 2 new preferences to allow the addition of extra javascript and css to customise ((H5P)) content further, which was not possible before due to browser security (also in 23.1) !!# HybridAuth integration https://hybridauth.github.io/ is coming via https://gitlab.com/arilect/tiki/-/commits/socnets {img src="display1768" link="display1768" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} !!# Interledger Protocol payments (ILP) Interledger is an open and inclusive payments network. The Interledger Protocol (ILP) is an open protocol suite for sending payments across different ledgers. See ((Interledger Protocol payments)) !!# Machine Learning Machine Learning has been added to Tiki23 as a built-in (but optional) feature, using the Rubix ML library, which provides 40+ supervised and unsupervised learning algorithms. Therefore, you will be able to create Machine leaning (ML) models from within Tiki itself, train against data stored in trackers and query models. See ((Machine Learning)) !!# Mail-in !!!# Mail-in to files ((Mail-In)) to Files - save email as message/rfc822 file in a file gallery - include raw content and all headers http://sourceforge.net/p/tikiwiki/code/75496 !!!# Mail-in to trackers * ((Mail-in)) * https://sourceforge.net/p/tikiwiki/code/76806 !!# Mail Notifications Add catch-all/redirect mail delivery option for SMTP messages - useful when debugging or testing upgrades to have all Tiki mail delivered to a single mailbox https://sourceforge.net/p/tikiwiki/code/75843 !!# Mentions User ''mentions'' extended from wiki pages only (as in Tiki 22.x) to all wiki text areas ''(comments, forum and blog posts, tracker fields etc)'' with an autocomplete menu to select users after typing a -+@+- character followed by the beginning of a user's name. !!# Menu system Major upgrade to ((Menu)) system with [https://www.smartmenus.org/]. Smartmenus extend standard Bootstrap menus by improving menu behavior in smaller displays, and enabling deeper menu hierarchies and mega menus. (Images and other non-link content in mega menus will be added soon.) See also [https://gitlab.com/tikiwiki/tiki/-/merge_requests/752]. Configuration note: For a vertical Bootstrap menu with Smartmenus activated, input "navbar navbar-expand-lg" in the "CSS class(es) for the menu nav element" field under the "Module" tab when assigning/editing the menu on the Admin Modules page. !!# Modules !!!# Current Activity Module New module. It displays the current activity of the users (in the list, it displays the type of activity, the name of the activity and the names of all the users who modify a page or a tracker) See ((Module current_activity)) !!!# Module List A simple wrapper for ((PluginList)) as a module - arrived in [https://gitlab.com/tikiwiki/tiki/-/commit/7a57deaa|7a57deaa] !!!# Module zone Admin A new module zone called "Admin" has been introduced in the "__Control Panels > Modules > Admin__ (tab)". That displays the modules that are shown in the new [#Unified_Admin_Backend_UI|Unified Admin Backend UI] > __Dashboard__. See ((Module zones)) !!# Numeric field data modification via mouse scroll can be disabled or enabled Browsers have different behaviors which causes support issues. Harmonizing behavior by default while permitting previous behavior: https://sourceforge.net/p/tikiwiki/code/75930 !!# ODBC Added Open Database Connectivity support to ((Tracker Import Export)). This allows to add ODBC remote sources with read/write support -- instead of importing from or exporting to CSV, which gives the system the ability to import from and export to a remote ODBC-accessible schema table. See ((ODBC)). !!# OpenID Connect OpenID Connect is an authentication layer on top of OAuth 2.0, an authorization framework. The standard is controlled by the OpenID Foundation. See ((OpenID Connect)). !!# Previews Previews of content to be saved have been added (optionally) to comments, and preview functionality has been improved for forum posts, and hopefully more coming by the time of the 23.0 release. !!# PSR-12 Tiki adopted the PSR-12 and converted all the code base to it: https://www.php-fig.org/psr/psr-12/ This would be very difficult with a [https://pluginproblems.com/|fragmented code base with ton of plugins]. But thanks to Tiki's ((tw:model)), this was relatively easy. And it happens all in one version. __N.B.__ Part of this involved changing from indenting with tabs to spaces, which was done for all file types (i.e. PHP, Smarty and JavaScript) !!# Real User Measurement This new feature reuses a JavaScript library called __boomerang__ that measures the page load time experienced by real users, commonly called RUM (Real User Measurement). With this feature, you find out exactly how fast your users think your site is. Apart from page load time, boomerang measures performance timings, metrics and characteristics of your user's web browsing experience See ((Real User Measurement)) !!# Record screen/audio/video A new feature "RecordRTC" was added to record the screen activity. See: ((Record screen audio video)) !!# SAML Upgrade to [https://github.com/onelogin/php-saml|version 4.x of PHP-SAML] https://gitlab.com/tikiwiki/tiki/-/merge_requests/1170/diffs It will be bundled in Tiki for easy usage instead of available via ((Packages)) like older versions. !!# Shamir's Shared Secrets and Team Password Management via Trackers * ((Shared Secrets)) !!# Scheduler A new preference was added to allow delaying all scheduled tasks to run some minutes after it was supposed to. It's useful for cloned instances, avoiding all schedulers to run at the same time See ((Scheduler)) Related commit: https://sourceforge.net/p/tikiwiki/code/77631 !!# Select2 https://github.com/harvesthq/chosen is deprecated so we moved the whole code base to https://select2.org/ Over 200 files changed: https://gitlab.com/tikiwiki/tiki/-/merge_requests/723 All done in one version. This is doable because we have a centralized code-based. Systems with thousands of plugins are unable to do such migrations: https://pluginproblems.com/Modules-Extensions !!# Sitemap ((Sitemap)): replaced deprecated [https://packagist.org/packages/evert/sitemap-php|sitemap-php] by [https://packagist.org/packages/melbahja/seo|melbahja/seo] !!# Snapshot This is a (still experimental) List Execute action that enables scraping a webpage and saving the content as a wiki page. Details at [http://sourceforge.net/p/tikiwiki/code/78296]. !!# Transactional Email Providers ((Transactional Email Providers)) !!# Trackers !!!# Duration field type * New ((Duration Tracker field)) !!!# Exclude indexing non-searchable tracker fields https://sourceforge.net/p/tikiwiki/code/76304/ was also bakported to 21.x !!!# Group can see their own items add options for 'Group can see their own items' and group ownership to GroupSelector fields - enhance permission system to support ability for users in specific group to view items associated with that group https://sourceforge.net/p/tikiwiki/code/76003/ !!!# Search orphaned field names tiki-admin_orphaned.php https://sourceforge.net/p/tikiwiki/code/76278/ !!!# Shorten tracker field names in mysql search index to allow greater number of fields in the index https://sourceforge.net/p/tikiwiki/code/76303/ was also bakported to 21.x !!# System Trackers There is a new section in __Control Panels > Trackers > 'System Trackers'__ (bottom of the page). The first one available is the __Exchange rates tracker__. You can enable it, select which one it is, select the corresponding fields (Currency, Rate, Date) and also the conversion logic (if the rates are entered straight or reverse pairs). An important update here is removal of the Currency Tracker selection in the Currency field options. We no longer need or want to use that from the field properties as we have a system tracker now. The important part for those of you managing Currency fields is to go to Trackers settings page and configure the system tracker fields. See ((System Trackers)) !!# Wiki Plugins New, improved or Fixes !!!# PluginAutoTOC ((PluginAutoTOC)) !!!# Plugin Figlet New plugin. It allows you to create text banners in different fonts. The text banners are composed of a cloud of smaller letters in the manner of ASCII art. You may display "TIKIWIKI" as below : {img src="display1794" link="display1794" width="400" rel="box[g]" imalign="center" desc="Click to expand" styleimage="border"} See ((PluginFiglet)) !!!# PluginGanttChart Improved. Added gantt items duplication within same tracker See ((PluginGanttChart)) !!!# Plugin Kanban New plugin. It allows to move ((tracker)) items with drag & drop capabilities in Trello-like boards. See ((PluginKanban)) !!!# Plugin List Improved plugin. Added an option to plugin list to make caching work even for admin users to make testing easier. See ((PluginList)) !!!# PluginListExecute ((PluginListExecute)) Improved. New __action__ -+tracker_item_clone+- has been added. This gives the ability to clone one or more selected tracker items and execute more actions on the clones after that - e.g. tracker_item_modify https://gitlab.com/tikiwiki/tiki/-/commit/ea6f50574b0dc8e19fc5a5dd979686a0c10d872f Fix. Allow checkbox value to be reset with tracker_item_modify ListExecute action. https://gitlab.com/tikiwiki/tiki/-/commit/43e10f9d51baae9a4174e254973dd4ad8ab2e987 Fix. cloning tracker items via ListExecute keeps auto-assigned UserSelector values instead of resetting that to none or current user https://gitlab.com/tikiwiki/tiki/-/commit/bec107dd655c236dc31abfc12c3a9bfddb2d4a13 !!!# PluginList editable filters Improved. See: ((PluginList with editable filters)) !!!# PluginPivotTable Column/Row sort order are now savable https://sourceforge.net/p/tikiwiki/code/76955/ !!!# PluginQR New plugin. Generate QR codes in your wiki pages easily with ((PluginQR)) !!!# PluginSignature New plugin. It allows to draw a signature and save it as an image, stored within the plugin content as image/png base64. See ((PluginSignature)). !!!# PluginTOTP * ((PluginTOTP)) !!# Risky Preferences Some risky preferences are disabled and hidden by default, since Tiki 22 See ((Risky Preferences)) for details !!# Suggestions ((Suggestion)) !!# Themes Three new themes have been added -- Morph, Quartz, and Vapor. These MIT-licensed themes by [https://bootswatch.com|Bootswatch] have been slightly modified and extended for Tiki. !!# Unified Admin Backend UI New "Unified Admin Backend" preference along with a new Admin UI theme was designed, integrated and introduced in Tiki 23 to make the Admin Control Panels easier to use and navigate. We hope it brings more intuitive way to Tiki newcomers to administer and set up their Tiki. As usual it is completely optional. It can be enabled/disabled on the __Look & Feel__ Control Panel and will be enabled by default for fresh new Tiki 23 installations. This evolved from https://dev.tiki.org/Administration-UX-and-Control-Panels-re-organization revamp. !!# Unified Index !!! Now supports emails which are stored as files Commit: 75563 - added a preference in search index and file gallery which is off by default - Automatic indexing of emails stored as files - when you turn it on, rfc822 files (aka eml files) will be parsed and stored as separate fields in the search index. For now, these fields are stored: email_subject email_from email_sender email_recipient email_date email_content_type email_body email_plaintext email_html !!# Vue.js ((dev:VueJS In Tiki)) !!# Webmail contacts * add read-write access to webmail contacts via CardDAV and refactor underlying backend https://sourceforge.net/p/tikiwiki/code/76499 !!# Web Monetization ((Web Monetization)) ((PluginCoil)) https://community.webmonetization.org/tikiilp/tiki-ilp-integration-and-monetization-grant-report-1-2b4a !# Removals !!# Image gallery After years being deprecated (https://dev.tiki.org/Endangered-features) the image gallery was definitely removed from Tiki23. (https://gitlab.com/tikiwiki/tiki/-/commit/c6454958) !!# BiDi's (right to left) leftovers were removed. !!# ZendSearch https://github.com/zendframework/ZendSearch/pull/23#issuecomment-312265313 https://packagist.org/packages/zendframework/zendsearch https://github.com/zendframework/ZendSearch https://sourceforge.net/p/tikiwiki/code/76691 !# General upgrade notes Also, see the standard information about ((Upgrade|Upgrades)) in Tiki. !!# If you are upgrading from SVN or Git Before switching to branch 23+ You need to update to at least the following: * From 20.x: https://gitlab.com/tikiwiki/tiki/-/commit/3135426215d81fddebfb8fd8b52cc5b40ef3b73e * From 21.x: https://gitlab.com/tikiwiki/tiki/-/commit/669f740b0155e2d92418e37bcecf93851c8f9ec6 * From 22.x: https://gitlab.com/tikiwiki/tiki/-/commit/21d0a822869f07458b282dfc7ef6edcea773d53a And run sh setup.sh !# Related -=Pages linking to this one=- {backlinks noheader=1} ~tc~ (alias(24from21)) ~/tc~