Les plugins existent dans PluXml depuis la version 5.1. Le code du moteur de gestion des plugins a été simplifié avec la version 5.2 pour être plus performant et consommer moins de mémoire. Cette évolution peut donc avoir un impact sur certains plugins développés avant PluXml 5.2. Tous ne sont pas forcément concernés. Pour rendre compatible un ancien plugin, la modification est simple et facilement identifiable.
De façon générale, il faut remplacer
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]["instance"]
par
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]
L'objet plxPlugins utilisé dans la classe plxMotor (fichiers core/lib/class.plx.plugins.php et core/lib/class.plx.motor.php) a été simplifié en supprimant la dimension "instance" du tableau aPlugins. Ainsi, pour faire référence à l'instance d'un plugin et appeler une de ses méthodes, on remplacera par exemple:
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]["instance"]->lang("L_PAGE_TITLE");
par
$this->plxMotor->plxPlugins->aPlugins["nomduplugin"]->lang("L_PAGE_TITLE");
Cette nouvelle syntaxe offre une meilleure lisibilité dans la compréhension du code des plugins.
Pour résumer et faire simple, il faut donc supprimer ["instance"] dans le code des plugins qui ne fonctionneraient pas.
Pour bien commencer les vacances d’été et ce mois d’août, PluXml sort en version 5.2. Présentation de cette nouvelle mouture:
Evolutions
Parmi les évolutions nous pouvons commencer par:
- la détection automatique de l’url du site,
- la réécriture d’une partie de la gestion des plugins.
Jusqu’à la version 5.1.7, bien que l’url du site était détectée automatiquement à l’installation, si l’on déplaçait son site il fallait aller modifier manuellement le paramètre racine dans la configuration de PluXml. Avec la version 5.2 ce paramètre est supprimé car il est maintenant détecté dynamiquement à chaque chargement de page, ce qui rend la portabilité de PluXml encore plus aisée. Il est donc beaucoup plus facile de développer son site sur sa machine et de le passer sur son hébergeur: la simple copie des fichiers suffit, PluXml sera opérationnel tout de suite sans aucune autre intervention ou modification.
Autre évolution importante est la réécriture d’une partie du moteur des plugins pour accélérer leur chargement et réduire la mémoire occupée, ceci dans un souci d’améliorer encore plus les performances techniques de PluXml.
Attention tout de même cette évolution n’est pas sans conséquence sur le fonctionnement des plugins. Les plugins suivant sont obligatoirement à mettre à jour sur votre site si vous les utiliser avec PluXml 5.2 au risque de les voir inopérationnels ou carrément de laisser une page blanche sur votre site.
Liste des plugins à mettre à jour
Ces plugins sont maintenus par l’équipe de PluXml. Il se peut que d’autres plugins ne fonctionnent plus s’ils ont été développés par des utilisateurs du forum. Veillez à suivre la partie Plugins du forum pour voir si des nouvelles mises à jour sont disponibles pour PluXml 5.2
Autres évolutions
Bien sur PluXml 5.2 ne se limite pas aux 2 évolutions citées précédemment. Vous trouverez également la possibilité de créer un template pour la page d’accueil, un nouvel écran de gestion des plugins, des nouvelles variables #art_author et #art_chapo(num) pour les fonctions plxShow:artAuthorInfos et lastArtList pour afficher respectivement l’auteur de l’article et limiter l’affichage du chapo à num caractères.
Nouvel écran de gestion des plugins
Pour les développeur des nouveaux hooks sont disponibles:
- pour le sitemap: SitemapBegin et SitemapEnd
- pour les flux rss: FeedBegin et FeedEnd
Au niveau des thèmes il est possible maintenant d’afficher les mois sous un format court (exemple: jan, fev, mar, …) en utilisant la variable #short_month
Cotés bugs une quinzaine de problèmes ont été réglès.
Toute la liste des changements est disponible dans le Changelog de PluXml.
Documentation
La documentation officielle de PluXml est désormais disponible sur la nouvelle page d’accueil du site. Un grand merci aux personnes qui ont contribué à sa rédaction.
La documentation pour développer les plugins a également été mise à jour: Guide du développeur
GitHub
Si vous désirez suivre les développements de PluXml (et éventuellement y contribuer), les sources sont disponibles sur github
Toute l'équipe de PluXml vous souhaite de bonnes vacances. Profitez-en bien avec votre nouveau PluXml !