History: Tiki18from15
Source of version: 36 (current)
Copy to clipboard
! Tiki 18 from Tiki 15 __This page summarizes all the changes you may find when you upgrade from ((Tiki15)) 'Long Term Support' (LTS) to ((Tiki18)) LTS__. You may also read the partial changes in each version: ((Tiki16)), ((Tiki17)) & ((Tiki18)). * Tiki 18 was released in January 2018. * As it is a Long Term Support (LTS) version, it will be supported for 5 years. * New PHP minimum requirement for Tiki 16-17-18 is PHP 5.6. Tiki 18 also supports PHP 7.0 and is 99.9% ok for PHP 7.1/7.2 (please report any issues) * More information: at the development page https://dev.tiki.org/Tiki18 {maketoc title="" levels="2,3"} __Other changes ''(alphabetically sorted)'':__ !!# Admin UI: enhanced switch to filter preferences #The "hidden" filter preferences checkbox has been replaced by an "always on top" switch to display Basic or Advanced Settings. #The users preferences that were in Community panel are now regrouped in 2 logical tabs under General control panel !!# Advanced Logging Method Tiki has comprehensive built in logging capabilities as part of ((Action Log)) and to a lesser extent ((System Log)). *From Tiki 16 forward advanced logging for high volume sites will be available. **See ((Logging using ELK Stack)) for details. !!# Annotations Tiki Annotations have been added and are powered by [http://annotatorjs.org/|annotatorjs.org] 1.x which is becoming [https://annotator.apache.org/|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. !!# 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. See ((PhantomJS and CasperJS)), ((Browser Automation)) and ((PluginCasperJS)). Initial commit: https://sourceforge.net/p/tikiwiki/code/61402/ (will later be merged to trunk) !!# Comments !!!# Self-subscribe to comments in trackers/articles/wiki pages/blog posts The option to self-subscribe to comments to receive email notifications about replies has been extended to trackers, articles, wiki pages and blog posts. (r59950 & r59951) See ((Comments)) !!!# 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) See ((Comments)) !!# Composer !!!# Composer Dependencies Revamp A ((dev:Composer Dependencies Revamp)) has been implemented. !!!# Composer Web Installer You can install external packages in Tiki, with different copyright license or made optional since they are too big and maybe not intended for all use cases, through a new Control Panel in Tiki: {img src="display1357" link="display1357" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((Composer Web Installer)) !!!# Composer and Satis * All libraries were reviewed to fully take advantage of the convenience of ((Composer)) !!# Console.php New actions can be run from the command line through ((Console|console.php)): * ((PluginListExecute)) action can be run avoiding to use http authentication and the credentials in clear in the command line * Preferences can be set * ((Wiki Plugins)) can be listed, refreshed and approved * Installer can be locked * Files can be copied or moved from a gallery to a regular directory on the filesystem (and inversely) * Fake Tracker items can be created (for performance testing, for instance) through ((Faker)) See: ((Console)) !!# Cron / Scheduler !!!# Web Cron * Now possible to trigger Web Cron from a URL or JavaScript. {img src="display1382" link="display1382" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} !!!# 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. {img src="display1325" link="display1325" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((Scheduler)) !!# CSS & Look and Feel !!!# CodeMirror When ((CodeMirror)) syntax and code highlighter is enabled code listings with -+CodeMirror-code+- class should always show up in monospace font Related commits: ((rev:59870)) Live demo: https://nextdev.tiki.org/tiki-pagehistory.php?page=Development&source=0 Pictures: {FANCYTABLE()}Before: {img type="src" src="display1308" thumb="zoom"}|After: {img type="src" src="display1309" thumb="zoom"}{FANCYTABLE} !!!# CSS-only Masonry Users can create simple CSS-only masonry grid layouts now for their content like pictures from File Gallery or "card-like" items results from Tracker data using LIST - the basic syntax is {CODE(colors="tiki" mediawiki="1")}{DIV(class=masonry)}... list of direct child elements here ...{DIV}{CODE} Example: {CODE(colors="tiki")} {DIV(class=masonry nogaps)}{img type="src" src="display1317" link="display1317" width="800" desc="Click to expand" rel="box[g]" imalign="center" styleimage="border" align="center" title="CSS-only Masonry Example from Tracker Data"}{img src=preview12}{img src=preview13}{DIV} {CODE} 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: {CODE(colors="tiki")} {DIV(class=masonry)} {LIST()} {filter field=tracker_id content=7} {filter field=tracker_field_f_125 content="NOT "} {OUTPUT()}{DIV(class="panel panel-default")}{DIV(class=panel-heading)}{display name=tracker_field_f_125 format=trackerrender}{display name=tracker_field_f_104 format=trackerrender}{DIV}{DIV(class=panel-body)}{display name=tracker_field_f_70 default=""} {DIV}{DIV}{OUTPUT} {LIST} {DIV} {CODE} The output produced would be: {img src="display1317" link="display1317" width="800" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} Learn more: ((Masonry)) Related commits: ((rev:59869)), ((rev:59882)) !!# Database independence As per the ((dev:MariaDB vs MySQL strategy)), several fixes were made to continue to support both: * https://sourceforge.net/p/tikiwiki/code/64280 * https://sourceforge.net/p/tikiwiki/code/64001 * https://sourceforge.net/p/tikiwiki/code/63994/ !!# Faker * ((Faker)) is a tool to generate fake data !!# 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.') !!# Feedback system revamp Thanks to {userlink user="lindon"} for all the hard work, more here ((dev:Feedback)) !!# File Checker * [https://sourceforge.net/p/tikiwiki/code/64335|Tool to detect orphan or extra files] !!# Gap value "humanisation" (used in list, listExecute may be more) The plugin List (or listExecute) is able to filter by range and it used seconds to set the value. {CODE()} {filter range="tracker_field_date" from="now" gap="2592000"} {CODE} it accept now a Human Readable value like '1 hour' or '30 days'. http://php.net/manual/en/datetime.formats.php !!# 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) See ((H5P)) !!# HTTP Headers New ((HTTP Headers)) preferences were added (mainly security-related) !!# Image Gallery to File Gallery migration tool Enable admins to run the migration process from from the web and from command line (php console.php gallery:migrate ) !!# Installation: updated information Letting new users know how to get involved with Tiki. *[https://tiki.org/Join] **Inviting them to Register and get access to all Tiki Community sites through Tiki's InterTiki feature. ***Once part of the community, please feel free to help others, improve the documentation and contribute code. Letting new users know where to get help. *[https://tiki.org/Help] How to become a developer. *[https://dev.tiki.org/Commit+Code] **Tiki is the collective work of hundreds of people. It works because volunteers. ***If you are a coder, help make Tiki better. !!# Mcrypt dependency removal ((dev:Removing MCrypt as a dependency)) was done for ((User Encryption)) and work continues in upstream libraries. Ex: for ((SAML)) support. !!# Media Alchemyst https://github.com/alchemy-fr/Media-Alchemyst support has been added. Only ((PluginPreview)) for now, but more features from this library will be progressively added to Tiki. !!# Menus Menu management has been revamped. Now with drag and drop! {img src="display1410" link="display1410" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((Menu)) !!!# Login-Box Module Menu The ((Module login_box|login box)) in -+popup+- mode can now use a custom menu by using the -+menu_id+- parameter (mainly r64388) !!# Modern Favicons Tiki now handles ((Favicon|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. !!# Multi-resolution images See below [#Plugin_Img] !!# Password blacklist This feature checks a password against a list of the known most commonly used passwords in other places. It's a list that hackers use to try and brute force websites like Tiki. It's estimated that something like 40% of all passwords used sit within the top 100 passwords. (estimates vary, but that's a reference number in some scenarios). The benefits of this feature is preventing people from using passwords that are on hackers brute force lists. See ((Password Blacklists)) !!# Path structure See ((Path structure)) !!# PDF Generation Massive improvements in quality and number of features, using ((mPDF)) and three new wiki plugins: * ((PluginPDF)) * ((PluginPDFpage)) * ((PluginPDFPageBreak)) !!!# New generator (mPDF) {REMARKSBOX(type="information" title="Already in 15.2")} This only concerns upgrades from Tiki 15.1 or earlier. mPDF was added to Tiki 15.2. {REMARKSBOX} ((mPDF)) becomes a new option to create PDFs from your wiki pages. mPDF cannot be bundled with Tiki due to licensing restrictions (and size because of included fonts). But, it is easy to install. A good alternative to ((PluginArchiveBuilder)) See also: *((PDF)) To display PDFs in your wiki you can use ((PluginMediaPlayer)) or ((PluginWebDocViewer)). !!# Permissions * Major work was undertaken to make it easier for site admins to determine what action can be taken by which group. * [https://sourceforge.net/p/tikiwiki/code/64540|Permissions can now be re-ordered] !!# Pivot tables with subtotals Subtotals have been added to ((PluginPivotTable|#Example_4_subtotals_since_Tiki_18_|pivot tables)) !!# Preferences in Control Panels: Slider to display Advanced In ((Tiki16)), and backported to ((Tiki15|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__": {img src="tiki-download_wiki_attachment.php?attId=76&page=Preference%20Filters&download=y"} !!# Print * Now permits a cover page -> ((PluginPDF)) !!!# Print Settings (Control Panel) Since Tiki 16.2, the options related to printing to html or pdf have been gathered together in a new ((Control Panel)) called __Print Settings__. See ((Print Settings)) !!# Profiles * A dry-run option to profiles, to preview what will happen if the profile is applied. * ((profiles:Profile Rollback)) was added, including selective rollback !!!# 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. !!!# 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. https://sourceforge.net/p/tikiwiki/code/63668 !!# Search * [https://sourceforge.net/p/tikiwiki/code/61295/|remove 'no' from the default unified stop words list as it is causing common Checkbox/Radio button tracker fields with yes/no values to stop working with Elasticsearch index type] !!!# Search index rebuild: report statistics Report statistics on the index rebuild process have been extended to indicate also the time spent, memory consumed, number of queries, etc. !!!# Calendars added to Unified Search * Calendars and Calendar Items will now appear in search results Added in [https://sourceforge.net/p/tikiwiki/code/63849|this commit] !!!# Search Engine Friendly URLs * [https://dev.tiki.org/item4014|Display tracker item title in the sefurl] * [https://sourceforge.net/p/tikiwiki/code/64682|Enable the definition of Custom Routes based on static values, alias to objects, regex or tracker fields] !!# Single Sign On with SAML Tiki becomes a SAML Service Provider (SP), thanks to the integration of [https://github.com/onelogin/php-saml|OneLogin's SAML PHP Toolkit]. -> ((SAML)) !!# Sitemap New: A built-in site map XML generator: https://sourceforge.net/p/tikiwiki/code/63719 !!# Smarty Modifier numStyle Format positive integers through smarty, similar to to that of the CSS list-stlye-type. Supported values include: decimal-leading-zero, lower-alpha, upper-alpham, lower-greek, upper-greek, lower-roman, upper-roman, hebrew, georgian, footnote, disc, circle, square, none. See ((Number Style)) !!# Style Guide tool * A new ((Theme Customizer)) tool was added !!# Trackers New or enhanced fields and options in ((Trackers)) !!!# 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. See: * [http://sourceforge.net/p/tikiwiki/code/55639/] * [http://sourceforge.net/p/tikiwiki/code/55664/] !!!# Field CalendarItem * Inherits from the Date Picker field and creates a linked calendar item in the specified ((Calendar)) * The main aim is to allow recurring events to have a tracker item linked to it so tyou can add custom fields * Class name: -+Tracker_Field_CalendarItem+- This was started in [https://sourceforge.net/p/tikiwiki/code/63850|this commit] !!!# Field conversion possible for certain fields Since ((Tiki18)), it's now possible to convert certain tracker fields: * dropdown, dropdown with other, radio buttons, email, text, url TO dropdown, dropdown with other, radio buttons, multiselect, email, text, text area, url * multiselect TO multiselect, email, text, text area, url * datetime and jscalendar TO each other * autoincrement, currency and numeric TO dropdown, dropdown with other, radio buttons, multiselect, text, text area, numeric, auto increment, currency This was done in [https://sourceforge.net/p/tikiwiki/code/62283|this commit] !!!# Field Group selector extended Since Tiki 16.2, group selector tracker field allows to set Email Notification for all the users in the select group. {img type="src" src="display1346" thumb="zoom"} See: ((Group selector)) !!!# Field Location ((Location Tracker Field)): Added address lookup options from other fields in the same tracker. !!!# Field Item Link ((Items List and Item Link Tracker Fields|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 "((Items List and Item Link Tracker Fields|item link))": # the user interface of the table display reuses the features of ((PluginTrackerList)), which opens the door to have custom inline editable fields, sortable tables, etc. See ((Items List and Item Link Tracker Fields)) + {img type="src" src="display1345" width="300" thumb="zoom"} # 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. + {img type="src" src="display1340" width="300" thumb="zoom"} 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 ((pr:Work_Custom_Pricing)) !!!# Field Mathematical Calculation Enahcned. The new formula -+clean+- (from the ((Calculations|Advanced Rating Syntax language)) ) has been added to the ((Mathematical Calculation Tracker Field)) in Tiki 18.2 See ((Calculations|Advanced Rating Syntax language)) !!!# Field Static Text Enhanced. Since Tiki16.2, a new option in tracker field StaticText allows to use "pretty tracker" syntax in them to enable values from other fields in that tracker to be displayed per item. It currently works with: * __fieldId__ (e.g. -+{$f_42}+-), or * __permName__ (e.g. -+{$f_exampleField}+-, * __plugin arguments__ (e.g. -+~np~{img fileId="{$f_42}"}~/np~+-). As of Tiki 16.2, it only gets id's for Categories and ItemLink fields, but it could be extended later. See ((Static Text Tracker Field)). !!!# 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: {img type="src" src="display1347" thumb="zoom"} 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. {img src="display1328" link="display1328" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((User selector)) !!!# 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. !!!# 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. See ((Adding fields to a tracker)) !!!# Tracker Mail notifications enhancements New in 17.2: https://sourceforge.net/p/tikiwiki/code/64147 -> "Expose pretty tracker fields, field names and changed/old values to tracker changed notification emails" !!!# Tracker prefix for field permanentNames You can set a prefix in each tracker configuration to get prepended to the ((Permanent Names)) automatically generated for its tracker fields. This helps the process to have all tracker fields have consistant names with a common prefix corresponding to the tracker where they belong to, and facilitates using the right field in advanced setups with ((PluginList)), ((PluginListExecute)), ((PluginPivotTable)), ((PluginTrackerCalendar)), ((PluginMap)), etc. !!# Translatable preferences https://dev.tiki.org/item3030 !!# Typography * ((Typography)) support has been added, via [https://github.com/michelf/php-smartypants|PHP SmartyPants] !!# Unified Search Index reports engine and version When the unified search index is rebuilt, there unified index engine and version are reported. See ((Search and List from Unified Index)) !!# 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|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 ((themes:Tiki_org_family_customizations_CSS|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. {img src="display1393" link="display1393" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} !!# Wiki Plugins New or improved plugins, as well as generic improvements to many of them at once: !!!# Filter UI in any plugin using unified search index Since Tiki 16.2, any plugin using unified index search formatter and wikibuilder (aka filter, output, display, format, etc. wiki syntax, such as ((PluginList)), ((PluginPivottable)), etc) now accepts -+{filter field=... editable=...}+- syntax to allow user enter a search value instead of hard-coding it. This means a trackerfilter-like functionality for unified index-based plugins. You can see this feature in action if you apply profile ((pr:Bug_Tracker_16)) {img src="display1338" link="display1338" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} !!!# PluginArchiveBuilder Enhanced plugin. Since Tiki 16.2, it can work with files in file galleries also; i.e. it can collect all files, from the file gallery, on a tracker item and store them in folders. See ((PluginArchiveBuilder)) !!!# Plugin Benchmark Use this ((wiki plugin)) to perform some benchmarking analysis of the parsing of the wiki page or tiki object where the plugin is called in. See ((PluginBenchmark)) !!!# 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. See ((PluginCasperJS)) !!!# PluginChartJS New plugin. Generate Doughnut- and Pie-type charts. See ((PluginChartJS)). !!!# Plugin Edit form Totally rewritten and now using Bootstrap modal and proper AJAX services !!!# PluginFade Enhanced plugin. New parameter bootstrap ('y' or 'n') added, to generate bootstrap collapsible box instead of the previous html code. See: ((PluginFade)) !!!# 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 ((PluginSplit|Split plugin)), which creates a table for content layout, a deprecated method. See ((PluginFluidGrid)) !!!# Plugin H5P New ((wiki plugin)) 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. See ((PluginH5P)) !!!# Plugin HTML New param -+tohead+- was added to the HTML wiki-plugin to allow insertion of the HTML tags to the HTML -+<head>+- instead of rendering them in the content of the page. See ((PluginHTML)) !!!# PluginIframe Enhanced plugin. Added responsive-embed option by default. See ((PluginIframe)). Related commits: ((rev:59375)) !!!# 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 [https://en.wikipedia.org/wiki/Retina_Display|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. See ((Multi-resolution images)) and ((PluginImg)) !!!# 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. See ((PluginList)) !!!# LISTEXECUTE Plugin Enhanced plugin. Added OUTPUT option, same syntax as ((PluginList output control block|LIST - OUTPUT command)), which also allows for context filtering and inline edition of records before mass execution of actions on groups of items. Added ((Calculations)) calculations as ListExecute actions Since Tiki 16.2, two new actions have been added: __filegal_rename__ and __filegal_image_overlay__, and it can currently also be run from ((Console|console.php)). The EmailAction gets extended to be able to send pdf versions of wiki pages (new option -+pdf_page_attachment+-) See ((PluginListExecute)) !!!# 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 ((PluginList - Graphical User Interface)) !!!# 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. See ((PluginMetaTag)) !!!# PluginPaymentList New Plugin, introduced in Tiki 16.2. It shows payments in various ways, respecting perm payment_view. {CENTER()}{img type="src" src="display1339" thumb="zoom" width="600"}{CENTER} See: ((PluginPaymentList)) !!!# Plugin PDF Enhanced plugin. It allows to set a cover page. See ((PluginPDF)) !!!# PluginPivotTable New plugin, introduced in Tiki 16.2. It allows creating summary tables or charts using ((Trackers|tracker data)) through the ((Search and List from Unified Index|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. {CENTER()}{img type="src" src="display1312" thumb="zoom" width="600"}{CENTER} Since ((Tiki18)), new renderers were added to allow displaying subtotal sums for rows in the table, through the [https://sourceforge.net/p/tikiwiki/code/63010|addition] of [http://nagarajanchinnasamy.com/subtotal/|subtotal.js] to the plugin. {img src="display1383" link="display1383" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((PluginPivotTable)) !!!# Plugin TrackerCalendar Enhanced plugin. It allows the user to set the colormap for the events based on the priority. See ((PluginTrackerCalendar)) !!!# Plugin Shorten New plugin. It allows to show/hide a portion of a text. See ((PluginShorten)) !!!# 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)) !!!# 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. See ((PluginTracker)). !!!# PluginTrackerCalendar Since ((Tiki16|Tiki 16.3)), you can expose some filter fields on top of the calendar, which will allow the user to select values and filter in real time. {img src="display1329" link="display1329" width="400" rel="box[g]" imalign="center" desc="Click to expand" align="center" styleimage="border"} See ((PluginTrackerCalendar)) !!!# PluginWikiDiff Enhanced plugin. Hide version info by default and add a parameter to be able to show it again (thanks marclaporte; ((rev:59878)).) See ((PluginWikidiff)). !!# Wiki Syntax and WYSIWYG !!!# 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 ((Wiki-Syntax Lists|#Multilevel_style_numbering|Multilevel style numbering)) on ordered lists set globally (disabled by default). !!# XMPP client (ConverseJS) * ((XMPP)) !!# 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. !!# 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. {ANAME()}Upgrade{ANAME}{ANAME()}upgrade{ANAME}{ANAME()}Install{ANAME}{ANAME()}install{ANAME} !!# 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 [https://dev.tiki.org/svn+tips#Important_note_for_switching_between_16.x_and_17.x|find these notes] helpful when doing ''svn switch''. Also, see ((Upgrade|the standard information about upgrades in Tiki)). !!!# 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. !!!# 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+-. !!!# Backwards-incompatible changes !!!!# Favicons ((Favicon|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|http://realfavicongenerator.net] !!!!# 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. !!!!# 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. !!!!# Plugin TopFriends removed ((PluginTopFriends)) was removed (because it had been broken for a while, and not worth fixing). !!!!# Screencast (jCapture) removed jCapture for ((Screencast|Screencast)) feature has been removed. More information: https://dev.tiki.org/Endangered+features !!!!# Webservices tracker field with ElasticSearch A minor change was added to Webservices Field with ElasticSearch: * For advanced use with custom smarty templates * 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)'' See [http://sourceforge.net/p/tikiwiki/code/64521|this commit] for details !!!!# 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 [https://profiles.tiki.org|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 [https://profiles.tiki.org/tiki-pagehistory.php?page=Execute+on+List&history_offset=1&diff_style=sidediff&diff_style=sidediff&show_all_versions=y&compare=Compare&newver=0&oldver=22&tra_lang=sq&paginate=on&history_pagesize=25|has been fixed here]. !!!# Known Issues !!!!# 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) -=Alias=- (alias(18from15)) | (alias(Tiki 18 from 15))