Ce plugin est une extension de Textwheel, il ajoute de nouveaux raccourcis typographiques permettant de générer rapidement une liste de choses à faire proprement présentée, et triable.
Il ne s’agit pas d’une fonctionnalité mais juste de la présentation.
Installation
La branche v1 du plugin est compatible SPIP 2.1 et nécessite Textwheel ainsi que Bonux. Les nouvelles branche v2 et ultérieures ne nécessitent plus que Textwheel distribué par défaut avec SPIP.
Les branches v2 et ultérieures apportent de nouvelles fonctions au plugin mais assure une compatibilité ascendante parfaite avec la branche v1.
Utilisation de base
Une liste commence par une suite de trois +++
suivie d’un retour à la ligne, et se termine de la même façon ; ou bien elle est incluse entre les marqueurs <todo></todo>
. Cette deuxième solution se dégrade mieux lorsque le plugin n’est plus là : les balises deviennent invisibles et il ne reste que la liste à l’intérieur.
Ensuite, c’est le premier caractère qui détermine le statut de la tâche qui se limite pour la branche v1 à :
-
+
indique quelque chose à faire ; -
o
(lettre o minuscule) signifie une tâche en cours ; -
-
indique une chose faite.
Pour les branches v2 et ultérieures, les nouveaux statuts ci-dessous ont été rajoutés :
-
x
(lettre x minuscule) indique une tâche abandonnée ; -
=
signifie une tâche arrêtée temporairement ; -
!
indique qu’une action est nécessaire pour débloquer cette tâche ; -
?
indique qu’on ne connait pas le statut exact de cette tâche.
Utilisation avancée avec les branches v2 et ultérieures
A partir de la branche v2 le plugin se dote des améliorations suivantes :
- qualification des tâches avec une priorité, des catégories et des informations typées ;
- regroupement de tâches par projet ;
- précision du titre d’une tâche avec un descriptif libre.
Toute ces informations complémentaires s’écrivent à la suite du titre de la tâche séparées par un espace.
Priorité
Toute tâche peut être affectée d’une priorité écrite @n
ou #n
où n est un chiffre compris entre 1 et 9.
Catégories
Toute information écrite @tag
ou #tag
est considérée comme une catégorie à partir du moment où « tag » est une chaine alphanumérique.
Attention : le choix @ ou # est fait une fois pour toute pour le site au travers d’une constante qui vaut @ par défaut. Vous pouvez la modifier dans votre config/mes_options.php
.
Pour chaque tâche la liste des étiquettes est collectée et affichée précédée d’un petit caractère habituel pour les tags. Si un tag correspond au titre d’un mot-clé SPIP, alors il est affiché comme un lien vers la page mot-clé associée.
Informations complémentaires typées
Les informations typées sont écrites avec la syntaxe type:valeur
où type et valeur sont des mots pouvant contenir des caractères alphanumériques y compris « - », « . » et « _ ». Les types d’information sont extensibles mais le plugin ToDo propose déjà 4 types prédéfinis :
- « debut » : pour la date de début de la tâche sous la forme 2012-06-02 ;
- « fin » : pour la date de fin de la tâche sous la forme 2012-06-09 ;
- « commit » : pour un numéro de commit générant un lien vers son dépôt et pouvant s’écrire,
- z72463 pour la zone en SVN,
- c12922 pour le core en SVN,
- « version » : un numéro de version.
A partir de la v3, la forge git de SPIP est prise en compte dans l’information « commit » et dans une nouvelle information nommée « issue ». Pour chacune des ces informations le format est g:orga:repo:ref
, où :
-
g
indique la forge git de SPIP, -
orga
est un identifiant abrégé d’un caractère pour l’organisation soit- x pour spip-contrib-extensions,
- s pour spip-contrib-squelettes,
- t pour spip-contrib-themes,
- o pour spip-contrib-outils,
- g pour spip-galaxie,
- repo, le nom du dépôt
- et ref est soit le sha complet du commit, soit le numéro du ticket.
Il est possible d’insérer plusieurs informations de commit pour la même tâche. Celles-ci seront affichées comme une liste de révision séparées par une virgule.
Projets
Un projet est détecté par le caractère « :» en début de ligne. Tout le reste de la ligne constitue le nom du projet. Les tâches d’un projet sont regroupées dans un même bloc de visualisation et numérotée de 1 à n.
Descriptif complémentaire libre
Toute ligne ne commençant pas par un caractère signifiant (statut ou projet) est donc un descriptif libre. Chaque ligne du descriptif est affichée à la suite du libellé de la tâche.
Intégration au Porte-plume
La branche v2 pour SPIP 3 permet aussi d’utiliser la barre d’édition du Porte-plume pour ajouter une tâche ou en changer le statut. Un bloc spécial d’édition est dédié aux todos et propose un bouton par statut.
Evolutions
- version 3.0.2 : compatibilité spip 4 et ajout de la prise en compte de la forge git de spip pour les commits et les tickets
- version 2.2.0 : changement de la stratégie et du prototype des fonctions de formatage des informations typées
- version 2.0.7 : ajout de la possibilité de lier le tag à un mot-clé SPIP
- version 2.1.0 : ajout du # comme indicateur de priorité ou d’étiquette en plus du @ qui reste la valeur par défaut.
- version 2.1.1 : ajout d’une classe « fermee » à la todolist si celle-ci ne contient que des tâches dans un état final.
- version 2.1.2 : ajout d’un attribut format optionnel à la balise
<todo>
qui permet d’utiliser le squeletteinclure/todo_$format.html
pour afficher la todo. - version 2.1.3 : ajout d’une ancre au début de chaque todo d’une page.
- version 2.1.4 : amélioration de la regexp pour éviter l’incompatibilité avec le raccourci page ou onglet du CS.
Exemple pour la branche v1
+++
- Ça c'est déjà fait
+ Une chose
+ Deux ou trois choses
o Suis en train de le faire
- Well done
+++
ou bien
<todo>
- Ça c'est déjà fait
+ Une chose
+ Deux ou trois choses
o Suis en train de le faire
- Well done
</todo>
Ce qui génère automatiquement ceci, avec les titres de colonnes permettant de trier par statut, par titre, ou de remettre dans l’ordre :
Exemple pour la branche v2
<todo>
:Projet 1
- Refaire fonctionner l'aide en ligne des plugins fin:2013-05-26 commit:z72345 @1 @aide @sad
o Utiliser Tickets pour remonter les problème du site, les actions à réaliser voire les erreurs sur la présentation des plugins @2 @sad commit:z70345
- Ajouter un menu des langues disponibles fin:2013-05-26 commit:c12345 @1 @traduction
+ Vérifier la gestion correcte des langues dans les pages @1 @traduction
+ Vérifier les traductions @1 @traduction
On parle ici des traductions du plugin Plugins SPIP et du Upload de SPIP !
x Mettre en place la gestion des tags en plus des catégories (plugin étiquettes ?) fin:2013-05-28
= Revoir la présentation du formulaire de sélection des plugins en vedette ou supprimer cette fonction
:Projet 2
! Etendre le serveur d'aide et le promouvoir @2 @aide @sad
? Ajouter une fonction d'agrégateur de profil utilisateur pour compléter l'aspect développement @3
</todo>
Ce qui génère automatiquement ceci, avec en particulier la colonne Révision qui possède des liens vers la Zone ou le Core :
Discussions par date d’activité
14 discussions
Bonjour,
je n’arrive pas a faire fonctionner le plugin sur l’environnement suivant
SPIP 3.3.0-dev GIT [master : 33a30511]
Todo 2.3.0
TextWheel pour SPIP 1.6.5
SPIP Bonux 3.7.2
une idée , une piste , un tuto
Merci
Tu veux dire quoi par « pas faire fonctionner » ? Tu n’arrives pas à l’activer ou les raccourcis ne marchent pas ?
Par contre, je ne vois pas le rapport de Todo et de Bonux ?
Erreur lors de la mise à jour vers la version 3.0.6 du plugin
Bonjour,
Lors de la mise à jour du plugin sur un site spip 4.1.10 le message d’erreur suivant apparaît dans la partie privée...
Erreur d’exécution ../plugins-dist/svp/formulaires/inc-admin_plugin.html | File […]/plugins-dist/textwheel/engine/textwheel.php Line 206 : Failed opening required '../plugins/auto/todo/v3.0.6/wheels/todo.php' (include_path='.:/opt/plesk/php/8.1/share/pear')
Et dans la partie publique, après avoir nettoyé le cache :
Warning: Undefined array key "titre" in ..../plugins/auto/todo/wheels/todo.php on line 213
Tu peux me donner, stp, la todo qui provoque le warning sur le titre car je n’arrive pas à reproduire ?
Bon j’ai sorti une version 3.0.7 qui devrait corriger ce souci mais j’aimerais voir la todo qui le provoque parce que pour moi ça ne peut pas se produire si la tache est bien écrite.
Ok, je ne vois ton message que ce matin au bureau...
J’ai juste anonymisé un peu... ;-)
Sinon, je viens de mettre à jour avec la version 3.0.7 et le message d’erreur ne s’affiche plus. 👍🏻
Oui alors j’avais bien raison : il n’est pas possible d’avoir ce type de warning si tu n’as pas une erreur de syntaxe dans la todo. Et c’est le cas :
Si tu regardes ta première tache du projet 1, tu as une balise del qui est avant le + qui indique un début de tache. Et d’ailleurs tu ne vois pas la puce de la tache !
Bon donc j’hésite à conserver cette modification car on ne verra plus les erreurs. Ou alors j’envoie une erreur en affichant un truc qui dit que la syntaxe est mauvaise. Qu’en penses-tu ?
Oui, le mieux est que les erreurs puissent se voir, peut-être ajouter : « vérifier votre syntaxe » lorsqu’une erreur apparaît, comme tu le proposes... De mon côté, je viens de corriger l’énumération de la liste... Je me demande d’ailleurs pourquoi j’ai utilisé la balise
<del></del>
? Mais ça, c’est une autre histoire 😂Enfin Merci pour ta réactivité 👍🏻
Répondre à ce message
Bonjour,
Ce plugin qui semble peu utile rend d’excellents services ! Pensez-vous qu’il sera porté sur la version 4.0 de Spip ?
Merci
Bonjour,
Il l’est déjà compatible SPIP 4. C’est juste que le tag n’a pas encore été créé.
J’essaye de m’en occuper au plus vite.
Répondre à ce message
Pour info après changement des bornes
compatibilite=« [3.0.0 ;3.2.*] »
RAS
Bonjour,
Merci pour ce plugin.
J’ai fait un essai dans un article. Il y a un point qui semble ne pas fonctionner c’est la fonction tri (bien pratique, si la liste est longue ! )
Lorsqu’on demande le tri par @n on obtient visiblement le tri (inverse) sur la balise #
Je travail sous SPIP 3.2.1 [23954]
Répondre à ce message
Une astuce soufflée par Matthieu sur IRC :
Si on veut utiliser le plugin TODO dans un squelette on peut le faire en utilisant le code suivant (dans le fichier html du squelette) :
(cf l’image résultante)
Et c’est assez génial quand on bosse sur un squelette en développement !
Merci Vincent, merci Matthieu !
++
Cyril
Bonjour,
Comment faire pour éditer directement la liste dans la page appelée ?
Euh si tu parles de l’exemple en squelette du commentaire, bah tu peux pas, puisque justement le texte est dans le squelette. Sinon pour le plugin bah c’est à écrire dans du texte SPIP, donc c’est en éditant le texte, par exemple avec le plugin Crayons.
Répondre à ce message
Je suis en train de découvrir et de tester ce plugin, il est super pratique, merci aux 2 auteurs.
J’ai noté un truc problématique dans le code HTML produit : certains éléments sont encapsulés dans des
<p>
là où il ne faut pas.En schématisant, ça donne ça :
Pour l’ancre, c’est pas génial, et pour le commentaire
<!--ajaxbloc-->
ça va pas du tout. Un filtre|propre
appliqué au mauvais endroit peut-être ?Répondre à ce message
Bonjour,
il semble que la balise +++ de Todo prenne le pas sur la balise ++++ de la fonction « Découpe en pages et onglets » du Couteau suisse. Le Couteau suisse, rappelons-le, permet de découper un long article en pages par la seule utilisation des quatre signes ++++ consécutifs à l’endroit qui permet de recevoir la coupure.
Comme je dois corriger dès maintenant ma page défectueuse qui est publique, je recopie le code qui interfère :
Alors que devrait s’insérer ici un saut de page (++++) , j’ai l’aspect Todo qui s’immisce.
Le résultat est que mon article de 7 pages s’affiche sur une seule page (Découpe ne s’applique pas) et l’article affiche donc 7 fois le visuel de Todo en lieu et place des sauts de page appelés.
Y a-t-il un correctif connu ? Comment éviter cette confusion des genres ?
Merci,
Hello,
exact, c’est un cas qui n’avait pas encore été rencontré. Ca prouve une fois de plus que ces types de raccourcis sont pas toujours heureux surtout quand il existe des alternatives sous forme de balise qui se dégradent bien mieux.
Il doit être possible de limiter la détection de todo à 3 caractères + uniquement et donc de corriger ton souci. Par contre, il me semble que la lame du couteau suisse s’inspire d’un plugin « onglets dans le texte ». Il me semble que ce plugin autorise l’utilisation de la balise
<onglet>
pour définir les onglets et si c’est le cas avec le couteau suisse ça règlerais aussi ton problème.Hello,
La version Todo 2.1.4 corrige ce problème de compatibilité. Essaye de mettre à jour et de tester sur ton site.
Répondre à ce message
Bonjour Eric/Rasta
Je me mets à faire utiliser ToDo...
- Une remarque déjà : pourquoi ne pas afficher le + dans son mini-bouton (la sémantique en est plus universelle que le blanc... ;-)
- Une idée (suggestion ?)
- avoir une boite d’aide complémentaire (eventuellement en reprenant le bouton blanc..)
affichant les syntaxes spécifiques dans une colonne extra...
(passer par le bouton ajouté en barre porte-plume est plus long...)
Mais je ne sais pas le programmer !
J’imagine qu’il faudrait faire cela par :
- un pipeline du privé (ou activable/debrayable par CFG)
- filtrant à l’appel de
article_edit
sur presence des balises de démarrage ?
Et/ou : insérer directement des modèles de saisie en cas d’usage de « Inser_modeles » ?
[HS]
une idée (qui traine depuis longtemps) : ajouter un bouton « Rechercher » (avec le formulaire #RECHERCHE_PRIVE) à l’icone de creation de lien spippour générer facilement le lien de navigation interne vers un article lié ...
YannX
(encore trop d’idées au réveil..)
Hello,
C’est exact que le + est plus logique quand on s’attache à l’édition mais le parti pris de cette barre est de présenter les icônes affichés. On pourrait changer néanmoins mais j’avoue que ce que j’aimerais avant tout c’est améliorer le design de ces icônes surtout ceux que j’ai rajouté en v2.
Pour le reste je pense que c’est une aide, donc il faudrait utiliser l’aide de SPIP pour cela... humm
Répondre à ce message
Bonjour,
Ce plugin est excellent !
Une idée d’évolution, permettre la personnalisation des urls renseignées en dur ici : http://zone.spip.org/trac/spip-zone/browser/_plugins_/todo/trunk/inc/todo_formater_commit.php#L17
Un petit fichier de configuration dans l’espace privé pour indiquer nos urls. (On a parfois nos propres tracks/svn)
A moins que ce soit déjà possible ?
Teddy,
Cette fonction est surchargeable, donc c’est déjà possible. Tu peux coder une surcharge en partant de cette fonction et par exemple en notant les commits de ton trac commit:t2102.
Cool ! Ypluka !
Répondre à ce message
Bonjour
Comment mettre une tache en avant par rapport aux autres ?
Je verrais bien un fond de couleur mais avec un !! par exemple
Une autre idée ?
Ben que veux dire mettre une tâche en avant sémantiquement pour toi déjà ? Quel but ?
J’ai fait une todo avec plusieurs partie mais j’ai un point a traiter avant tous.
Je vais organisé la todo autrement.
Merci
Répondre à ce message
Je viens de rajouter un bouton et sous-boutons dans porte-plume, à tester (uniquement sous SPIP >= 3.0) car je ne sais pas débuguer sous SPIP 2.1.
cf : http://zone.spip.org/trac/spip-zone/changeset/72429
Le porte-plume fonctionnant pareillement, il devrait pas y avoir de souci :-) Je teste pour SPIP 2.1 dans la soirée.
Pas sûr, il me semble qu’il y a eu des changements minimes dans l’API, notemment la fonction que j’ai utilisé pour insérer les boutons. Et comme je n’ai pas de sites pour tester je n’ai pas vraiment envie de me prendre le chou
Non, j’ai essayé ça ne fonctionne pas en SPIP 2.1
Est ce que (1) ça provoque un comportement étrange ou (2) cela ne fonctionne simplement pas ?
Ci c’est le 2, tant pis pour la 2.1, celui qui en aura besoin le fera. Si c’est le 1, le virer de la version non trunk.
Dis moi, perso je n’ai pas réellement envie d’installer une 2.1 pour cela.
Non c’est pas grave au sens où ça ne marche simplement pas. Pas de dégradation.
Je regarderais si j’ai l’occasion mais pour l’instant je laisse de coté.
Que ça ne t’empêche pas de rajouter tes nouveaux raccourcis pour SPIP 3.0 :p
Ah ça c’est déjà fait et je viens de mettre à jour l’article !
Oups, j’avais oublier de revenir par ici. Effectivement, ça ne fonctionne pas du tout (et c’est pareil pour un autre plugin —donc le souci vient de PP...) mais sinon rien de cassé..
Ah tiens, il y a une branche v2... M’a l’air sympa tout ça :)
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |