---json { "canonical": ":release:1.22", "date_published": "2022-01-11T00:00:00+00:00", "description": "This page lists the changes for the combostrap release 1.22", "name": "Release 1.22", "page_id": "r0lxbwsdlptyufsgsamiv" } --- ====== Release 1.22 ====== ===== About ===== This is one of the biggest release of ComboStrap so far. * we have introduced an [[docs:page:page_id|unique id for each page]] that permits: * a better integration with the database and external application * to offer [[docs:page:url|permanent page url]] * the ''url manager'' has been renamed to ''router'' because it's what it does: * it will route the request of your website or even [[docs:router:ban|deny them if]] * it will now redirect all requests to the unique [[docs:page:url|page url]] * the [[docs:metadata:manager|new metamanager]] permits to change the metadata via a form, no need to update manually the [[docs:metadata:frontmatter|frontmatter]] * the [[docs:quality:dynamic_monitoring|quality monitoring message]] has moved to the railbar * and on the top of cherry cake as we don't want to move the focus from the current page, we have put the [[docs:navigation:backlink|backlinks action]] in a modal. And a lot more. See below for the whole details. ==== Update ==== We don't publish new release when they have not been tested by our key clients. Unfortunately, some users have seen it and have published it on Dokuwiki on their own. We are sorry for the inconvenience. The last version is the 1.22.1 that corrects bug found during the production phase test. The most well severe bug are: * crash when a page is created because of a missing page id (null error because sqlite returns an empty string and not null) * the page image was deleted from the frontmatter if enabled when the meta manager was used. ===== Action ===== * You need to update the index with the [[support:plugin#search_index_manager|search index manager]] * If you want to have the ''canonical path'' reported in place of the ''page path'' in the [[docs:analytics:google_analytics|google analytics metrics]], you should [[docs:page:canonical#Google Analytics|enable it]]. ===== List of changes ===== ==== New ==== * The [[docs:page:system:index|home]] page attribute ''is_home'' in order to be able to select the home pages within [[docs:templating:sql|page sql]] * The [[docs:content:link#enableenhancedlinkwizard|enhanced link wizard]] to search also on path, title, heading and name of a page. * [[docs:templating:sql|Page SQL]] can now return [[docs:navigation:backlink|backlink pages]] * ''references between pages'' (ie [[docs:content:link|link]] and [[docs:navigation:backlink|backlink]]) are now [[docs:analytics:replication|replicated]] in the [[docs:analytics:database|database]] * The [[docs:layout:component:grid|grid]] layout can now be used within an [[docs:templating:iterator|template iterator]] * [[docs:page:description|description]] is now loaded into the [[docs:analytics:database|database]] * Added microsoft ''codicon'', ibm ''carbon'' and ''logos'' as [[docs:content:icon|icon library]] * Added a page on the internal search engine. See [[docs:app:search]] * Lockfile protection for the [[support:plugin#move|move plugin]]. When a move goes wrong, a lock file may stay in the data directory. If the lock file age is bigger than 5 minutes. * We cancel any move * We send a message * A [[docs:locale:lang|language region]] will be determined from the server if not set. * Every page gets now a generated unique [[docs:page:page_id|page id]] * The [[docs:metadata:viewer|metadata viewer window]]. A window that shows all raw metadata known by your installation for a specific page. * The [[docs:router:alias|page alias]] have migrated into a table with the [[docs:page:page_id|page_id]] as foreign key. * The [[docs:router:permalink|permalink component]] permits to add a permalink to a page. * The [[docs:page:page_id|page id]] is now the real [[docs:router:permalink|permalink]] that performs a [[docs:router:permanent|permanent redirection]]. * [[docs:router:ban|Bat Bot Scanning protection]] with shadow banning against well-known path. * The [[docs:page:canonical|canonical path]] can be used instead of the [[docs:page:system:path|page path]] for [[support:plugin#google Analytics|Google Analytics]] * We have created a dedicated page for the [[docs:app:name|app name]] * The [[docs:page:url|page url]] may be now permanent * The ''url manager'' is now known as the [[docs:router:router|router]] and performs now better [[docs:router:redirection|SEO redirection]]. * The [[docs:page:slug|slug metadata]] that can be used to create custom [[docs:page:url|page url]] * We support now a migration from the [[support:plugin#plugin_description|plugin description]]. (ie the description is read but not written back) * You can set [[docs:page:keywords|Keywords]] (because this was asked gently) * The [[docs:cache:page_expiration_frequency|page cache expiration frequency]] can be managed in the [[docs:metadata:manager|metadata manager]] * In the [[docs:metadata:manager|cache tab of the metadata manager]], you can see now the [[docs:cache:page|cache hits of the slot of a page]]. * The [[docs:quality:dynamic_monitoring|dynamic quality monitoring]] is now a rail action. The writer will not see them at the top of the editor but in the railbar. * The [[docs:menubar:search|search box]] is now based on Bootstrap DropDown and Popper for the placement. No need of the Dokuwiki Javascript bundle * The [[docs:navigation:backlink#action|backlink action]] item is now a modal. You don't need to change of context and you stay on the actual page. ==== Deprecated ==== * The [[docs:metadata:frontmatter|frontmatter]] can still be used to enter metadata but the [[docs:metadata:manager|metadata manager]] is the recommended way. * The ''autofrontmatter'' feature has been deleted (due to the advent of the [[docs:metadata:manager|metadata manager]]. * With the advent of the [[docs:metadata:viewer|metadata viewer window]], * the metadata does not need to be show in the editor and therefore the ''enableMetadataViewerWhenEditing'' configuration became obsolete and was deprecated. * the special [[docs:type:organization|organization field]] has been deprecated. You should use now the [[docs:social:google#json-ld|json-ld field instead]] * The dokuwiki [[docs:content:link|link class syntax]] has been dropped. The styling follows completely bootstrap except for Interwiki that requires a background styling for the icons. * The [[release:deprecated:cache|cache syntax component]] has been deprecated for the [[docs:cache:page_expiration_frequency|cache page expiration frequency metadata]] ==== Improvement ==== * The [[docs:analytics:replication|data synchronization process]] is now treated as a real replication and got a ''date_synchronization'' and a [[docs:page:page_id|universal id]]. The synchronization is now also based on the database version file. * the [[docs:analytics:replication|replication table]] ''ANALYTICS_TO_REFRESH'' has been renamed to ''EVENTS_QUEUE'' and an introduce asynchronous event functionality. * the [[docs:metadata:frontmatter|frontmatter]] metadata are [[docs:analytics:replication|replicated]] directly to avoid inconsistency with [[docs:templating:sql|page sql]] * The [[docs:social:google#json-ld|google json-ld]] supports now a full json-ld value. It's easier to valid it with the playground for the user. * The lock file created by the [[support:plugin#move|move plugin]] is now checked for every parse. It was only checked for page move and was purging page automatically each time making the site really slow. * The [[docs:cache:slot|side slots cache management]] removes the cache only when one of the description attributes is updated (ie name, title, h1, description) * The [[docs:page:title|page title]] for a web page has been enhanced with the [[docs:page:system:index|namespace name]] and [[docs:app:name|website name]] * The [[docs:utility:disqus|disqus identifier]] is now the [[docs:page:page_id|page id]] by default. * The [[docs:diagram:railroad|railroad diagram library]] is now served as resource with the no-transform attribute and will then not be transformed by a proxy. ==== Changes ==== * The acronym / name of a [[docs:content:icon|icon library]] follows the library name of the [[https://icon-sets.iconify.design/|iconify search engine]]. Therefore: * for bootstrap, ''bs'' is now ''bi'' * for material design, ''md'' is now ''mdi'' * To support the old icon library, the icons are not moved to the new directory. * The ''country'' metadata is now known as the [[docs:locale:region|language region]] to be more accurate as the region is often but not always a country. * The ''buster'' key has been changed to ''tseed'' to be in line with dokuwiki. * The [[docs:router:bestendpagename|best end page name]] redirection algorithm will create an [[docs:router:alias|redirect alias]] if the score is bigger than 2. This behavior can be disabled with the [[docs:router:bestendpagename#configuration|BestEndPageMinimalScoreForAliasCreation configuration]]. * The url manager is now known as the [[docs:router:router|router]] to reflect the fact that it routes request to the correct page. This is due to the new [[docs:page:url#permanent|permanent url]] and [[docs:router:ban|ban]] features. * The [[docs:navigation:hierarchical_breadcrumb|hierarchical breadcrumb]] uses now the [[docs:page:name|page name]] in place of the [[docs:page:title|title]] (Sort of bug) * Because of the [[docs:menubar:search|autocompletion for the search box]], Popper was needed and strap template now does not use the Bootstrap bundle but includes bootstrap and popper. No changes should be seen expected the fact that popper is now available in the global scope ==== Bug ==== * After a change in the [[docs:performance:svg_optimization|svg optimization]], the svg shown will not refresh. Cause: The [[docs:cache:static|static cache]] ''buster'' was using the time of the original SVG file and not from the optimized file. * Not able to navigate to an heading from a link fragment for a [[docs:content:link#internal|internal link]]. Bug: the fragment was not qualified as fully section id (letting spaces in it) * The first rendering of a [[docs:content:svg|SVG]] would be empty. The cause root was that the buster calculation of the [[docs:cache:static|static cache]] would close the rendering of the svg and the src would set not be added. Resolution: we make a difference between request and response attribute and we have added an error message when the tag attributes are finalized twice. * The ''svg'' cache was not dependent on its [[docs:performance:svg_optimization|optimization configuration]]. * The new [[docs:metadata:date_format|date format]] was not applied on the [[docs:page:published|published date]] causing a not valid date error message. * A page move would create two pages in the [[docs:analytics:database|database]]. The move is now automatically [[docs:analytics:replication|replicated]] making it consistent. * Bug: The [[docs:content:image|media]] statistics was crashing the page because it was asking the image and not the media file on third media such as video, pdf, ... * [[docs:performance:lazy|lazy load]] on small [[docs:content:raster|raster image]] was showing a broken image at page load because the placeholder was not set. * bug: [[docs:navigation:outline|outline numbering]] was not reset for the heading level 3 * [[docs:social:facebook|facebook]]: the mime type of the [[release:deprecated:images-meta|image]] was returning only the first letter of the mime (A refactoring has modified the mime type to a string in place of an array and as php allows to take the first element of string (ie a letter), no error was reported) - A test has been added. * The [[docs:router:message|redirection message]] was not shown when the [[docs:router:search_engine|redirect to search engine]] was performed. * [[docs:content:footnote|footnotes]] styling were missing * The ''diff'' panel had no styling. * If there was a point in a [[docs:page:system:path|page path]], the default [[docs:page:name|page name]] was deleting all character after this point thinking that it was an extension. * The configuration [[docs:content:heading#headingWikiEnable|headingWikiEnable]] was not in the configuration panel.