Tiki24from21
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 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 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 release of PHP 8.0 (2020-11-26). With Tiki's 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 dependency hell as Tiki leverages over 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 4.0 with 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.
1. New Features and Improvements
(alphabetically sorted)
1.1. 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 RESTful web services.
See: API
1.2. Calendar Improvements
Weekly recurring events in Calendar now support multiple days (also in 23.1)
1.3. Check
1.4. 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
1.5. Category browsing with tabbed layout
Finally 😁
1.6. Composer v2
1.7. 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
1.8. 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
1.9. Diagrams from templates
New options were added to wikiplugin 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.
1.10. Email folders Tracker field
1.11. GlitchTip Error tracking
1.12. 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)
1.13. HybridAuth integration
https://hybridauth.github.io/ is coming via https://gitlab.com/arilect/tiki/-/commits/socnets
1.14. 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
1.15. 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
1.16. Mail-in
1.16.1. 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
1.16.2. Mail-in to trackers
1.17. 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
1.18. 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.
1.19. 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.
1.20. Modules
1.20.1. 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)
1.20.2. Module List
A simple wrapper for PluginList as a module - arrived in 7a57deaa
1.20.3. 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 > Dashboard.
See Module zones
1.21. 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
1.22. 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.
1.23. 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.
1.24. 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.
1.25. 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 fragmented code base with ton of plugins. But thanks to Tiki's 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)
1.26. 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
1.27. Record screen/audio/video
A new feature "RecordRTC" was added to record the screen activity.
See: Record screen audio video
1.28. SAML
Upgrade to 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.
1.29. Shamir's Shared Secrets and Team Password Management via Trackers
1.30. 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
1.31. 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
1.32. Sitemap
Sitemap: replaced deprecated sitemap-php by melbahja/seo
1.33. 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.
1.34. Transactional Email Providers
1.35. Trackers
1.35.1. Duration field type
1.35.2. Exclude indexing non-searchable tracker fields
https://sourceforge.net/p/tikiwiki/code/76304/ was also bakported to 21.x
1.35.3. 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/
1.35.4. Search orphaned field names
tiki-admin_orphaned.php
https://sourceforge.net/p/tikiwiki/code/76278/
1.35.5. 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
1.36. 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
1.37. Wiki Plugins
New, improved or Fixes
1.37.1. PluginAutoTOC
1.37.2. 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 :
See PluginFiglet
1.37.3. PluginGanttChart
Improved. Added gantt items duplication within same tracker
See PluginGanttChart
1.37.4. Plugin Kanban
New plugin. It allows to move tracker items with drag & drop capabilities in Trello-like boards.
See PluginKanban
1.37.5. Plugin List
Improved plugin. Added an option to plugin list to make caching work even for admin users to make testing easier.
See PluginList
1.37.6. 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
1.37.7. PluginList editable filters
Improved. See: PluginList with editable filters
1.37.8. PluginPivotTable
Column/Row sort order are now savable
https://sourceforge.net/p/tikiwiki/code/76955/
1.37.9. PluginQR
New plugin. Generate QR codes in your wiki pages easily with PluginQR
1.37.10. 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.
1.37.11. PluginTOTP
1.38. Risky Preferences
Some risky preferences are disabled and hidden by default, since Tiki 22
See Risky Preferences for details
1.39. Suggestions
1.40. Themes
Three new themes have been added — Morph, Quartz, and Vapor. These MIT-licensed themes by Bootswatch have been slightly modified and extended for Tiki.
1.41. 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.
1.42. 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
1.43. Vue.js
1.44. Webmail contacts
- add read-write access to webmail contacts via CardDAV and refactor underlying backend
https://sourceforge.net/p/tikiwiki/code/76499
1.45. Web Monetization
Web Monetization
PluginCoil
https://community.webmonetization.org/tikiilp/tiki-ilp-integration-and-monetization-grant-report-1-2b4a
2. Removals
2.1. 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)
2.2. BiDi's (right to left) leftovers were removed.
2.3. 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
3. General upgrade notes
Also, see the standard information about Upgrades in Tiki.
3.1. 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
4. Related
No pages link to Tiki24from21