Some of you reported me some problems with this new release of Dotclear on servers running PHP 5.5 (which is obsolete).
So I recommend to switch to the 5.6 version of PHP or even better to the 7.1 or 7.2
2018 Aug 14
Some of you reported me some problems with this new release of Dotclear on servers running PHP 5.5 (which is obsolete).
So I recommend to switch to the 5.6 version of PHP or even better to the 7.1 or 7.2
2018 Aug 13
Codename: Dark Crystal
Crystal because it's today the 15th anniversary of Dotclear which run on the best servers on this planet!
Dark because there is a new dark mode in the administration interface!
Dark Crystal because I do like this animation movie published 35 years ago :-)
Otherwise, it's business as usual…
Enjoy!
2018 Jan 27
A small update that fixes two annoying bugs in the theme editor (when syntax coloration is enabled) and with the traditional Dotclear editor, in XHTML mode.
2018 Jan 13
Some few words:
Enjoy!
The new encryption system for password does not require any migration procedure. This will be done only once at the very next user authentication.
The new password system implies two backward incompatibilities:
$core->auth->checkPassword($_POST['your_pwd']) rather than $core->auth->checkPassword($core->auth->crypt($_POST['your_pwd'])).If you need a unique UID/key, use http::browserUID(DC_MASTER_KEY.$core->auth->userID().$core->auth->cryptLegacy($core->auth->userID())) (may be refined in future).
2017 Aug 13
A little update to fix a bug with the mustek default template set, used by a lot of themes. This release fixes also a small bug with media title during upload.
Do not forget to empty the cache of the templates (Maintenance plugin) as well as the cache of your browser after having made an update. In case you have opted for a manual update, do not forget to disconnect and reconnect, some updates (concerning the database) are made at this time.
2017 Jul 27
Tiny but eventually not so tiny update as the CHANGELOG shows. Anyway there is no new functionality, only improvements and bug fixes.
As the team is reduced since a lot of months/years, I decided to reduced the scope in terms of development as I'm the only dev still in activity and I have not more much courage to start (relatively) big projects[1] — yes, we have a bus factor of 1 in Dotclear.
So exit the REST API I wish to develop — but a third party plugin is in development to provide this feature —, exit also the integration of the Twig template engine, exit also a lot of tickets which stayed opened without anybody to take care of them.
I will continue to maintain Dotclear, indeed, in order to add some tiny missing features as UTF8-MB4 support for MySQL, a more robust password management and this will be included in the next 2.13 release which will need, at least, PHP 5.5 version — it's time to forget the older PHP 5.3 not more maintained now.
[1] First it's not funny at all to develop alone, second the lack of code review is as far as I know dangerous
2016 Dec 29
A new small update today that fixes some annoying bugs with PHP 5.3 and PHP 5.4; It also solves the problem of previewing the posts and pages being edited.
Do not forget to empty the cache of the templates (Maintenance plugin) as well as the cache of your browser after having made an update. In case you have opted for a manual update, do not forget to disconnect and reconnect, some updates (concerning the database) are made at this time.
2016 Dec 28
A small update that fixes a problem when using a version of PHP earlier than 5.5.
This problem prevents the administration menu (left column) from being displayed with most plugins, or even prevents their access.
A new version that deviates from our habits, since it is not published a 13, and ahead of schedule, since it was planned mid-February 2017. It also derogates with the habit of having a copious CHANGELOG (list of modifications / corrections).
Indeed, this version does not bring anything extraordinary except that it facilitates the use of Dotclear, and it corrects some bugs sometimes annoying on a daily basis:
The general aspect of the administration also changes because the 2.11 uses the system font available on your machine rather than the usual Helvetica Neue. It also changes because it implements a font size that fits, between two thresholds, the space available on your screen. You can change the general font size in your preferences (3 settings are available).
Note that we have dropped the support of old browsers, especially old versions of Internet Explorer, up to version 9 included; It makes it possible to use a little more easily some innovations of CSS 3, in particular the flex system.
But I let you discover this at home, once you have made the awaited update!
PS: This version requires PHP 5.3 a minimum, but I advise you to use PHP 5.6 or even PHP 7 without waiting - the latter offers a speed gain very appreciable. It is quite possible that the next version of Dotclear requires a newer version than the already obsolete 5.3.
Some technical details for plugin developers and blog administrators:
The new version 2.11 introduces a new system that allows to define and find the different places where a plugin may have settings.
It is necessary to define in the file _define.php of the plugin an additional property, named settings and which is constructed in the following way:
'settings' => array (
'self' => '',
'blog' => '#params.id',
'pref' => '#user-options.id'
)
The line with 'self' indicates that there are settings on the main page of the plugin (that is, for developers, in the index.php file).
The line with 'blog' indicates that there are settings in the blog settings, normally on the 'Settings' tab (#params is used for this) and at the first item id equal to the plugin id (you can for example position this id on the title element, h4 or h5, which precedes the options of the plugin).
The line with 'pref' indicates that there are settings in the user preferences, normally on the 'My options' tab (the #user-options is used for this) and at the first item id equal to the plugin id.
You can, and even must, specify only the lines that are relevant.
It is not obligatory to specify the id, in this case it is enough to simply specify the tab. It is also not necessary to specify the tab, in this case simply leave an empty string (").
The links will be displayed in the order in which they are defined in the 'settings' property.
Note: To this link list will be added first, if it exists, the link to the plugin's _config.php file.
Antispam plugin
'settings' => array (
'self' => '',
'blog' => '#params.antispam_params'
)
Tags plugin
'settings' => array (
'pref' => '#user-options.tags_prefs'
)
Maintenance plugin
'settings' => array (
'self' => '#settings'
)
The setting URLs are displayed in two places:
If you need more information on these technical developments, use the forum and/or development mailing list, or even the IRC channel #dotclear (irc.freenode.net) ...
2016 Nov 2
A tiny update which fixes a database connection problem for installation using PostgreSQL lower than 9.1
If you are not in this case, the automatic update will run as usual.
If you are in this case, in order to do this very next automatic update, you have to follow this procedure:
return;
You should have something like that:
/** @ignore */
private function db_post_connect($handle,$database)
{
return;
$result = $this->db_query($handle,"SELECT * FROM pg_collation WHERE (collcollate LIKE '%.utf8')");
if($this->db_num_rows($result) > 0) {
$this->db_result_seek($result, 0);
$row = $this->db_fetch_assoc($result);
$this->utf8_unicode_ci = '"'.$row['collname'].'"';
}
}
This modification will give you again access to your installation.
In order to apply the automatic update, you will have, first, to install a specific plugin, FakeMeUp (available on the DotAddict website), which allow to bypass the control of modified files before update.
Once this plugin installed, make the update and when finished, disable or uninstall the FakeMeUp plugin, as you wish.
Your dashboard should also offer you to upgrade your installation today or tomorrow (depending on your settings). There's also a patch for the developers who prefer this method.
CHANGELOG of this release :
Dotclear 2.10.4 - 2016-11-02 =========================================================== * PostgreSQL < 9.1 fix
2016 Nov 1
A tiny update to fix two minor security vulnerabilities and to allow some specific proxy/ssl server configuration.
Your dashboard should also offer you to upgrade your installation today or tomorrow (depending on your settings). There's also a patch for the developers who prefer this method.
CHANGELOG of this release :
Dotclear 2.10.3 - 2016-11-01 =========================================================== * Security: Fix CVE-2016-7903: Password Reset Address Spoof — Thank's Hongkun Zeng for report * Security: Fix CVE-2016-7902: Media Manager, unrestricted File Upload — Thank's Hongkun Zeng for report * CSP: Cope with external sources used in editor's iframe to preview public external content * Fix: Cope with post.post_position field during flat import * Fix: Prevents precondition failed during currently activated theme update * Fix: Remove unecessary header (cope by dotclear) in page plugin * Fix: Let some proxies playing with standard http and https ports * Fix: Let SSL runs through a proxy, it may be ok, sometimes * 🐛 → Various bugs and typos fixed
2016 Aug 17
A tiny update to fix a problem which prevents correct update on installations using the PostgreSQL database system.
Your dashboard should also offer you to upgrade your installation today or tomorrow (depending on your settings). There's also a patch for the developers who prefer this method.
2016 Aug 15
A tiny update to fix a problem which prevents the backend for new installation from correctly displaying (updates are not concerned). A too strict application of the CSP (Content-Security-Policies) is the cause of it. It also demonstrates that this protection might be efficient!
Your dashboard should also offer you to upgrade your installation today or tomorrow (depending on your settings). There's also a patch for the developers who prefer this method.
2016 Aug 14
I've just been informed about a problem that prevents CSS stylesheets and Javascript scripts from being loaded in the backend of Dotclear, but only for the fresh new installation.
If you are concerned by this problem, download the 2.9.1 release instead, install it, and then do the upgrade to the 2.10 proposed on your dashboard. The upgrade is not concerned by this bug.
You may also wait tomorrow to download the future 2.10.1 which will fix that.
2016 Aug 13
We should celebrate the 13th anniversary of Dotclear today so here it is, the 2.10 release is available now and very soon on your dashboard[1]!
The menu of this release (non exhaustive list, see CHANGELOG for further details) :
Not a revolution but developments for a more secure and robust application ; and finally, happy birthday Dotclear \o/
PS : This release requires PHP 5.3 at least but I would strongly advise you to switch to PHP 5.6 or PHP 7 without delay — this last one offers a very welcome increase in speed. Anyway, the next version of Dotclear might require a newer version than the already obsolete 5.3.
Some technical details for plugins (and themes) developers and for blogs administrators:
Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context.
[ Wikipedia « Content Security Policy » ]
The parameters used (activation and directives) are available via the about:config module (System settings menu, see “system” part) ; these parameters are:
A 3rd party plugin needing some external services may complete one or many of these directives using the behavior adminPageHTTPHeaderCSP which provides as parameter an key-indexed array. Each of these keys refers to the according CSP directive (see list above), its value giving the list of authorized sources (separated by space).
Example :
Imagine a plugin using the Google Maps API (for scripts), it should add the corresponding Google server by this way:
$core->addBehavior('adminPageHTTPHeaderCSP',array('myAdminBehaviors','adminPageHTTPHeaderCSP'));
class myAdminBehaviors
{
public static function adminPageHTMLHead($csp)
{
if (isset($csp['script-src'])) {
$csp['script-src'] .= ' maps.googleapis.com';
} else {
$csp['script-src'] = 'maps.googleapis.com';
}
}
}
A new folder, named var, has been created with the 2.10 release of Dotclear. It is at the main level (as the cache folder is) and should be used for local storage that should normally not be set in cache folder. Note that this cache folder may be deleted at every moment without any negative consequences for the installation.
A new constant, DC_VAR, is available and may be customized in the config.php file in order to build paths. Two new functions are also available to retrieve URLs:
Plugin developers are encouraged to create their own directory within this directory /var to maintain a semblance of order.
The Codemirror library, used by the theme editor, is now available (in the backend) for every plugin. Two functions are available to load and run this library :
Example for CSS code :
# Get interface setting
$core->auth->user_prefs->addWorkspace('interface');
$user_ui_colorsyntax = $core->auth->user_prefs->interface->colorsyntax;
$user_ui_colorsyntax_theme = $core->auth->user_prefs->interface->colorsyntax_theme;
# in <head>
if ($user_ui_colorsyntax) {
echo dcPage::jsLoadCodeMirror($user_ui_colorsyntax_theme,false,array('css'));
}
# in <body>
if ($user_ui_colorsyntax) {
echo dcPage::jsRunCodeMirror('editor_css','css_content','css',$user_ui_colorsyntax_theme);
}
Turning on (or off) syntax highlighting and choosing the theme to use (among the forty+ proposed) are in "My Preferences", "My options" tab.
If you need more information about the technical stuff, use the forum and/or the development mailing-list, or also the #dotclear IRC channel (irc.freenode.net) where some of us sometimes hang…
[1] A patch is also available for the developers who prefer this method.
[2] The implementation of CSP has been inspired by a presentation I attended, given by Nicolas Hoffmann on this particular topic, at the Paris-Web event in 2015.
« previous entries - page 5 of 10 - next entries »