---json { "cache_expiration_frequency": "@daily", "name": "Release 1.25", "page_id": "17jxp17s3ehrtm0q3tu65" } --- ====== Release 1.25 - Layout all the way! ====== ===== About ===== The release ''1.25'' is a big release that brings theming and slot management. You should read carefully the below actions before upgrading. If you get any trouble, don't hesitate to [[:support|contact me]]. ===== Actions before upgrading ===== ==== Breaking: We don't support PHP 7.2 and 7.3 ==== Due to a bug in our dependencies, we have upgraded them, and they are only available from 7.4. Because 7.2 and 7.3 are already end of life, we have taken the decision to upgrade and not support them anymore. ==== Choose the Dokuwiki template ==== The strap template has been deprecated. Combo uses its internal template system called [[:docs:theme:theme|theme]]. In the [[:docs:app:configuration|configuration]], you should then select the default DokuWiki template. If you have already upgraded Combo, and have template problems, you need to delete the below line in the file ''DOKUWIKI_HOME/conf/local.php'' on the server ```php $conf['template'] = 'strap'; ``` ==== Migrate your configuration ==== Because Strap is now incorporated into the combo plugin, you need to migrate your configurations if you have changed the default one. * The slot header name ''combo-conf-008'', * The slot footer name ''combo-conf-009'' * The [[:howto:bootstrap-custom|custom stylesheet]] * The [[:docs:styling:scale|font size]] `Rem` configuration * The minimum size to embed inline ''combo-conf-003'' (includes all resources svg, Javascript, Css, Code) * The ''svgUploadGroupName'' configuration has been replaced by a [[:docs:app:designer|designer group]]. You should migrate the name of the group of your privileged users in the configuration ''combo-conf-006''. * If you were using [[:docs:ads:inarticle|in-article Ads]], they have now a configuration to enable or disable them. You need to enable them specifically. ==== Choose the DokuWiki Renderer ==== Because Strap is now incorporated into the combo plugin, the [[:release:deprecated:renderer|rplus renderer]] has been deprecated and you should set the renderer back to the default DokuWiki renderer. ==== Web Component Syntax ==== Due to [[:support:performance|performance enhancement]], all [[:docs:marki|Web Component syntax]] is now captured once. It means that: * you should escape the ''XML'' syntax. %%%% * All empty tags should be closed. ```dw
should be written
should be written should be written should be written should be written should be written ``` ==== Variable Syntax ==== A page is now a complete [[:docs:templating:variable|template and accepts all variables]]. We capture all ''%%$name%%'' or ''%%${name}%%'' variables. It means that all ''%%$%%'' signs should be escaped if you don't want to see a warning message. Example %%$name%% * If you used the `mermaid` tag, you should change replace it by [[:docs:utility:webcode|webcode]]. A bug has been introduced with the `mermaid` release. The mermaid tag was never intended to be used. ==== Content Header Slot ==== With the [[:docs:theme:theme|theme feature]], the [[:docs:theme:slot:main_header_slot|content header slot]] is now responsible for the [[:docs:content:heading|heading]]. If you add set only the [[:docs:navigation:hierarchical_breadcrumb|breadcrumb]]. you should now change it to add at minimum your [[:docs:content:heading|heading]]. Example: $title $lead Click on the [[:docs:theme:slot:slot_manager|slot manager]], choose the content header, and modify it. ==== Follow the default update procedure ==== From there, you should follow the default [[release:update|update procedure]]. Because now, Combo is too big for the update DokuWiki Script, you should not click the ''Update'' button. [[support:oom|]] For any problem, don't hesitate to [[:support|contact us]]. ===== Changes ===== ==== New ==== * The strap template has been deprecated. * Added the https://arcticons.com/ [[docs:content:icon|icon library]] * The ''txt'' mime is now authorized by default. * In a [[docs:layout:component:grid|grid]], a ''cell'' now supports the [[docs:styling:clickable|clickable attribute]] * A ''grid'' is now supported in a [[docs:templating:iterator|iterator]]. * The [[docs:theme:element:toc|Table Of Content]] is no more attached to the [[release:deprecated:renderer|renderer]] and can now be placed inside the page via the toc component. * The [[docs:theme:slot:slot_manager|slot manager]] was added in the [[docs:theme:element:railbar|railbar]] to help create and localize [[docs:theme:slot:slot|slots]]. * The toggle functionality has been rewritten. The [[:docs:animation:toggle|toggle element]] is new and allows to set the a different control if the target is expanded or collapsed. * The [[:docs:app:identity|Identity form code]] is now ready for the new [[https://github.com/ComboStrap/combo/issues/14|DokuWiki version]]. * A [[docs:theme:element:container#defaultLayoutContainer|default layout container]] is now used to set: * the whole template layout horizontal alignment * the default value of container aware component such as [[:docs:menubar:menubar|Menubar]] * The [[:docs:navigation:page-explorer|Page explorer]] component will collapse on small device due to the default [[:docs:animation:toggle|toggle-state]] value. * The informational messages are now toast located in the center of the page. * The [[:docs:styling:hero|Hero]] attribute that permits to create easily an hero unit style content. * The [[docs:layout:component:grid|row component]] accepts: * conditional ratio unit (percentage and fraction) as width length on its cells. * conditional number of cells by line * The [[:docs:styling:dimension|width]] can now be defined conditionally based on the screen size. * [[:docs:templating:variable|Variable]] can now be used directly. The [[:release:deprecated:template|template component]] has been deprecated. * The [[docs:theme:slot:side_slot|Side Slot]] component are by default collapsed until the medium screen by setting the [[:docs:animation:toggle|toggle attribute]] to ''collapsed expanded-md'' * Added the [[https://healthicons.org/|HealthICons]] library in the [[:docs:content:icon|Icon component]] * The [[:docs:page:published|publication date]] default value is also searched in the prefix of the path last name. * The [[:docs:navigation:hierarchical_breadcrumb|hierarchical breadcrumb]] has now a new type: ''typography''. It permits to output the page category in a [[:docs:templating:iterator|iterator fragment]] for instance. * The [[:docs:page:category|page category]] can now be printed with the help of the [[:docs:navigation:hierarchical_breadcrumb|typographical breadcrumb]] * The [[docs:content:page-image|page image]] has now more option such as: * the descendant image * the [[:docs:content:vignette|vignette]] * The [[:support:plugin#edittable|edittable plugin]] is now supported * The [[:docs:navigation:outline|outline]] follows the section / header HTML convention. * The styling is then: * compatible with css grid for [[docs:theme:template:template|page layout]] . * easier for the edit button because they are inside a section and not after. * The page are easier to scan by [[:docs:seo:seo|search engine]] to discover the outline * The [[:docs:page:keywords|page keywords]] has variables. * The messages are shown via toaster. * The event system deletes duplicate events. * The meta mutation system is now on document level and takes into account backlink (ie reference mutation) * [[:docs:templating:sql|Page Sql]] allows now a random order. * The [[:docs:page:lead|lead]] (tagline) and the [[:docs:page:label|label]] (short description) metadata have been added * The webcode component supports now code injection for designer. ==== Modification ==== Because of too much confusion, the following name has been renamed: * The ''home page'' is now known as the [[docs:page:system:index|index page]] * The ''root page'' is now known as the [[docs:page:system:home|home page]] The lazy method is now `html` and no more `lozad` because scripts are not automatically taken into account in template The [[docs:layout:component:grid|Row component]] is now called a grid because: * the children may be laid out on more than one line * you can define gutter between the children The ''layout'' metadata has been renamed to ''template''. ==== Breaking ==== * The suffix for the class is now ''cs'' for combostrap. It's smaller than ''combo'' and uses the same convention than bootstrap with ''bs''. * We support only php 7.4 (due to our dependencies), up to 8 (due to dokuwiki). More information, in the [[:support:requirement#php|requirement page]] * The empty tag should be close (ie ''%%
%%'' should be written ''%%
%%'', ie the HTML format has been deprecated for the XML format) * [[https://www.php.net/manual/en/function.strftime.php|strftime]] has been deprecated by ''php'' (not our decision). The only alternative with local is [[https://www.php.net/manual/en/intldateformatter.format.php|format]] * If you have a xml like syntax in a list, it will break. We can't really do anything about it because the list is a dokuwiki component. what you can do is list them with the following bash. ```bash grep 'The display of the call with the mode (list' /dokuwiki_home/data/cache/debug.log | awk '{print $NF}' | awk '!a[$0]++' | sort ``` ==== Deprecation removed ==== * The old deprecated ''organization'' LdJson tag has been removed. ==== Improvement ==== * When [[support:preserve|preserve style]] is set on svg, the svg is shown as an img to avoid style conflict. * The [[docs:content:svg|big svg image]] served via an image tag can now be defined in other unit than ''px''. * [[docs:router:bestendpagename|Best end page name]]: when two pages with the same score are found, the page with the highest number of backlinks is returned. * In a [[docs:menubar:brand|brand]] with icon, label and link widget, the icon does not participate in the link to not have a visual line caused by the underline style between the text and the icon. * The [[:docs:utility:link_wizard|Link Wizard]] was modified to show only pages. It will not group pages by namespace as dokuwiki does by default. * The [[:docs:utility:prism|prism components]] (console, file, code) load their stylesheet with the page and no more via javascript leading to the suppression of a layout shift and to a faster page load. * Added dependatbot. [[https://github.com/ComboStrap/combo/issues/28|issues 28]] * The media manager styling has been improved (the ''select file'' is now a button and the file has been renamed from file uploader to media manager) * The [[:docs:menubar:fixed-top|Fixed Top Menubar]]: * was causing a small layout shift that has been corrected. * uses another method (scroll-margin-top) to shift the location of the heading text when navigating/scrolling * The railbar when overflowing was not giving the possibility to scroll the items. * If a page was copied with a frontmatter without deleting the page id, the page would have become a duplicate in the database. * The edit/preview styling has been revamped * the textarea was not a [[https://datacadamia.com/data/type/text/font_monospace|fixed pitch font]] making the calculation of space difficult to spot. * button have been made bootstrap flat style * bottom margin has been added between the line of component * Javascript improvement: * browser test have been added * the package version range allows now the minor upgrade to get the security update * The [[:docs:utility:webcode|webcode]] component loads now its javascript and stylesheet with the [[:docs:cache:static|Infinite Static Cache]]. * The [[:docs:utility:webcode|Webcode]] component overwrites the console in the head, overwriting also the console script in the HTML content. * The [[:docs:content:link#external|external links]] in a [[:docs:menubar:menubar|Menubar]] are styled correctly now. * The class loader now uses the autoloader features of composer. * The [[:docs:menubar:search|search box]] suggestion list is now cleared when the search box or a suggestion list items loose focus. The code is modular and tested. * The button of the edit toolbar in the edit form are now styled * With the new [[:docs:theme:theme|theme]], it's now possible to customize the [[:docs:theme:component-stylesheet|component stylesheet]]. ==== Deprecated ==== * The [[:release:deprecated:toggle|toggleTargetId]] has been deprecated for the [[:docs:animation:toggle|Toggle element]]. * The ''align'' attribute in the [[:docs:menubar:menubar|menubar]] has been replaced by a [[docs:theme:element:container|container attribute value]] * The [[:release:deprecated:footer|footer component]] and the [[release:deprecated:slide|slide component]] are deprecated and replaced by the [[:docs:layout:component:bar|bar component]]. * Edit Button for slot has been deprecated for the [[docs:theme:slot:slot_manager|Slot Manager]] * The [[:release:deprecated:container|container syntax component]] has been deprecated for [[docs:theme:element:container|container aware components]] * The ''auto'' [[docs:layout:component:grid|Grid Layout]] has been deprecated for ''max-line'' * The ''fit'' [[:docs:layout:component:grid|Grid Layout]] has been deprecated for [[:docs:styling:dimension|width grow/shrink]] * The ''cell'' component in a [[docs:layout:component:grid|Row Layout]] has been deprecated. * A grid layout accepts now any children * The css flex system is now applied via the [[:docs:styling:align|Align attribute]] / [[:docs:styling:dimension|width grow/shrink]] * The [[:release:deprecated:date|date component]] has been deprecated for the [[:docs:templating:pipeline#format|Pipeline Format function]]. * The [[:release:deprecated:text-align|text-align attribute]] has been deprecated for the [[:docs:styling:align|align attribute]] * The [[release:deprecated:content-list|Content List]] is deprecated * The default twitter image is now the featured raster image. The default image configuration "defaultTwitterImage" is no more used ==== Bug ==== * The [[docs:app:search|Internal Search Engine]] result was not going away if the escape click reaches no element. * When the [[howto:frontend_optimization|Front End Optimization]] was on, the [[docs:app:search|Internal Search Engine]] was no more working because ''DOKU_BASE'' was no more present. * Template version was not checked when the class was already loaded via php-fpm. When [[release:update|upgrading]] combostrap, due to version conflict, the upgrade would crash. The documentation was change and there is now a check each time. * The [[docs:templating:sql|page sql backlink]] did not add a dependency on the requested page. * When used in a slot, the snippet of the carrousel could be missing. The bug was that the snippets were stored by slot and not by rendered page. As a carrousel can show a grid or a carrousel that depends on the number of items, the last page rendered was overwriting the snippets. If a page rendered add few backlinks, the carrousel was a grid and the carrousel glide javascript was no more present for the other page from the cache. The snippets cache now should have the same key cache than the rendered slot. * The [[docs:router:message|redirection message]] was printed at the end of the page. We test now that it's the first child of the main content. * The first image was not updated correctly. A bad condition mades the first image to stay for the first [[docs:content:svg|svg]] found. * Two [[docs:content:highlight|markdown highlights]] on the same line would highlight also the content in-between. * The [[docs:router:bestendpagename|Best End Page Name Algorithm]] was not returning the best page but the first one with a score of 1. There was therefore no permanent redirect. * The [[:docs:utility:prism|prism component]] (code, console, file) didn't have the ''copy'' button. The migration to a new version has forgotten the copy plugin and there was a version mismatch between the plugin and prism. This is corrected. * The [[:docs:content:inote|Inote]] was not wrapping, making the width of windows overflowing. * The requested path was not always correct when a [[:docs:page:url|permanent page url]] was used because the first event of dokuwiki (load lang) was checking the last name of the url path and not the last part of the name * admin page were having no toc. Why ? because the admin page may have a toc defined by the plugin. Strap template uses now the default dokuwiki function to render admin page being completely compatible. * the [[:docs:menubar:dropdown|dropdown]] component was broken in Bootstrap 5 because it didn't had the bootstrap prefix. Error was the here doc was using the javascript notation and not the php notation.