Tiki21from18
Tiki 21.0 was released in March 2020.
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
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.
1.1. Admin panel
Add warning message in admin control panel when Tiki detects vendor folder issues: http://sourceforge.net/p/tikiwiki/code/66408
Top quick admin bar and sticky floating apply buttons for admin forms. Detail at Tiki19 Admin Enhancements
1.2. Bootstrap
This is the most far reaching upgrade in Tiki19: Moved from Bootstrap 3 to 4.
See https://themes.tiki.org/Bootstrap-3-to-4-transition
1.3. Browser compatibility
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
Moved from old no-longer supported fork fullcalendar-resourceviews to latest and greatest official FullCalendar, and Scheduler (GPL) available via Packages -> https://sourceforge.net/p/tikiwiki/code/66298
Also using Bootstrap 4!
http://sourceforge.net/p/tikiwiki/code/66816
1.4.2. Calendar - CalDAV support
- See also CalDAV
- https://sourceforge.net/p/tikiwiki/code/71008 via SabreDAV
- With recurring events
- Calendar Invitations by email
1.5. Console
New actions added to console.php
:
-
file:check
now supports wiki attach, forum attach and tracker attach https://sourceforge.net/p/tikiwiki/code/69545 -
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) -
tracker:export
added - generate/warmup caches, and in TRIM as well
See Console
1.6. Contacts - CardDAV support
- See CalDAV
- http://sourceforge.net/p/tikiwiki/code/75195 via SabreDAV. See also CalDAV
1.7. Convert from absolute to relative link
Feature was improved: https://sourceforge.net/p/tikiwiki/code/71556
1.8. Custom admin panels
- PluginPreference
- http://sourceforge.net/p/tikiwiki/code/71641
- http://sourceforge.net/p/tikiwiki/code/71653
1.9. Diagrams
1.10. Elasticsearch
Added support for Elasticsearch 6.x while maintaining support for 2.x and 5.x see Elasticsearch requirements.
1.11. Email threading
Add email threading capabilities for tiki email notifications in Forums and Blog Post comments: http://sourceforge.net/p/tikiwiki/code/65982
1.12. Federated search
- PluginList can be used with Federated Search
1.13. Federation
Sync Dev-Prod Servers Tiki instances - admin tool to show differences between configuration, trackers, fields and wiki pages
http://sourceforge.net/p/tikiwiki/code/67442
1.14. Forums
Better URLs: http://sourceforge.net/p/tikiwiki/code/66574
1.15. File Gallery
- Major revamp to make it easier to add new features
1.16. File previews
1.17. Gantt charts
1.18. H5P improvements
Some improvements were added to H5P. For instance, the ability to directly fetch presentations from the remote H5Phub site:
See: H5P
1.19. Links, from absolute to relative
Add preference to convert tiki instance absolute URLs with relative URLs in content: URL conversion from absolute to relative
1.20. LDAP / Active Directory support
- Replace PEAR Net_LDAP2 (no longer maintained) with Zend\Ldap: http://sourceforge.net/p/tikiwiki/code/66965
- https://tiki.org/forumthread69666-External-groups-by-LDAP-distinguishedName-in-Tiki-19
- https://sourceforge.net/p/tikiwiki/code/66977
1.21. Map / Location / OpenStreetMap
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)
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
1.22. MathJax
1.23. MediaWiki importer
Add support to import information in the MediaWiki format 0.6 to 0.10
https://sourceforge.net/p/tikiwiki/code/65119
MediaWiki Importer
1.24. Menu revamp
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
- http://sourceforge.net/p/tikiwiki/code/67650
- http://sourceforge.net/p/tikiwiki/code/67651
- http://sourceforge.net/p/tikiwiki/code/67652
- http://sourceforge.net/p/tikiwiki/code/67653
- http://sourceforge.net/p/tikiwiki/code/67654
See Minify CSS
1.26. Modules
New or enhanced.
1.26.1. Site logo module
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)
1.27. Multilingual
- Add option to display the admin panel in different language, also backported to Tiki18
- Enable translation of preferences. Active for browsertitle, metatag_keywords, metatag_description, also backported to Tiki18
1.28. Newsletter
- Improvements in wikiplugin_subscribenewsletter on layout and mandatory fields: http://sourceforge.net/p/tikiwiki/code/66573
- Add option to import newsletter subscribers from trackers
1.29. OCR Indexing
A new feature to index content after Optical Character Recognition (OCR) was added via https://packagist.org/packages/thiagoalessio/tesseract_ocr and it even led to some enhancements upstream
See OCR Indexing
1.30. OAuth2
Add OAuth2 support via https://oauth2.thephpleague.com/
See: OAuth
1.31. Performance
1.31.1. Add new console command to generate/warmup caches, and in TRIM as well
http://sourceforge.net/p/tikiwiki/code/66590
http://sourceforge.net/p/tikiwiki/code/66591
1.31.2. Allow image lazy loading
Using https://github.com/ApoorvSaxena/lozad.js
https://sourceforge.net/p/tikiwiki/code/67376
1.32. PDF
1.32.1. mPDF updated
- Upgraded from mPDF 7 to 8
1.32.2. PDF.js
For PDF viewing, we will start using code directly from Mozilla's PDF.js, and installable via Packages -> PDF.js viewer
http://sourceforge.net/p/tikiwiki/code/66297
http://sourceforge.net/p/tikiwiki/code/66207
1.33. Permissions
1.33.1. Module to help site admin to know who has which permission on each object
1.33.2. Mini-revamp
- 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.
- https://sourceforge.net/p/tikiwiki/code/66976
- https://sourceforge.net/p/tikiwiki/code/67218
- https://sourceforge.net/p/tikiwiki/code/67206
- https://sourceforge.net/p/tikiwiki/code/67203
- https://sourceforge.net/p/tikiwiki/code/67200
1.33.3. List ordering
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.
1.34. Perspectives - sticky
1.35. Profiles
http://sourceforge.net/p/tikiwiki/code/66243 (backported to 18.x)
1.36. Progressive Web App
- Offline access via Progressive Web App
1.37. Roles
1.38. Scheduler
- Add a new scheduler tasks to notify admins of Tiki updates
- Supports profiles
- http://sourceforge.net/p/tikiwiki/code/66254 (backported to 18.x)
- http://sourceforge.net/p/tikiwiki/code/66255 (backported to 18.x)
- http://sourceforge.net/p/tikiwiki/code/66098
- http://sourceforge.net/p/tikiwiki/code/66144
- http://sourceforge.net/p/tikiwiki/code/66143
1.39. Sessions
- Improvements in sessions when using mysql/memcached as storage locations (Both mechanisms now have lock/unlock grants to avoid race conditions.)
1.40. Share
https://sourceforge.net/p/tikiwiki/code/66939
1.41. Slideshow revamped
- Jquery.s5 based tiki-slideshow.php replaced with more advanced Reveal.js library
- https://github.com/hakimel/reveal.js
- PDF export is done via mPDF
1.42. Spam protection improvements
- 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.
- antibot captcha
http://sourceforge.net/p/tikiwiki/code/66919
http://sourceforge.net/p/tikiwiki/code/66916
http://sourceforge.net/p/tikiwiki/code/66503
1.43. Stats
Google Analytics and Piwik Matomo 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
1.44. Templated Groups
1.45. Themes
Converted from Bootstrap 3 to 4
1.45.1. Theme Customizer
"Style Guide Tool" renamed to "Theme Customizer" and converted to Bootstrap 4
1.45.2. Theme installer
Experimental: https://sourceforge.net/p/tikiwiki/code/67603
1.45.3. Tikipedia theme - new
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)
- See: https://dev.tiki.org/Object-maintainers-and-freshness
- http://sourceforge.net/p/tikiwiki/code/75224
See Object Maintainers and Freshness
1.47. Trackers
1.47.1. Multi-currency
- Currency Amount Tracker Field now supports multi-currency and exchange rates.
1.47.2. Fix tracker change email notification to translate the status content to watcher language
http://sourceforge.net/p/tikiwiki/code/66325 (also backported to 18.x)
1.47.3. Create a tracker and tabular format from csv file import
http://sourceforge.net/p/tikiwiki/code/66772
1.47.4. Save and comment
This feature can be enabled per tracker and permits to add a comment when saving an edit for a tracker item.
See Save and Comment
1.47.5. PluginTrackerlist can be converted to PluginList
http://sourceforge.net/p/tikiwiki/code/65790
See: PluginTrackerList To PluginList Converter
1.47.6. ItemsList fields now editable
- 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)
- See: https://dev.tiki.org/item7206-Make-ItemsList-Tracker-Fields-Editable
1.47.7. Field Rules
- Optional new (experimental) feature to allow changes to tracker forms depending on field contents
- See: https://dev.tiki.org/item7207-Add-Conditional-Actions-for-Tracker-Fields
- Documentation coming soon here Tracker Field Rules
1.48. Two-factor authentication support
1.49. URL Shortener
1.50. URL conversion from absolute to relative
URL conversion from absolute to relative
1.51. utf8mb4
- https://tiki.org/forumthread66854 has been addressed in https://sourceforge.net/p/tikiwiki/code/67620
1.52. Webmail
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.
Related commit(s):
1.53.2. Support for @username mentions with notification
Delivered to trunk: https://sourceforge.net/p/tikiwiki/code/70073
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.
See PluginCypht.
1.54.3. Plugin Diagram
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.
See PluginGanttChart
1.54.5. Plugin Layout
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.
See PluginLayout
1.54.6. Plugin List
Ennhanced. Added new params to allow table expansion, coint number of items or proovide title and subtitles to the table with the results.
See PluginList and this specific documentation page secction
1.54.7. Plugin ListExecute
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.
1.54.8. Plugin Map
Ennhanced. Added new params to allow selecting different open layers provider and clustering of mapped features.
See PluginMap
1.54.9. Plugin Markdown
New. Instead of Tiki's wiki-syntax you can use Markdown syntax in it.
See PluginMarkdown.
1.54.10. Plugin Multilike
The plugin Multilike as two new parameter to change the icon used (selected and non-selected) for the plugin.
See Multilike and PluginMultilike
1.54.11. Plugin PivotTable
Enhanced. Added PluginActivityStream as a data source.
See PluginPivotTable
1.54.12. Plugin Slideshow
Enhanced. Part of 1.9 above.
See PluginSlideshow
1.54.13. Plugin SlideshowSlide
New. Advanced plugin to add a slide in a slideshow with different background colors, background video, transition and other settings.
1.54.14. Plugin Swiper
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.
See PluginSwiper
1.54.15. Plugin Together
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.
https://sourceforge.net/p/tikiwiki/code/67120
https://sourceforge.net/p/tikiwiki/code/67701
https://sourceforge.net/p/tikiwiki/code/67025
https://sourceforge.net/p/tikiwiki/code/66840
See PluginTogether
1.54.16. Plugin TrackerCalendar
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).
1.54.17. Plugin TrackerFilter
Ennhanced. Parameter noflipflop
now defaults to 'y'
1.54.18. Plugin XMPP
New. Enables embedding an XMPP chatroom in a wiki page.
See PluginXMPP.
1.55. Search
1.55.1. Date-based aggregations (a.k.a. facets)
- Date-based aggregations
- Two new date based aggregations (a.k.a. facets) in this commit: ranges and histograms
1.55.2. Unified Index: fall back if Elasticsearch is unaccessible
Delivered to trunk: https://sourceforge.net/p/tikiwiki/code/70075
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.
1.56. System Configuration
1.57. TRIM / 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.
1.59. Webmail
1.60. WebDAV
- Converted WebDAV to http://sabre.io/dav/ (and CalDAV and CardDAV is on roadmap)
1.61. XMPP
- Massively improved Openfire-Converse-Tiki interoperability.
- 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/
- mPDF 7.1
4. Cleanups
http://sourceforge.net/p/tikiwiki/code/66206
4.1. Convert tracker attachments to files script
http://sourceforge.net/p/tikiwiki/code/65966 (also backported to 18.x)
5. Regressions
5.1. Removals
Exact search with ElasticSearch (added in Tiki 18.3) was removed.
5.1.1. Jison
This experiment never got to viability
http://sourceforge.net/p/tikiwiki/code/66804
5.1.2. jQuery.s5
jQuery.s5 is no longer updated, so it was replaced by the Reveal.js library (which is pretty awesome!)
5.1.3. Mods
As of Tiki 19, Mods are completely obsolete. All mods-related code has been removed from Tiki. Details: https://tiki.org/forumthread67983-About-Tiki-Packages-in-Tiki-18-0-LTS-and-why-I-support-this-project-And-mods-tiki-org-can-now-be-scheduled-for-retirement
5.1.4. Report system (experimental)
- 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
PDF viewing will now be done with PDF.js viewer instead
5.1.6. Removed WikiPlugins
5.1.6.1. Plugin Jabber
- PluginXMPP replaces it
5.1.6.2. Plugin PastLink
5.1.6.3. Plugin Report
Was part of the Report System described above.
5.1.7. Removed layout templates
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
- LDAP authentication to the AD is broken in Tiki 19. See https://dev.tiki.org/item7050-LDAP-authentication-to-AD-broken
6. Related
No pages link to Tiki21from18
Alias names for this page:
21from18