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 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 theme.
In the 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
$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 minimum size to embed inline combo-conf-003 (includes all resources svg, Javascript, Css, Code)
The
svgUploadGroupName configuration has been replaced by a
designer group. You should migrate the name of the group of your privileged users in the configuration
combo-conf-006.
If you were using
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 rplus renderer has been deprecated and you should set the renderer back to the default DokuWiki renderer.
Web Component Syntax
Due to performance enhancement, all Web Component syntax is now captured once.
It means that:
<!-- if you want to write in your page -->
<tag>
<!-- you should write it -->
%%<tag>%%
<hr> should be written <hr/>
<search> should be written <search/>
<icon> should be written <icon/>
<breadcrumb> should be written <breadcrumb/>
<page-image> should be written <page-image/>
<related> should be written <related/>
Variable Syntax
A page is now a complete 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
webcode. A bug has been introduced with the
mermaid release. The mermaid tag was never intended to be used.
With the theme feature, the content header slot is now responsible for the heading.
If you add set only the breadcrumb.
<breadcrumb/>
you should now change it to add at minimum your heading.
Example:
<heading h1>$title</heading>
<text lead display="none-if-empty">$lead</text>
<page-image featured height="250" ratio="21:9" linking="default" default="icon|ancestor|logo" lazy="none"/>
Click on the slot manager, choose the content header, and modify it.
Follow the default update procedure
From there, you should follow the default update procedure.
Because now, Combo is too big for the update DokuWiki Script, you should not click the Update button. How to resolve the memory error when updating?
For any problem, don't hesitate to contact us.
Changes
New
The strap template has been deprecated.
-
The txt mime is now authorized by default.
-
-
-
-
The toggle functionality has been rewritten. The
toggle element is new and allows to set the a different control if the target is expanded or collapsed.
-
-
-
The informational messages are now toast located in the center of the page.
The
Hero attribute that permits to create easily an hero unit style content.
-
The
width can now be defined conditionally based on the screen size.
-
The
Side Slot component are by default collapsed until the medium screen by setting the
toggle attribute to
collapsed expanded-md
-
The
publication date default value is also searched in the prefix of the path last name.
-
-
-
-
The
outline follows the section / header
HTML convention.
The styling is then:
The page are easier to scan by
search engine to discover the outline
-
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)
-
The
lead (tagline) and the
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 lazy method is now html and no more lozad because scripts are not automatically taken into account in template
The Row component is now called a grid because:
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
requirement page
The empty tag should be close (ie
<hr> should be written
<hr/>, ie the
HTML format has been deprecated for the XML format)
strftime has been deprecated by
php (not our decision). The only alternative with local is
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.
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
Improvement
When
preserve style is set on svg, the svg is shown as an img to avoid style conflict.
The
big svg image served via an image tag can now be defined in other unit than
px.
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
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
Link Wizard was modified to show only pages. It will not group pages by namespace as dokuwiki does by default.
The
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.
-
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 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
Javascript improvement:
-
The
Webcode component overwrites the console in the head, overwriting also the console script in the
HTML content.
-
The class loader now uses the autoloader features of composer.
The
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
-
Deprecated
Bug
-
-
Template version was not checked when the class was already loaded via php-fpm. When
upgrading combostrap, due to version conflict, the upgrade would crash. The documentation was change and there is now a check each time.
-
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
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
svg found.
-
The
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
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
Inote was not wrapping, making the width of windows overflowing.
The requested path was not always correct when a
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
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.