Dokuwiki

Quelques notes relatives à Dokuwiki… (pour les personnes expérimentées)

Ruptures technologiques de la version 2018-04-22 "Greebo"

Principales ruptures technologiques parmi celles listées sur dokuwiki.org > devel:releases#release_spring_2018_greebo (fr:changes#greebo) :

  • Préprocesseur CSS : Remplacement de l'interpretteur LESS github.com > leafo/lessphp qui n'est plus maintenu par l'interpretteur github.com > MarcusSchwarz/lesserphp. Le 12/05/2017, le créateur-mainteneur de Dokuwiki – Andreas Gohr – écrit que lesserphp est 100% conforme à la norme LESS et qu'il est activement développé. Comme leafo/lessphp laissait passer certaines syntaxes erronées que le nouvel interpréteur MarcusSchwarz/lesserphp refuse d'accepter, certains thèmes développés avant la publication de la version Dokuwiki 2018-04-22 "Greebo" peuvent générer des erreurs1). Plus d'information à propos de LESS :
  • Changement du système de gestion de menu (période de transition avec maintien provisoire de l'ancien système). Comme l'indique dokuwiki.org > devel:menus, les fonctions "legacy" tpl_button(), tpl_actionlink(), tpl_get_action(), tpl_actiondropdown(), tpl_toolsevent() du framework "TEMPLATE_PAGETOOLS_DISPLAY" intégré fin 2013 sont en voie d'obsolescence. En conséquence, les développeurs de thèmes doivent modifier leurs codes avant la prochaine version stable (printemps 2019) en vue du support du framework "MENU_ITEMS_ASSEMBLY" qui implémente des objets hérités de la classe PHP AbstractItem.php. Le but de ce nouveau framework est de permettre aux développeurs d'extensions de modifier facilement l'interface des thèmes sur n'importe quelle page. Plus d'information :

Nouvelles fonctionnalités à prendre en compte parmi celles listées sur dokuwiki.org > devel:releases#release_spring_2018_greebo (fr:changes#greebo) :

  • L'envoi d'un fichier manifest.json aux clients web qui le demandent (configuration comme page d'accueil), implique que les auteurs de templates sont invités à ajouter une variable de remplacement __theme_color__ au fichier style.ini afin de permettre la personnalisation de la couleur de la barre de titre sur certains navigateurs de mobiles
  • Added search form on search page, added multiple new events FORM_SEARCH_OUTPUT, SEARCH_RESULT_FULLPAGE, FORM_QUICKSEARCH_OUTPUT and SEARCH_RESULT_PAGELOOKUP. Modified events: SEARCH_QUERY_PAGELOOKUP and SEARCH_QUERY_FULLPAGE. renamed _search.css file in dokuwiki-template to .less

Fonctionnalités dépréciées :

  • Suppression de la fonction PHP css_styleini() : Les extensions et thèmes ne doivent plus l'utiliser
  • Les variables globales JavaScript DOKU_UHC et DOKU_UHN sont dépréciées et définitivement remplacées par la variable JSINFO

Autres nouvelles fonctionnalités :

  • Création de page depuis un lien :
    • Le but est d'éviter les pages orphelines
    • Cette fonctionnalité est extensible grâce à la nouvelle extension Add New Page
    • Bug : Attention ! Lorsqu'une nouvelle page avec espace de nom est saisie dans le champs de recherche — par exemple theme1:doc:page1 –, et que l'on choisi de créer une nouvelle page, alors l'espace de nom est supprimé et une nouvelle page theme1_doc_page1 est créée !
1)
Un exemple vécu :
Dans le fichier css/basic.less d'un thème, une occurrence du type "background: @ini_XXXY;" générait l'erreur suivante :
A fatal error occured during compilation of the CSS files. If you recently installed a new plugin or template it might be broken and you should try disabling it again. [variable @ini_XXXY is undefined: failed at `background: @ini_XXXY;` in </lib/tpl/<nom_du_thème>/css/basic.less at line NNN]
parce que dans les fichiers style.ini, lang/en/lang.php et /lang/fr/lang.php, la variable __XXXY__ s'appelait en réalité __XXXX__ !