Still gardening and happy tooyou Kozlika!

As announced at the time of the 2.19 release, we are publishing new versions more often - or at least trying to.

In this new version 2.20, the highlights are as follows:

  • A new alternative repository system has been set up for third-party plugins and themes, which can be useful if the DotAddict server is running out of steam, as it did recently (thanks to Noé for getting it up and running again), or if the author does not wish to deposit his work elsewhere than on his own public repository. We detail the procedure to follow below.
  • A new IPv6-specific spam filter (which is starting to be deployed quite a bit) is included in parallel with the IPv4-specific filter.
  • Users can now enter several additional email addresses and websites in their profile. Indeed, some themes allow the author of a post to be differentiated from other commenters on the basis of those email and web site addresses, which may change over time. This system therefore makes it possible to indicate new addresses without having to modify the metadata of old comments.
  • Dotclear's wiki syntax has been extended to allow the easy insertion of HTML block details. A vertical bar at the beginning of the line, followed by the text of the summary is necessary to start this block, followed by the free content of the block, followed by a line with a vertical bar as the first character only ending the whole, i.e. :
|summary of the detail block (hidden by default)
content of my block

Please note: this version is the last to support PHP 7.3; the next 2.21 will require at least PHP 7.4 (or PHP 8). A message will be displayed on your dashboard if your PHP version is affected.

Alternative repositories:

To implement an alternative repository for a module, plugin or theme, you need two things:

  1. A repository entry in the properties provided in the module's _define.php file, such as: 'repository' => ''
  2. A dcstore.xml file structured as follows, and stored in accordance with the URL provided above:
<modules xmlns:da="">
  <module id="[MODULE_ID]">
    <name>[MODULE NAME]</name>
    <author>[MODULE AUTHOR]</author>
    <desc>[MODULE DESCRIPTION]</desc>

Example for the sysInfo plugin:

<modules xmlns:da="">
  <module id="sysInfo">
    <name>System Information</name>
    <author>System Information</author>
    <desc>System Information</desc>

Note that the dcstore.xml file does not need to be included in the module installation archive.

As soon as a module, indicating in its _define.php file an alternative repository, will be installed with Dotclear version 2.20, then the latter will also consult this repository to check for the presence of a new version.

One more thing!

It is possible to save the default settings for inserting a media file (image, sound, ...) which is then used when editing posts and pages. See Blog settings, section "Media and images". It is also possible to save the current insertion parameters when inserting media into a post.

This is convenient but can be counterproductive in some cases.

Dotclear version 2.20 now takes into account the presence of a .mediadef file (or .mediadef.json) structured as follows, so that the settings specified in it become automatically pre-selected instead of those saved by default for the blog:

"size": "o",
"legend": "none",
"alignment": "center",
"link": false

Voilà les valeurs possibles pour les différents réglages :

  • size : "sq" for thumbnail, "s" for small, "m" for medium, "o" for original
  • legend : "none" for none, "title" for title only, "legend" for title and legend
  • alignment : "none" for none, "left" to left align, "right" to right align, "center" to center
  • link : true with the link, false without the original image link

You are not obliged to specify all the settings and if one or more of them are missing, the one or more saved for the blog will be used.

Moreover, this preset file is only valid for the folder in which it is saved and therefore only for the media it contains.


For the rest, the curious can consult the details of the modifications in the CHANGELOG file of this version.

Et voilà !