Coin Dotclear Dotclear 2

Fil des billets - Fil des commentaires

Sur le chemin de la 2.2 : une histoire de compilateurs

S'il y a bien un point qui a été débattu sur dotclear 2 par rapport à dotclear 1, c'est bien la couche intermédiaire qu'il ajoute pour les développeurs de thèmes, à savoir son moteur de templates.

Pour faire son propre thème, plus besoin de coder des pages en PHP, un nouveau langage intermédiaire a été introduit. Et cela, d'abord pour des raisons de souplesse : ce langage est converti en code php, ce dernier étant stocké en cache. Le theme-designer n'a pas à maîtriser PHP pour faire son thème Ensuite, parce qu'empêcher l'utilisation de PHP, c'est aussi empêcher d'insérer du code potentiellement vulnérable.

Dans le principe, c'est plutôt simple : lorsqu'un utilisateur va sur une page du blog, dotclear va chercher le fichier de template correspondant, le transforme en un fichier PHP, et exécute ce dernier. Le fichier PHP est bien entendu placé en cache afin de ne pas repasser systématiquement par la case compilation.

Je vais essayer de décrire les rouages du compilateur/moteur de templates dans ce billet, ainsi que les évolutions qui lui ont été apportées depuis la 2.1.7.

(Attention, contenu très technique inside)

Lire la suite >

Sur le chemin de la 2.2 : balises et behaviors

Après une petite pause, suite des évolutions de dotclear 2.2beta :

  • pour les auteurs de thèmes, les nouveautés côté balises de templates
  • pour les auteurs de plugins, la liste des nouveaux behaviors

Lire la suite >

MyMeta 0.4beta : les changements techniques

Après avoir brièvement présenté la version 0.4beta, les détails techniques pour ceux qui ont déjà du code MyMeta fonctionnel...

Lire la suite >

Plugin MyMeta 0.4beta2

Il s'est passé du temps depuis la dernière version du plugin MyMeta. Pourtant le développement ne s'est pas arrêté, loin de là.

La version 0.4 constitue une évolution majeure du plugin, incluant une refonte des mécanismes internes. La version 0.4-beta est disponible au téléchargement, tous les feedbacks sont les bienvenus.

Nouvelle administration

mymeta04_admin.png L'administration du plugin a été revue pour plus de souplesse.

  • Il est possible d'ordonner les mymeta, et de les placer dans des sections particulières
  • Deux nouveaux types de mymeta voient le jour : Date (enfin!) et checkbox. Le nouveau modèle plus souple permet d'ailleurs de définir de nouveaux types de mymeta sans casser la structure existante. Un plugin externe peut ainsi enregistrer ses propres types de mymeta
  • Pour chaque mymeta, il est désormais possible de définir :
    • Si une page publique est définie pour afficher les valeurs du mymeta, ou la liste des billets correspondant à une valeur donnée
    • les fichiers de template à utiliser pour ces pages publiques (par défaut mymetas.html et mymeta.html)
    • les types de billets concernés par ce mymeta. Avec l'arrivée du plugin muppet, cela prend tout son sens.
  • Il est possible d'appliquer des mymeta sur plusieurs billets, via la liste des billets

mymeta04_adminpostslist.png

  • Il est possible de renommer une valeur mymeta pour tous les billets

mymeta04_adminvalue.png

Widgets

mymeta04_widget_value.pngmymeta04_widget_list.png

2 widgets font leur apparition :

  • la liste de MyMeta, affichant les mymeta définis pour le blog
  • La liste de valeurs MyMeta (similaire au widget Tags), affichant l'ensemble des valeurs prises par un mymeta donné

Balises template

Il y a quelques changements au niveau des balises tpl pour la partie publique, je reviendrai dessus prochainement. En attendant, si vous avez inséré des balises MyMeta dans un thème, je vous invite à attendre le prochain billet sur le plugin.

Téléchargement

Le plugin en version 0.4-beta2 (compatible dotclear 2.1.6 et supérieur) est disponible ici : MyMeta 0.4 beta

Note: la beta2 corrige quelques bugs au niveau du widget et de l'attribut "key" de tpl:EntryMyMetaValue

Tout feedback est bien sûr le bienvenu.

Note : pour revenir en arrière vers la version 0.3, en cas de souci :

  • dans about:config, copiez la valeur mymeta_fields_backup dans mymeta_fields
  • installer la 0.3.x sans passer par le tableau de bord

Sur le chemin de la 2.2 : les settings

Autre nouveauté sous le capot de dotclear 2.2, le changement dans la gestion des settings. Le sujet a déjà été traité sur la liste du lab dotclear, mais cela ne fait pas de mal d'en rappeler principes

Lire la suite >