It requires PHP 7.2, vs PHP 7.1 for Tiki20, and at least MySQL version 5.5.3, which provides support for utf8mb4 encoding.
It is a Long Term Support (LTS) version and will be supported until March 2025 as per the Tiki lifecycle policy
About getting source code
Please note: SVN updates (for all versions of Tiki) will stop in January 2023 when Tiki18 reaches end of life, so you should get your updates from Git
1. New Features and Improvements
Roberto Kirschbaum wrote:
Big thanks to Xorti for the --use-git option in doc/devtools/release.php . For the first time in History we release Tiki using Git! Thanks also to Jonny for testing a tarball in the process of release.
As Tiki transitions from Bootstrap 3 to 4, support for Internet Explorer 8 and 9 is being dropped. Internet Explorer 10 also stops being fully supported officially, but it should mostly work.
1.4. Calendar
1.4.1. Fullcalendar updated and Scheduler via packages
objects:notify-maintainers: Send out email notification to maintainers for objects whose freshness is greater than the limit. Related: #Tiki_Objects\:_maintainers_and_freshness
vcs:automerge: Semi Auto Merge (for developers)
vcs:fixids: Fix the Id's of SVN Keyword for all files (for developers)
vcs:update: Update SVN to latest version & perform tasks for a smooth update.
translation:englishupdate: Fix English strings after modifying them.
translation:getstrings: Update language.php files with new strings
tiki:stats: Display a table with the KPIs
preferences:export: Export preferences
ocr:set: Set the OCR status of files (Queue, Skip)
ocr:status: Give statistics on file OCR status (Queued, Processing, Finished, Skipped)
dev:fixbom: Fix BOM and line endings for all files (for developers)
From Tiki20.1 and up It is possible to use Open Layers version 3 as well as version 2 (default). Version 3 offers many improvements that will help using Map and Location related features. Enhancements will/can be implemented and it started with the following:
1.21.1. Clustered Features (Map)
Open Layer Terminology
"feature" is what OpenLayers calls a "thing on a map"
From Tiki20.1 and up The open Layer 3 (see above) "Clusters Features" add the capability to display group of Features / Objects (points, markers, zone, etc) based on distance from a determined feature (see terminology)
Exemple: https://openlayers.org/en/latest/examples/cluster.html
Remove the CSS menu (suckerfish/superfish) menu type, and enhance Bootstrap menus with the SmartMenus system, which offers most suckerfish features and also permits "Mega Menus" (enhancement as an admin option) - http://sourceforge.net/p/tikiwiki/code/66963 .
1.25. Minification
Make the filenames of minified CSS files be based on the contents of all the files, not just the filenames, so that when anything changes within a file, i.e. after an upgrade or bug fix, browsers will automatically get the new version of the code. Since this uses a server-side cache which is not validated, client-side cache will only be forced after the Tiki server's cache is cleared. This had already been done for JavaScript in Tiki 18.x
Admins can now easily change the site logo by hovering over it, clicking the icon that appears and uploading a new logo directly to file gallery.
1.26.2. Websearch module
To perform a search by choosing from multiple search engines.
1.26.3. Module to switch admin language
1.26.4. Module to enable quick admin bar
Top Admin Bar works on the top position and gives a mini control panel to Tiki Admins.
1.26.5. Module permissions
New module. This module lists the permissions for current object. It help site admins know which group has which permission on the current object, and how (ex.: object permissions vs category permissions vs global permissions)
parent/child functionality and tests for: files/file galleries, posts/blogs, threads/forums, events/calendars, articles/topics. It also adds the necessary tests for this functionality.
tracker item permission links, so users can set up permissions on individual tracker items
extended permission page to show if the permissions you view are global, category based, parent object based or direct. New thing here is parent object permissions - so if you view a child objects permissions and are actually looking at parent's object, it says so and offers a link to go and edit the parent object's permissions (i.e. tracker ones) directly.
Now, almost all of this work will be useless unless we offer Tiki users a way to manage permissions on the child level. I think that's the purpose of this task, right? I mean, up to now, there was no way of setting tracker item individual permissions, blog posts individual permissions, article individual permissions, calendar items individual permissions and so on. There is no such UI. We also don't have ability to set up individual file permissions but all file-related permissions work on the file gallery. This commit makes it possible to use parent-level permissions for all these entities but we still don't have UI to set those permissions. Furthermore, there are numerous places in Tiki where permissions are enforced and they all work on the parent-level - i.e. checking if a file could be downloaded actually checks if you have download permission on the file gallery file resides in. I plan to change this the following way:
anywhere a child permission is needed, it is checked first and then the parent one is used (e.g. download a file, view a blog post, edit an article, etc.)
anywhere a parent permission is needed, it is still checked on the parent level (e.g. upload a file in a gallery, add a blog post, etc.)
add Permission links to all Wrench icon/settings menu items for all the child entries - i.e. allow users to edit individual blog post, file, article, forum thread or calendar event permissions.
At tiki-objectpermissions.php it is now possible to order the Permissions by modifying the way you want the tiki-objectpermissions_order.yml file.
You can edit db/config/tiki-objectpermissions_order.yml and move the permission in the order you prefer.
This is reserved for power users for now but it may soon help to improve Tiki UX by "better" organising the permissions or an option for several set distributed with the release.
Google ReCaptcha V2 has been upgraded to Google ReCaptcha 3
Tiki in its goal to be an ocean of several useful and secure features for the user, we have chosen to give you the opportunity to choose between different versions of spam security features.
Which is why you can currently choose in the settings to activate the Google ReCaptcha 2 or 3 version.
How will reCaptcha V3 stop spam?
The previous ReCaptcha (v2) worked because it tracked the user movement (scrolling, clicking) while the user solved the captcha (clicked on "I'm not a robot"). v3 does the same, but there is just no button to click on, google just "watches" the client and determines wether there is a human controlling the mouse on the other side.
What if a hacker spams the URLs on my site with an external tool without using the interface I provide?
Google generates a token for the client when he passes the checks which you have to validate on the serverside. If someone doesn't pass the captcha (a robot), he doesnt have the token.
How to activate Google ReCaptcha V3 in Tiki?
In control panel, press the "Security" feature, then the "Spam Protection" tab,
Then go to https://www.google.com/recaptcha/intro/v3.html Create a site, add your domain, and then select version 3 of google ReCaptcha, and validate.
You will get two keys that are scrolled in Tiki respectively and then copy-paste and validate and here you are with version 3.
Google Analytics and PiwikMatomo Analytics: Added a way to include or exclude groups.
Use case: when a Tiki instance has a combined use case of a public website and a restricted Intranet, it's nice to have Piwik Matomo and / or Google Analytics for anonymous visitors to see most popular pages, time on site, etc. But for logged in users, it's not so interesting and it skews the stats.
http://sourceforge.net/p/tikiwiki/code/65976
The Tikipedia theme was added to the package following user requests. It was evaluated that there is no license incompatibility issue.
1.45.4. FiveAlive theme - revamp
The code of the FiveAliveHS ("Happy Scroll") that was added earlier replaced the FiveAlive theme code, so in effect the FiveAlive theme was revamped. The two-color site header background style is now implemented as child theme options. Alternative child themes for each color have solid-color (gradient) backgrounds for easier handling of color contrast between the site logo/title color and background.
1.45.5. Removal of outdated themes
Several themes were removed from the package because of dated or quirky appearance or close similarity to other themes. These themes may be provided as aftermarket installs on request.
1.46. Tiki Objects: maintainers and freshness
Starting with Wiki Pages, Tiki objects now can have maintainers, an update frequency and a freshness, i.e., how long ago it has been updated. Then, when an object becomes too old relative to its update frequency, Tiki will send emails to the maintainers reminding about the need to update it (console.php objects:notify-maintainers)
ItemsList tracker fields now optionally offer an "Add new item" button and/or an edit and/or a delete icon where the user has those permissions. This allows for dealing with "children items" when you are viewing or editing the "parent item" (1 parent : N children)
Multiple minor enhancements to the Webmail (Cypht integration). The quality is somewhere between Alpha and Beta. It is in active development and you can expect improvements every few weeks in the 21.x branch.
1.53. Wiki Syntax
1.53.1. Page Alias
Display "Error" (warning) alert on wiki pages with duplicate alias wiki links (e.g. (alias(FooBar2))). When the same alias is used in 2 or more wiki pages, links using that alias do not work properly.
We've added support to use `@username` mentions in wiki pages. To enable mentions please enable the following preferences:
Tagging users
User mention notifications
When a user is mentioned, and his 'personal information' is visible to public, a link is displayed and on hover a popup with his 'information' is displayed.
As a user, to 'enable' the personal information popup, follow this steps:
Control Panel > User Settings Button > User Settings Tab > User preferences screen => Check (This will display the "Personal Information" tab on "User Preferences" pages. In it, there is a dropdown that should be set to "public".
1.54. Wiki Plugins
New or enhanced.
1.54.1. Plugin Button
Enhanced. See Button. You can now display an icon without label (text).
1.54.2. Plugin Cypht (for new webmail)
New. You can use it to set up your webmail account through Cypht.
New. See PluginDiagram. PluginDiagram integrates mxGraph (An open source JavaScript diagramming component, started in 2005, that works on all major browsers, including touch devices), to provide a service like draw.io but that you can install on your own server.
1.54.4. Plugin Gantt Chart
New. It allows to produce and easily edit Gantt chart diagrams based on data in a tracker.
New. Enables page layout configuration such as removing the page footer, having full-width page section backgrounds, etc. Useful for making a splash page that looks radically different from the other site pages.
Ennhanced. Added in tracker_item_modify the ability to add/remove items. This is useful for multivalue fields like User Selector, Category, Relation, Freetags, etc.
New. A carousel/rotator/slideshow that supports images and other content. Basically a replacement for other similar plugins that are no longer supported or are less advanced.
Enhanced. Some usability improvements have been made to facilitate new users to join the edition of a page currently being editted by another user which started the collaborative session.
Enhanced. You can now display items as resources in a continuous view for the whole year, of display items in event-list views (day, week, month, year). You can also use a new parameter eventOverlap which will allow you to forbid (when set to n) moving or extending events through this plugin if they would overlap the time frames of two items associated with the same resource (a common use case in booking management systems: the same physical resource can't be booked several times in the same or overlapping time frames).
Now when elasticsearch is the default engine, a new checkbox is displayed allowing to use MySQL as a search index fallback in case of Elasticsearch failure.
If enabled, when the index rebuild process occurs both indexes (Elastic + MySQL) are indexed (with objects and preferences). The fallback rebuild status is visible both in UI and CLI after running index rebuild.
The "Tiki Remote Instance Manager (TRIM)" will go into maintenance mode, and the code will be forked and revamped to become its replacement, now known as the "Tiki Manager".
1.58. Vue.js support
VueJS In Tiki. This is a new javascript library which has been used in Tiki 21 to provide the new feature tracker field rules, and might provide new features to Tiki in the future.
Upgraded to Converse 4.x which now uses Bootstrap 4 like Tiki, and thus, it will be easier to provide a consistent user experience. See also PluginXMPP
2. General upgrade notes
Also, see the standard information about Upgrades in Tiki.
Since version 19.x, Tiki uses utf8mb4 storage and there is an upgrade script built in which will do this automatically for you when the database it updated. However if, for some reason, your database (as opposed ot the tables within it) is set to use utf8mb4 already, many of the old upgrade patches will fail. To avoid this make sure the database is set to use utf8 only.
3. Dependencies
Most dependencies were upgraded to latest version: Composer. Some notable ones:
Smarty was upgraded. We had been stuck on v3.1.21 for a long time due to template inheritance issues, but the current release is v3.1.32 and we need this for php7.1+ support: done in https://sourceforge.net/p/tikiwiki/code/66842/
This never worked, and was duplicating another feature. One of Tiki's strengths is that we converge all energies on a common functionality. This experiment had some interesting aspects but it was not viable. All the details here: https://tiki.org/forumthread67333
5.1.5. WebODF and ViewerJS
As of Tiki19, ViewerJS, which includes WebODF, will no longer be supported because no significant work has been done since 2015
In the Look and Feel admin options, two layout templates ("Wider side columns" and "Fixed top navbar 1") were removed because they were very similar to other layout templates.
5.2. Known Bugs
Mail notifications when wiki pages are edited are mostly broken in Tiki 19.0. (fixed for 19.1)
Bootstrap Tour broken, needs library update. See item6677