Résumé
Cette version comprend un nombre très important de changements coté code, elle accélère sa transition vers les espaces de noms PHP avec toute la partie administration qui les utilise désormais. (Tout comme les plugins et les thèmes) Le moteur lui même a entamé sa transition et maintenant il n'y a plus qu'un unique point d'entrée dans le code pour tout !
Nouveautés :
- Nouvelle gestion du moteur suivant le schéma App => Utility => Process,
- Quasi obligation d'utilisation de la classe Process,
- Nouvelle gestion des URLs d'administration,
- Nouvelle gestion d'erreur du core,
- Nouveau fichier de release,
- Modification du fichier de définition de blog index.php,
- Déplacement de nombreuses classes, principalement liées à d'administration,
- Nombreuses variables, fonctions, méthodes et classes dépréciés
- La structure des plugins et thèmes qui a pas mal bougé depuis quelques versions,
- Nouvelle classe outils My pour les modules,
- Nouvelles classes outils Form qui ajoutent de nombreuses balises HTML,
- Nouvelle fonction JS pour le service Rest.
- Prévisualisation de thèmes dans l'admin.
Définitions :
Le langage autour de Dotclear a également évolué en même temps que son code. De quoi parle-t-on ?
Désormais on peut parler d'App, de Process, d'Utility, de Backend, Frontend, etc. Traduction:
- App : L'application dotclear dans son ensemble, c'est également le nom de la classe qui est désormais le point de départ du script PHP,
- Utility : Ce sont les classes maitresses, chaque Utility gère une partie de Dotclear, admin, public, cli, install,
- Process : Alors là ça va se compliquer, du coté Dotclear ce sont les sous parties d'un Utility, par exemple pour faire simple, coté admin, un Process correspondra à une page (Preferences, Blogs, Posts...). Mais un process est également ajouté à un grand nombre de classes dans le Core de Dotclear et aussi dans les thèmes, les plugins, il permet de séquencer le script. En savoir plus sur la classe Process.
- Backend : La partie admin,
- Frontend : La partie public.
Incompatibilités :
- Les plugins et thèmes n'utilisant pas le gestionnaire d'URL
dcCore::app()->admin->url
(ou le dépréciédcCore::app()->adminurl
) pour les redirections et formulaires, risquent de ne pas envoyer vers la page souhaitée. - Les formulaires utilisant la méthode GET doivent ajouter un champ caché contenant
process=xxx
où xxx est l'identifiant la page qu'il souhaite atteindre enregistré dans le gestionnaire d'URL. Exemple pour la page générale d'un plugin il faudra ajouter dans le formulairenew Form\Hidden('process', 'Plugin');
ou encoreform::hidden('process', 'Plugin');
.
Information importante pour les développeurs :
C'est la dernière version compatible avec PHP 7.4 ! La prochaine version majeure de Dotclear prévue pour novembre .2023 nécessitera PHP 8.1.
Les informations distillées ici sont non exhaustives et pourront être compléter à l'avenir.
La discussion continue ailleurs
URL de rétrolien : https://dotclear.watch/trackback/5