1.3. Annotations

Tiki Annotations have been added and are powered by annotatorjs.org 1.x which is becoming Apache Annotator in the future. This is an optional replacement in Tiki18 for Inline Comments with a much nicer interface, and with more potential for expanding the feature set.

1.4. Browser Automation

Web Scraping with PhantomJS and CasperJS: PhantomJS is a headless WebKit with JavaScript API, and therefore, it is an optimal solution for fast headless testing, site scraping, pages capture, SVG renderer, network monitoring and many other use cases. CasperJS is a navigation scripting & testing utility for PhantomJS among others.

1.5.2. E-mail notification of replies to non-registered users

Since Tiki 16.2, non-registered users (also known as "Anonymous" users in Tiki) that provided their emails in the corresponding field next to their comments can get notification emails of the replies to their comments. (r59950 & r59951)

1.8. Cron / Scheduler

1.8.1. Web Cron

Now possible to trigger Web Cron from a URL or JavaScript.

Click to expand

1.8.2. Scheduler (cron jobs)

An internal scheduler is added to Tiki, so that only one cron job needs to be defined in the system crontab (or Windows Scheduled Tasks), and all actions to be run at scheduled times can then be defined from within the Tiki admin panel.

This will show previews of images from File Gallery in the masonry grid with no gaps between them.

And the following code would display items from Tracker 7 in Bootstrap styled default panels (feature logo and name with link in the header, plus the feature description in the body, for the items with logo provided - "NOT the empty ones") in the masonry grid:

1.11. Faker

1.12. Fallback for Tiki base URL

