Tiki27
Tiki 27.0 LTS was released on July 1st 2024. Release announcement: https://tiki.org/article512-Tiki-27-0-LTS-A-Leap-Forward-for-Collaborative-Software
It is a Long Term Support (LTS) version and will be supported until July 2029 as per 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 npm based build system. After this release, there will be yet more major changes in Tiki28.
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).
1. Infrastructure
(alphabetically sorted)
1.1. 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 tracker field is deleted but it is still called in a calculation or a Pretty Tracker
- etc.
See discussion between Victor and Benoit. Also, work has been done to try to avoid that these errors block the process to Rebuild Unified Index.
This increased strictness will facilitate upcoming enhancements (increase performance, etc.)
1.2. PHPUnit
Tiki was upgraded to use version 10 of PHPUnit (the de-facto standard for testing PHP-based software)
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
1.3. 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
1.4. Tiki 27+ Build System - for VCS (git) installations
setup.sh
and install a new Tiki or update.
See https://dev.tiki.org/The-Tiki-27-plus-Build-System
2. Enhancements
(alphabetically sorted)
2.1. 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
2.2. 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 affects 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
2.3. 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 generateindex.php
and.htaccess
files
2.4. Contacts
Added support for personal and work emails
https://gitlab.com/tikiwiki/tiki/-/merge_requests/4399
2.5. Markdown + TOAST UI
Many bug fixes and enhancements 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
2.6. 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.
2.7. PluginList Sublist
- New wikiplugin to be used inside PluginList introduced: see Sublist
2.8. Search
Added facet output to the table
template in https://gitlab.com/tikiwiki/tiki/-/merge_requests/4552 for use in PluginList and PluginCustomSearch
2.9. Search index: multi-sort
2.10. Semantic Search
2.11. URL Fragment format
A preference that provides you with the ability to change anchor format.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/2907
2.12. 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 a 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
2.13. Webmail
Cypht was 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
2.14. WikiPlugin Survey
Several enhancements have been added to 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
2.15. WikiPlugin Tour
The Tour plugin has been updated to use driver.js instead of Bootstrap tour, which has restored its functionality following its disruption in Tiki 25.
https://gitlab.com/tikiwiki/tiki/-/merge_requests/4232
3. Removed
- HTML feed feature and related plugins: PluginHtmlFeed and PluginHtmlFeedLink
- Module SVN Up Info
- 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 was deprecated in May 2018. Fast forward to 2024, and it was completely removed. See the supported Unified Index Comparison.