Changeset 81548 in spip-zone


Ignore:
Timestamp:
Mar 20, 2014, 5:55:45 PM (5 years ago)
Author:
severo@…
Message:

tickets - MAJ readme

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/trunk/README.md

    r81547 r81548  
    2727## En cours
    2828
    29 ### pour 3.2.0 - Migration de 7 champs en groupes de mots clés
     29## Versions
    3030
    31 Actuellement la table spip_tickets contient sept champs qui servent à décrire sémantiquement les tickets. Pour trois d'entre eux, les choix possibles sont fixés en dur dans le code : severite (bloquant, important, normal, peu_important), tracker (probleme, tache, amélioration) et navigateur (android, firefox...) Les quatre autres sont désactivés par défaut, et ne proposent aucun choix par défaut, mais il est possible d'en ajouter via la page de configuration ou les variables globales : projet, composant, version, jalon.
     31### 4.0.0
    3232
    33 On pourrait migrer ces 7 champs sous la forme de mots/groupes de mots.
     33* migration de sept champs (severite, tracker, navigateur, projet, composant, version, jalon) vers des groupes de mots-clés :
    3434
    35 À noter que la création des mots-clés n'aurait lieu que lors de la migration, et pour une installation fraiche, aucun groupe de mots ne serait créé.
     35 * migration des sept champs (81543)
     36 * fonction de migration (81313, 81319, 81527, 81540, 81544) - voir le détail ci-dessous.
     37 * numéro de schema pour la migration : 2.0.0 (81340)
     38 * les mots-clés créés pour le champ severite ont un logo, correspondant à la puce associée dans les squelettes (81326)
     39 * les groupes de mots-clés et les mots-clés d'un même groupe sont ordonnés, ce qui permet après migration de tout afficher dans le même ordre (81328, 81335)
     40 * suppression des sept champs dans les squelettes publics et privés, formulaires, flux RSS, crayons, fonctions, chaînes de langues (81491, 81493, 81495, 81496, 81497, 81498, 81520, 81523, 81529)
     41 * option de configuration pour spécifier qu'un groupe de mots contient des "versions" pour la roadmap (81499, 81501)
    3642
    37 Plusieurs problèmes se posent :
     43* divers :
    3844
    39 * gestion des langues (il faudra éditer tous les mots-clés si on ajoute une nouvelle langue, alors que dans le cas des champs, c'est géré par les fichiers de langue, puisque la liste des choix est fermée)
    40 * tri des tables de tickets : comment choisir les colonnes à afficher si ce sont des groupes de mots-clés, et non plus des champs ? Tous les mots-clés ? Une sélection configurée dans la page de conf des tickets ? Aucun groupe ? Et pour chaque groupe affiché dans la table, comment gérer le tri par colonne dans ces cas ?
    41 * risques de tout casser pendant la migration
    42 * pas besoin de supprimer les champs, il suffit de pouvoir les désactiver si on n'en a pas besoin.
     45 * changement de version (81490)
     46 * légers changements dans le slogan et la description du plugin (81529)
     47 * clarification de la page de configuration (81531) et ajout de liens vers les groupes de mots (81546)
     48 * formulaire de tri des tickets : option de désélection d'un mot-clé (81539, 81547)
     49 
     50#### Details de la migration
    4351
    44 Les avantages à migrer les champs sous la forme de mots/groupes de mots sont :
     52Jusqu'à 4.0.0, la table spip_tickets contient sept champs qui servent à décrire sémantiquement les tickets. Pour trois d'entre eux, les choix possibles sont fixés en dur dans le code : severite (bloquant, important, normal, peu_important), tracker (probleme, tache, amélioration) et navigateur (android, firefox...) Les quatre autres sont désactivés par défaut, et ne proposent aucun choix par défaut, mais il est possible d'en ajouter via la page de configuration ou les variables globales : projet, composant, version, jalon.
     53
     54En 4.0.0, on migre ces sept champs vers des mots/groupes de mots liés aux tickets.
     55
     56À noter que la création des mots-clés n'a lieu que lors de la migration. Pour une installation fraiche 4.0.0, aucun groupe de mots n'est créé.
     57
     58*Attention, on perd quelques fonctionnalités* (voir 81491 et 81520) :
     59
     601. listes de tickets filtrées par `tracker=""`
     612. tri selon un colonne (pas de tri sur les colonnes de mots)
     623. la liste `ss_version` - pas moyen avec le code actuel d'afficher la liste des tickets qui ne sont liés à aucun mot de tel groupe de mots.
     634. gestion des langues (il faut éditer tous les mots-clés si on ajoute une nouvelle langue, alors que dans le cas des champs, c'était géré par les fichiers de langue, puisque la liste des choix était fermée)
     64
     65En revanche, les avantages avec cette migration sont :
    4566
    4667* faciliter la personnalisation des champs et des choix proposés pour chaque champ (objets éditoriaux, au lieu de valeur en configuration = pénible à changer, ou en dur dans le code). Il sera ensuite possible aux responsables du site d'ajouter/modifier/supprimer des niveaux de sévérité du bug, par exemple, modifier la liste de navigateurs, voire également supprimer des critères (si tracker ou composant ne leur paraît pas utile, par exemple) ou en ajouter d'autres (thème du ticket, région géographique concernée, ou tout autre critère qui leur paraisse pertinent).
    4768* github fait comme ça : chaque projet décide de la sémantique et la classification de ses tickets (encore plus à plat pour github : un seul groupe de mots)
    4869
    49 On fera les modifications dans trunk, avec la version 3.2.0. Pour conserver le fonctionnement précédent, utiliser la branche branches/v2 (c'est toujours la version stable, avec ZIP).
     70On a décidé de faire la migration automatiquement à la mise à jour du plugin, et non pas sur un déclenchement manuel et par champ, qui était une autre possibilité, afin d'éviter d'avoir à gérer la cohabitation entre les deux situations dans le code.
    5071
    51 #### Partie base de données
    52 
    53 On décide de faire la migration automatiquement à la mise à jour du plugin, et non pas sur un déclenchement manuel et par champ, qui était une autre possibilité, afin d'éviter d'avoir à gérer la cohabitation entre les deux situations dans le code.
    54 
    55 On met à jour la version de la base (schema) à 2.0.0, et dans autorisations, on ajoute
    56 
    57     $maj['2.0.0'] = array(array('maj_tickets_200'));
    58 
    59 Dans la fonction `maj_tickets_200()`, on répétera, pour chacun des 7 champs, les étapes suivantes.
     72On met à jour la version de la base (schema) à 2.0.0, et on appelle la fonction `migrer_champs_vers_mots_cles()` (dans `inc/migration_200.php`) :
    6073
    61741. Récupérer la liste des choix
     
    6780Pour le titre, le nom du champ. On ne vérifie pas s'il existe un autre groupe avec le même nom, puisqu'il n'y a pas de condition d'unicité sur le titre. On ne gère pas le multilinguisme (on le laisse aux adminsitrateurs/trices), on met juste le nom dans la langue du site.
    6881
    69 Mettre aussi dans le descriptif rapide une indication que le groupe a été créé par le plugin tickets ?
     82Dans la configuration du groupe, on sélectionne
    7083
    71 Enfin, dans la configuration du groupe :
    72 
    73 * cocher (façon de parler) "associable avec tickets"
    74 * cocher "On ne peut sélectionner qu’un seul mot-clé à la fois dans ce groupe", sauf peut être pour "navigateurs".
    75 * cocher uniquement "Les mots de ce groupe peuvent être attribués par : les administrateurs du site" et pas les rédacteurs.
     84* "associable avec tickets"
     85* "champ important" pour `sévérité` et `tracker`
     86* "On ne peut sélectionner qu’un seul mot-clé à la fois dans ce groupe", sauf pour `navigateur`.
     87* "Les mots de ce groupe peuvent être attribués par : les administrateurs du site" et pas les rédacteurs.
    7688
    77893. Créer les mots-clés
    7890
    79 Pour chaque élément du tableau, créer un mot-clé : titre et éventuellement descriptif rapide dans la langue du site.
     91Pour chaque élément du tableau, on crée un mot-clé : titre dans la langue du site.
    8092
    81934. Création des liens
    8294
    83 Associer chaque ticket au nouveau mot-clé qui correspond à la valeur du champ (si le champ est rempli).
     95On associe chaque ticket au mot-clé qui correspond à la valeur du champ (si le champ est rempli).
    8496
    85975. Ménage
    8698
    87 Supprimer la colonne de la table spip_tickets, et l'éventuelle configuration des choix possible du champ dans spip_meta.
    88 
    89 #### Partie code
    90 
    91 1. Virer les textarea dans la page de configuration des tickets.
    92 2. Virer la configuration "utiliser les mots-clés" - elle n'a pas de sens, puisque c'est géré dans la configuration de chaque groupe de mots (associer ou non avec les tickets). On laisse par contre une explication avec la liste des groupes de mots associables aux tickets, avec lien vers leur page privée, plus un lien globale de gestion des groupes de mots. Si aucun groupe de mots n'est associable aux tickets, un message spécifique pour expliquer qu'on peut lier des mots aux tickets.
    93 3. Dans les squelettes, tout considérer comme des mots-clés, et non plus comme des champ. Dans les formulaires, les crayons (vues et contrôleurs) et les tables qui listent les tickets. Ne pas oublier de prendre en compte la notion de groupe important (pour obliger à choisir une valeur ? Est-ce que ce choix oblige à remplir le champ, ou non ?) et d'unicité du choix, si cette option du groupe de mots est cochée.
    94 
    95 ## Versions
    96 
    97 ### 4.0.0
    98 
    99 * migration de sept champs (severite, tracker, navigateur, projet, composant, version, jalon) vers des groupes de mots-clés :
    100 
    101  * fonction de migration (81313, 81319, 81527) - voir le détail au dessus.
    102  * numéro de schema pour la migration : 2.0.0 (81340)
    103  * les mots-clés créés pour le champ severite ont un logo, correspondant à la puce associée dans les squelettes (81326)
    104  * les groupes de mots-clés et les mots-clés d'un même groupe sont ordonnés, ce qui permet après migration de tout afficher dans le même ordre (81328, 81335)
    105  * suppression des 7 champs dans les squelettes publics et privés, formulaires, flux RSS, crayons, fonctions, chaînes de langues (81491, 81493, 81495, 81496, 81497, 81498, 81520, 81523, 81529)
    106  * option de configuration pour spécifier qu'un groupe de mots contient des "versions" pour la roadmap (81499, 81501)
    107 
    108 * divers :
    109 
    110  * changement de version (81490)
    111  * légers changements dans le slogan et la description du plugin (81529)
    112  * clarification de la page de configuration (81531)
    113  * formulaire de tri des tickets : option de désélection d'un mot-clé (81539)
    114  
    115 *Attention, on perd quelques fonctionnalités* (voir 81491 et 81520) :
    116 
    117 1. listes de tickets filtrées par `tracker=""`
    118 2. tri selon un colonne (pas de tri sur les colonnes de mots)
    119 3. la liste `ss_version` - pas moyen avec le code actuel d'afficher la liste des tickets qui ne sont liés à aucun mot de tel groupe de mots.
     99On supprime la colonne de la table `spip_tickets`, et l'éventuelle configuration des choix possible du champ dans `spip_meta`.
    120100
    121101### 3.2.0
Note: See TracChangeset for help on using the changeset viewer.