The full URL to the Tiki base URL including protocol, domain and path (example: https://example.com/tiki/), used when the current URL can not be determined, example, when executing from the command line.')

1.16. H5P

H5P allows to create, share and reuse interactive HTML5 content in your browser.
Tiki17 comes with the ability to display H5P objects, as well as an editor to create or modify them.
H5P was upgraded in Tiki18 from 0.12 to 0.16 (which is a major upgrade with lots of new features, and a database structure upgrade)

1.22. Menus

1.22.1. Login-Box Module Menu

The login box in popup mode can now use a custom menu by using the menu_id parameter (mainly r64388)

1.23. Modern Favicons

Tiki now handles modern favicons for Android, iOS, Safari, Chrome and FireFox. Bookmarking, quick navigation screens and desktop links to tiki sites can now be displayed with handsome buttons that match the flavor of the device being used. Favicons are also now handled via tiki themes and can be overridden by the user and be included as part of a custom theme.

1.29. Pivot tables with subtotals

1.30. Preferences in Control Panels: Slider to display Advanced

In Tiki16, and backported to Tiki15.3, a slider has been introduced to allow showing the advanced preferences in the Control Panels more easily. The funnel is shown only when the slider has been moved to show advanced preferences. If you want your preference to be permanent, you need to click as usual on the button "Set as my default":

1.32. Profiles

1.32.1. Profile Export: include-files

A new option 'include-files' has been added to Export Profiles from command line, so that Files in the FileGallery can also get exported files (instead of only allow url references). In addition, it also allows local file import.

1.32.2. Profile Export: tracker items

A new option 'tracker-item' has been added to Export Profiles from command line so that tracker items can be also included in the exported local profile.

1.37. Style Guide tool

1.38. Trackers

1.38.1. Tracker Transaction

Trackers had the ability to be filled in steps through multiple wiki pages, but they currently also have the chance to have the changes of all those pages committed only in the last step. This means that, before this Tiki version, each step (implemented manually with wiki pages and custom plugin tracker calls) was inserting or updating data to the tracker item.

1.38.5. Field Location

1.38.6. Field Item Link

Item link: Added the ability to display results in a table, and to select items from a list with checkboxes in order to have a Mathematical Calculation Tracker Field process some math out of some numeric fields provided in the linked items.

Since Tiki 16.2, new options have been added to tracker field "item link":

that tracker field can display items from the remote tracker which match the value of the common field between the two tracker plus those with a wildcard (asterisk, *) in that field.

An Update button is shown then below the table, which will proceed as follows:

all selected wildcard items are cloned and become linked items

all selected normal items stay the same

all unselected normal items are deleted

This allows users to make some selections, update, then edit as necessary. Cloned items are safe to edit (they no longer edit the wildcard item but the cloned one), and then save the whole form.
The Update button makes sure this works for new items when we still don't have the itemId to clone to, etc.

In addition, you can get sums of values of the linked tracker items in a mathematical calculation field in the same source tracker. See an example in the profile Work_Custom_Pricing

1.38.9. Field User selector extended

Since Tiki 16.2, user selector tracker field alows selecting multiple users, and that selection can be on a full list of site users, of filterable by groups of users:

This is also useful for notifications to user creators/owners of a tracker item, to handle permissions per item when no full permissions are granted in the whole tracker level but only to the items that the user is set as creator/owner of the item.

Inaddition, since Tiki17, several users can be marked as ItemOwner to drive permissions

Added the ability to mark UserSelector tracker fields as ItemOwner, so they drive the permissions rather than the first ordered auto-assign field.

1.38.10. Tracker item permissions

Since Tiki 16.2, the core tiki permission system has been extended to allow trackeritems inherit object permissions from parent trackers.

The side effect is that permission levels are now composed allowing for greater flexibility, i.e. object permissions are complemented with category permissions and then with global permissions, which in fact has been the expected behavior, but it was not always enforced in edge-case-usages of trackers.

1.38.11. Tracker field permissions

Since Tiki 16.2, a new case has been added: admin_editable_after: non-admins can insert but not update and still are able to see the field. Administrators can edit that field.

1.41. Unified Search Index reports engine and version

1.42. Wiki Pages

In Tiki 17, the new css param was added to Raw page display to allow usage of a wiki page as a CSS file download resource with MIME type text/css. This can be useful if you have more sub-sites sharing the same CSS customizations. You do not need to copy-paste them (and keep track of changes) into the Custom CSS anymore. You can just put a stylesheet @import there or link to the one page using Look & Feel → Customization → Custom HTML <head> Content on all of them. When the page changes it will update on all the sites sharing the CSS code. It has also benefits of keeping the history of changes on that CSS code, locking or removing the edit permissions on that page and collaborative editing possibility. See this page as an example.

Since Tiki 18, an HTTP redirection can be set when renaming a page and when removing a duplicate page. Previously, any time a Wiki page was renamed or deleted, access to existing addresses (URL-s) via bookmarks or search engines would fail. To prevent that, it’s now possible to indicate a new page, to which an SEO-friendly, automatic redirect from the old page name is created.

Click to expand

1.43. Wiki Plugins

New or improved plugins, as well as generic improvements to many of them at once:

1.43.3. Plugin Benchmark

1.43.4. Plugin CasperJS

New wiki plugin to allow using "CasperJS" in Tiki, which is a navigation scripting & testing utility for PhantomJS and SlimerJS (still experimental). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks.

1.43.7. PluginFade

1.43.8. Plugin FluidGrid

New wiki plugin to create a Bootstrap responsive grid (see https://getbootstrap.com/examples/grid/) in Tiki's wiki text areas. That is, rows and columns of text, images, etc. can be created that will be arranged horizontally in wide screens but will respond dynamically in smaller screens so that good visibility of content is maintained.

This is a modern, "best practices" alternative to using the Split plugin, which creates a table for content layout, a deprecated method.

1.43.11. PluginIframe

1.43.12. Plugin Img

Enhanced plugin. A new option called 'retina' was added. If you have a fixed width image, it will pull up a 2x version of the image for users with retina display (and 1x for users who don't). Note: source needs to be at least 2x the size of the width of the image being displayed.

1.43.13. LIST Plugin

Enhanced plugin. Added format=categorylist in the subplugin display, to display category names instead of category id's. It can have an option parameter: separator=" "; otherwise, the default separator is comma (,).
See PluginList display control block

LIST can now return only a given set of values, which is useful to filter the results or return results in a specific order.

1.43.15. Plugin List GUI

Beginnings of a Graphical User Interface for plugin list. Experimental so far and needs to be enabled on admin/textarea/plugins. A start of a documentation page can be found at LIST - Graphical User Interface

1.43.16. Plugin MetaTag

New plugin. It allows to insert one or more custom <meta> tags in the HTML <head> of the page where the plugin is present.
This is useful when you want to provide custom meta tags per page, e.g. for sharing with a specific image on Social Networks.
As the meta tags are invisible and could be misused to provide false information about the shared page and also the body (data) of the plugin can be provided as raw HTML it always requires plugin approval by trusted site Admin/Editor on each edit.

1.43.18. Plugin PDF

1.43.19. PluginPivotTable

New plugin, introduced in Tiki 16.2. It allows creating summary tables or charts using tracker data through the unified search index to produce the pivottable report of your choice. Results for the variables of interest (tracker fields, as well as creation_date, modification_date and tracker_status of the items) are aggregated by some criteria selected by the user.

Since Tiki18, new renderers were added to allow displaying subtotal sums for rows in the table, through the addition of subtotal.js to the plugin.

1.43.21. Plugin Shorten

1.43.22. PluginTOC

Enhanced plugin. Added: mindepth parameter to display the structure sub-items from any level and not only from top level.
Added: Alphabetic sorting
See toc

1.43.23. PluginTracker

Enhanced plugin. Added showcomments option, enabled by default for backwards-compatibility. If you set it to "n", then the column about comments count and/or last author wil be hidden even if it is enabled in the tracker level.

Additionally, in 16.3, email recipients option allows to set fieldId of a UserSelector (including multiple users selected) and GroupSelector.

1.43.25. PluginWikiDiff

1.44. Wiki Syntax and WYSIWYG

1.44.1. Multilevel style numbering for ordered lists

New preference "Multilevel style numbering for ordered lists" was added to "Editing & Plugins" control panel which allows to have Multilevel style numbering on ordered lists set globally (disabled by default).

1.45. XMPP client (ConverseJS)

1.46. Custom translations

Uploading of custom translations has been changed to use JSON formatted text files, also options are added to manage different processing types of uploaded files (eg: merge with existing, replace, etc)
It is also possible to download translations as custom.php and custom.json from the user interface.

1.47. Webservices

Numerous fixes and updates including: support for JSON "post body" content type, direct indexing of webservices so the results available in list plugins etc (using the index and mindex output type of webservice "template"), moved management of web services to tiki-admin_webservices.php. General reliability and performance improvements.

1.48. Upgrading

New PHP minimum requirement for Tiki 16.x is PHP 5.6

Note for SVN users: due to several changes in the file structure of Tiki for version 17+ you may find these notes helpful when doing svn switch.

1.48.1. ElasticSearch 2 to 5

If you are upgrading from Elasticsearch 2 to 5: Since ES automatically updates 2.x index to 5.x first time it starts - you can see some errors then. First time it rebuilds index might also show errors due to the automatic upgrade problems. However, once it builds the index on 5.x, then further rebuilds must not have errors. So, 2 index rebuilds after upgrade is the safest path to go.

1.48.2. Downgrades

Note that if you use a Tiki 16+ database on an older version of Tiki you will probably not be able to log in and will get an error message saying Unknown password format.

1.48.3. Backwards-incompatible changes

1.48.3.1. Favicons

Favicons have undergone a fundamental change in the way they are handled. When upgrading, you will need to move your favicons into /themes/yourtheme/favicons. Renaming your favicons may also be necessary. Browse to /themes/base_files/favicons to see the file names you may override with custom favicons. Using a custom named favicon-16x16.png will prevent any of the tiki favicons from displaying on your website, so upgrades should be easy. You may also choose to upgrade your favicons. Generating new modern favicons takes 5 minutes at http://realfavicongenerator.net

1.48.3.2. File Whitelisting

Tiki now uses file whitelisting as an extra security precaution. This will affect Tiki subdirectories. If you have added additional files into the Tiki directory structure, you may not be able to browse to them any longer.

Whitelisting is based on file types, so adding a similarly named file should be ok. e.g. files used for themes won't be affected in the themes directory etc.

Files in the tiki root directory will not be affected.

Any custom subdirectory placed within the home directory will not be affected.

Files uploaded to the file gallery will not be affected.

Only browser access to these files will be affected, so PHP access to these files remains unchanged.

We recommend that you place all your theme related files in your theme folder, and any additional files within a custom directory placed in the web root.

You may whitelist more files by modifying the htaccess file (or equivalent server file) located in the directory of the files you need to whitelist.

1.48.3.3. Image Redirects from Tiki 9 Disabled

For the release of Tiki 9, many of locations of images in tiki changed. We have until now redirected those images from the old location to the new location. We have disabled those redirects in Tiki 17. If you have a theme or otherwise use these pre-tiki 9 image locations, they will stop working. You are urged to update the image locations within your code. Alternatively, you may re-enable the image redirection by uncommenting them from your htaccess file.

1.48.3.4. Plugin TopFriends removed

PluginTopFriends was removed (because it had been broken for a while, and not worth fixing).

1.48.3.6. Webservices tracker field with ElasticSearch

The fieldname_json data is now indexed differently for elastic search, because storing json as plain text (with some values) prevents the item from being stored in the index.

N.B. This will require changes to custom templates using these values, i.e. from
{$jsondata = $row.tracker_field_webserviceField_json|json_decode:true}to
{$jsondata = $row.tracker_field_webserviceField_json|json_encode|json_decode:true}(the extra encode then decode is to change from objects to associative arrays for use in smarty)

1.48.3.7. Profiles - YAML parsing

We updated our YAML parsing library and the parser is now more strict so you need to be aware of some formerly valid invalid syntax which is not accepted as valid anymore with the new library:

if you have foo:bar as your key: value pair in your Profiles you need to update the code to contain a space after the colon otherwise loading of the profile will fail (most of the Tiki official profiles fixed now), e.g. foo: bar or allow: [] will be correct

if you have some tracker item values defined as empty (null) in your profile, instead of letting a position of the array empty, you need to add null explicitly (or ~ should work also as null).
Example of a profile affected by this issue which has been fixed here.

1.48.4. Known Issues

1.48.4.1. H5P not compatible with "Inline comments (annotations)"

For 17.0 at least H5P plugin content will not be shown properly if the feature_inline_comments pref is enabled. This will be resolved in future releases (by upgrading the annotator.js library)