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
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
- Il est possible de renommer une valeur mymeta pour tous les billets
Widgets
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





35 réactions
1 De Osku - 09/06/2010, 11:48
Je ne sais plus qui disait "Dotclear is not a CMS"... j'ai l'impression que tu es en train de nous prouver le contraire :)
2 De Patidou - 09/06/2010, 12:02
Que de bonnes choses... Miam! :-)
Merci.
P.S. : il faudrait faire tes copies d'écran en png, là elles sont trop abîmées par la compression jpeg.
3 De Dsls - 09/06/2010, 12:13
patidou: j'ai un souci avec OVH et les générations de miniatures des PNG. Je transformerai les screenshots en png de chez moi ce soir :)
4 De mirovinben - 09/06/2010, 15:25
J'ai repris à zéro la migration de la v0.3.1 vers la nouvelle 0.4-beta. Impeccable !...
J'attends avec un grand intérêt le prochain billet car mon
<body class="dc-post {{tpl:MyMetaValue type="typePage"}}">
n'est plus correctement interprété et est remplacé dans le source de mes billets par un peu cool
<body class="dc-post <br />
<b>Notice</b>: Trying to get property of non-object in <b>C:\wamp\www\zz2\cache\cbtpl\bc\22\bc227d75df44fbc29d5ca499764806be.php</b> on line <b>86</b><br />
">
ce qui correspond aux lignes du fichier en cache :
#83 : <body class="dc-post <?php
#84 : $_ctx->mymeta = $core->mymeta->getByID('typePage');
#85 : if ($_ctx->mymeta != null && $_ctx->mymeta->enabled) {
#86 : echo $_ctx->mymeta->getValue($_ctx->meta->meta_id,array());
#87 : }
5 De Dsls - 09/06/2010, 15:51
Mirovinben: en avance de phase par rapport au billet : remplace {{tpl:MyMetaValue type="typePage"}} par {{tpl:EntryMyMetaValue id="typePage"}}
6 De mirovinben - 09/06/2010, 17:06
J'ai été un peu en avance mais je savais que la solution allait venir sans tarder...
Sauf que j'ai un pb. Il y a confusion entre "ID", "valeur" et "description"... En effet mon ID (typePage) est une liste de couples "ID:description" (ici dc-supersize : largeur maxi) et {{tpl:EntryMyMetaValue id="typePage"}} me renvoie "largeur maxi" au lieu du "dc-supersize" attendu par mes CSS.
7 De Dsls - 09/06/2010, 17:10
Dans ce cas, tu as droit au paramètre secret pour les listes qui permet de récupérer les clés : {{tpl:EntryMyMetaValue id="typePage" key="1"}} :)
Il faut vraiment que je proprifie la doc, elle est carrément moche là...
8 De mirovinben - 09/06/2010, 17:27
Pas mieux (caches DC2 et FF vidés) : j'ai toujours la deuxième valeur du couple...
9 De Jean-Michel - 09/06/2010, 17:59
J'ai plusieurs suggestions à te soumettre (mais je m'aperçois quand relisant ce billet, c'est peut-être déjà possible).
Cas 1 - J'ai envie de changer de type de méta (une ancienne présente dans la 0.3 vers une nouvelle de la 0.4 comme celle à cocher). Serait bien de prévoir un système de bascule ou de conversion.
Cas 2 (qui faudrait que je vérifie) dans la 0.3, on est obligé de faire une sauvegarde complète quand on veut importer de nouveau. Sinon c'est pas pris en compte. Malgré que dans une sauvegarde blog par blog, les données de MyMeta y soient. As-tu pu résoudre ce soucis ?
10 De Dsls - 09/06/2010, 19:13
@mirovinben : la 0.4beta2 (cf billet) devrait corriger le problème.
@Jean-Michel : pour changer ton type de mymeta, le plus simple est de changer la valeur (case cochée : valeur 1) pour tous les billet, et supprimer la valeur 0. Il reste ensuite à supprimer la mymeta, et de la recréer avec le nouveau type.
Pour le cas 2, c'est dans les settings du blog. Pour le moment, il "suffit" de copier-coller le setting lors d'une réinstallation... je vais voir ce qui est faisable pour automatiser ça.
Et oui, je vais modifier le thème Mystique pour ajouter la case "se souvenir de moi" dans les commentaires :)
11 De Jean-Michel - 09/06/2010, 22:03
Cas 1 et 2 - D'accord, j'ai vu la manipulation mais c'est pas très évident pour tout le monde. (je dis ça dans le sens "tu proposes un chouette plugin mais on peut vite le lâcher et ça serait vraiment bête") ;)
D'autre part, je pensais que "case à cocher" signifiait pouvoir faire plusieurs choix. Exemple : Menu, 1 case "Entrée", 1 case "Plat", 1 case "Dessert". Soit je coche les 3, soit choix 1 + 2, soit choix 2 + 3, soit 1+ 3.
Il me semblait avoir lu quelque part, qu'il serait possible sur les versions à venir de pouvoir saisir plusieurs valeurs dans une "chaine". Un peu comme pour les tags, les virgules servent de séparateurs. Est-ce toujours d'actualité ?
Penses-tu qu'il soit possible de mettre un nouveau "type" : image. Ce "type" irait puiser dans le gestionnaire des médias.
12 De mirovinben - 10/06/2010, 08:32
Test de la 0.4beta2 avec {{tpl:EntryMyMetaValue id="typePage" key="1"}}. Fonctionne très bien. j'ai bien "dc-supersize".
- une remarque : après dc-supersize, il y a insertion d'un LF ce qui fait que j'obtiens...
<body class="dc-page dc-supersize
">
au lieu de...
<body class="dc-page dc-supersize">
- une question : à quoi correspond key="1" ? Car, si pour le moment je n'ai qu'une entrée dans ma liste, j'envisage d'en ajouter d'autres et espère que ce "1" ne correspond pas au rang de l'item...
13 De Dsls - 10/06/2010, 08:33
Jean-Michel: le type "checkbox" est bien une seule et unique case à cocher.
Gérer des valeurs multiples est actuellement à l'étude, pour une prochaine version. Mais cela aura des impacts coté balises tpl. Il intègrera notamment des listes à choix multiples, ce qui correspondrait au besoin que tu exprimes.
Pour le type image, il y a déjà les pièces jointes. Quel serait l'intérêt d'avoir en plus un type image ?
14 De mirovinben - 10/06/2010, 09:00
Heu... je m'auto-réponds.
J'ai ajouté un autre item. C'est bien celui sélectionné dans l'édition d'un billet qui est pris en compte. Curieusement, le fait d'avoir ajouté, utilisé puis supprimé le second item a fait disparaître le "saut de ligne" après le premier. Sans doute un résidu de la migration du setting de 0.3.1 à 0.4-beta2...
15 De mirovinben - 10/06/2010, 09:25
Je continue mon monologue... après de nouveaux essais plus systématiques.
J'utilise {{tpl:EntryMyMetaValue id="typePage" key="1"}} dans trois fichier template. : post.html, page.html et external.html (correspond à related).
Ben, vous savez quoi ? Seul post.html n'a pas de retour à la ligne intempestif...
16 De Dsls - 10/06/2010, 09:27
mirovinben : j'ai repéré le retour chariot dans le code, il disparaîtra dans la prochaine version.
Le key="1" est un paramètre spécifique aux listes de valeurs, permettant d'afficher la clef, et non la valeur de l'item
17 De Dsls - 10/06/2010, 09:30
une 0.4beta3 temporaire est ici, et devrait corriger les soucis : http://www.morefnu.org/public/archi...
18 De Jean-Michel - 10/06/2010, 12:15
Réponse au commentaire #13 :
Pour les valeurs multiples, j'ai pris l'exemple d'une fiche recette mais en réel, sur WLD, je suis passé par les tags traditionnelles pour marquer les couleurs. Sinon impossible sur MyMeta.
Sans doute que j'ai pas assez de connaissances sur les capacités de "pièces jointes" et de l'utilisation que l'on peut en faire pour une image. Quels sont les limites ? Est-ce qu'on peut différencier les images entre elles ?
Je ne pourrai pas te citer d'exemples généralistes mais ça peut répondre à bien des besoins (style thème magazine). Est-ce compliquer de l'implanter ? (simple question).
19 De mirovinben - 10/06/2010, 13:21
Réponse au #17 :
installation de la 0.4beta3 temporaire. C'est tout bon pour moi après une petite frayeur due aux caches non vidés...
20 De Jmh2o - 17/06/2010, 12:34
Bonjour,
Suis passé de la version 0.4 alpha à beta. Pas de gros problème, sauf quand je clique sur la valeur dans "Mes métadonnées" (côtés admin) je me trouve sur une page blanche. Adresse de la page domaine/admin/plugin.php?p=mymeta&m=viewposts&id=xxx&value=yyy.
Quelle solution ? Merci.
21 De Dsls - 19/06/2010, 08:45
jm2ho : quel est le type de la métadonnée en question ? (chaine, liste de valeurs, ...)
As-tu des billets ayant cette métadonnée définie ? Si oui, quel type de contenu as-tu mis ?
22 De Jmh2o - 19/06/2010, 09:36
J'ai fais 2 captures d'écran pour illustré mon propos.
http://www.levertpays.be/My_Meta_01... : le menu principal de mes métadonnées
http://www.levertpays.be/My_Meta_02... : les valeurs de la métadonnée "Conseil".
Quand je clique sur une des valeurs, j'ai une page blanche.
De plus, impossible de modifier la liste des valeurs d'une "liste d'éléments". Ce qui est embêtant, car mes listes doivent pouvoir évoluer. Je n'avais pas ce problème avec la version 0.4 alpha.
23 De Dsls - 22/06/2010, 14:49
Merci pour le feedback, je regarde ce souci dès que possible.
24 De Jmh2o - 22/06/2010, 15:12
Et merci pour le plugin. Il est fait parti des "indispensables"
25 De Dsls - 23/06/2010, 09:45
Jmh2o: tu peux ajouter des valeurs dans la liste en cliquant sur le le lien "éditer" (icone de bloc-note) à gauche du mymeta.
Pour ta page blanche, peux-tu installer le plugin errorLogger ici : http://www.morefnu.org/public/archi...
et retourner sur la page blanche. En théorie, dans ton répertoire public il devrait apparaître un fichier errors.txt. Je suis preneur de son contenu...
26 De Jmh2o - 23/06/2010, 18:58
Pour l'édition de la liste des valeurs : merci. Sur ce coup, je suis un peu "con".
Pour le message d'erreur, le voici :
8:Use of undefined constant self - assumed 'self' (file : /var/www/levertpays.be/levertpays.be/wwwroot/plugins/multiToc/inc/class.multi.toc.php, 89)
8:Undefined property: dcCore::$meta (file : /var/www/levertpays.be/levertpays.be/wwwroot/plugins/mymeta/index_view_posts.php, 68)
Bien à toi.
27 De Dsls - 24/06/2010, 09:21
Ok, merci pour les logs.
Effectivement, il manquait 2-3 tours de vis pour la compatibilité avec dotclear 2.1.X.
Le plugin en 0.4beta3 devrait corriger le problème : http://www.morefnu.org/public/archi...
28 De Jmh2o - 24/06/2010, 10:09
Désolé, non. Message d'erreur :
8:Undefined property: dcCore::$mymeta (file : /var/www/levertpays.be/levertpays.be/wwwroot/plugins/mymeta/index_view_posts.php, 68)
8:Trying to get property of non-object (file : /var/www/levertpays.be/levertpays.be/wwwroot/plugins/mymeta/index_view_posts.php, 68)
29 De Dsls - 24/06/2010, 10:16
Oops, effectivement. Je viens de mettre une nouvelle version au même endroit (même fichier). Désolé, je n'ai pas de 2.1 sous la main pour valider...
30 De Jmh2o - 24/06/2010, 23:40
Cette fois-ci, c'est parfait. Merci pour ce plugin.
31 De mirovinben - 25/06/2010, 07:22
Dsls, tu parles en #17 d'une 0.4beta3 temporaire. Que j'ai installée. Du coup...
Quid de la nouvelle 0.4-beta2 ? C'est elle que je dois prendre pour avoir la version la plus à jour ?
32 De Dsls - 25/06/2010, 08:43
Mirovinben : la 0.4beta3 figée est celle donnée en #27. Les seuls changements sont une mise à jour pour être compatible avec la branche 2.1 de dotclear. Vu ces derniers retours, il est fort probable que ce soit la 0.4 finale.
33 De Yom - 25/06/2010, 09:41
Il me semble qu'il y a un problème avec le widget "Liste des valeurs MyMeta". Il ne s'affiche pas et empêche l'affichage des widgets suivants. J'ai ouvert un ticket sur le lab qui te propose une solution, ainsi que deux autres pour quelques propositions d'améliorations (entre autre un nouveau plugin qui affiche les métadonnées d'une section).
34 De Yom - 25/06/2010, 09:42
J'ai fait une petite erreur dans mon mail (un mix de deux mail différents !) dans le message précédent. Voici le bon si tu veux me contacter.
35 De Dsls - 25/06/2010, 11:06
Yom : le souci que tu signales devrait être corrigé dans la 0.4beta3 (voir commentaire #27). Il est spécifique à dotclear 2.1.X
Merci pour le feedback, en tout cas :)