-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajout d'un système de labellisation #6462
Ajout d'un système de labellisation #6462
Conversation
…ls sur une publication
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il faudrait aussi retirer les mises à jour des fixtures/tuto/*
, elles n'ont rien à faire là.
J'ai juste regardé rapidement le code, je n'ai pas testé.
Pas encore testé, mais ça a l'air pas mal !
Hmmm, est-ce que cette supposition est fondée ? On devrait pouvoir attribuer plusieurs labels à une publication. Maintenant, je comprends bien le problème pour afficher tous les labels dans les listes de contenus (comme sur la capture d'écran que vous avez mise). Qu'est-ce qu'on pourrait faire ? Quelques idées en vrac :
Bonne idée de colorer ainsi les labels, pour les distinguer des tags (si on reste sur des labels uniquement textuels sans icône). Par contre, il serait peut-être intéressant de pouvoir spécifier la couleur pour chaque label, donc ajouter la couleur comme attribut des labels ? (c'est des réflexions en vrac, à discuter) |
Pour le fait d'avoir plusieurs labels, il y a des chances que la plupart des publications n'aient effectivement qu'un seul label, même si le design devrait en accomoder plusieurs pour couvrir toutes les possibilités. Le design actuel pose déjà des soucis de place sur les cartes. On affiche beaucoup d'information et il n'y a pas de place pour tout. Déjà actuellement, sans rajouter les labels, c'est assez dense et les titres sont régulièrement coupés par les tags. Il faudrait sûrement imaginer quelque chose de plus compact, voire sélectionner plus l'information. C'est un boulot de design pas forcément aisé. À mon avis, ça peut très bien être un travail fait dans une seconde itération, tant que la première itération est présentable. C'est déjà ce que j'ai fait quand j'ai rajouté les objectifs, j'ai omis de faire l'intégration aux cartes.
Je verrais bien une solution à base de nom de classe conventionnel du type |
Je propose d'enlever l'affichage des labels sur les cartes, et de merger une première version minimaliste comme ça. La façon dont on met en valeur les labels pourra faire l'objet d'une autre PR. |
J'ai enlevé l'affichage des labels sur les cartes. Il ne reste plus qu'à faire la QA de cette première version minimaliste. |
Tout est OK ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Beaucoup de petites choses à revoir dans le code.
Vous n'avez pas mis la possibilité d'utiliser le filtre Sans label sur la vue qui liste les contenus ayant tel label. Mais je n'arrive pas à me décider si c'est pertinent ou non d'avoir un tel filtre : il y aura forcément des contenus sans labels, et les lister n'est pas vraiment intéressant (pour le visiteur lambda, pour l'équipe de validation ça peut être intéressant pour remarquer les contenus qui mériteraient un label). Un avis @Arnaud-D ? Si on ajoute le filtre : il faut l'ajouter dans la vue ; si on ne l'ajoute pas, il y a pas mal de lignes qui sautent dans ContentByLabelMixin
.
Il y a un champ Description pour les labels, mais il n'est affiché nul part, on pourrait peut-être l'ajouter au-dessus de la phrase Cette page est un aperçu de la labellisation. Elle vise à valoriser les publications de manière permanente sur le site. ?
Le fait qu'on puisse afficher la page /contenus/labels/
sans spécifier de label et que la page affiche alors toutes les publications, me paraît un peu bizarre... Je serai plutôt d'avis une URL de la forme /contenus/labels/foo/
et s'il n'y pas de label spécifié, c'est une 404.
Il faudrait aussi ajouter des fixtures, comme c'est fait pour les objectifs.
Sinon, c'est bien fonctionnel 👍
La CI ne passe pas parce qu'il manque des migrations : python manage.py makemigrations Et puisqu'on en est à la troisième migrations pour les labels dans cette PR, ce serait bien de les fusionner : python manage.py squashmigrations --squashed-name labels tutorialv2 0037_labels 0039_auto_20230418_2206 Contrairement à ce que raconte la commande |
Je n'ai pas bien compris comment il fallait procéder, après avoir fait
Je supprime les migrations dont les noms commencent par 0038_ et 0039_ . Ensuite, j'applique les migrations avec la commande
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est fonctionnel.
Quelques petits détails à corriger dans le code, et je merge.
Nous avons fini les modifications demandées. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3 points restants et on est bon ! On va finir par converger vers le merge :)
@victorlohezic : ne marque pas toi-même les conversations comme résolues, laisse celui qui a entamé la discussion s'assurer que c'est vraiment résolu :) Sinon là c'est le bazar pour m'y retrouver dans les remarques que j'avais faite et voir si vous les avez correctement traitées.
J'ai fait les modifications demandées :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QA OK ✔️
Cette fonctionnalité répond au besoin suivant : Valoriser les publications de manière permanente sur le site (contrairement à la une).
Cette fonctionnalité est liée au groupe de travail et au projet GitHub associé. Pour en savoir plus, vous pouvez consulter ce sujet du forum.
Les modifications qui ont été faites sont :
Pour l'organisation du code, nous nous sommes fortement inspirés de celle pour la classification des objectifs. Nous avons mis la vue et le formulaire dans un seul fichier
labels.py
. Les raisons sont expliquées ici.Nous avons supposé que la majorité des publications labellisées posséderont un seul label. Par conséquent, si une publication est labellisée, nous affichons seulement son premier label.
![Image pour illustrer le choix d'afficher un seul label](https://camo.githubusercontent.com/34f85897712b7a093e1a50c67a2f737a9b0b327c2c26091c1bf42a06a87a5ccc/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f313037343735373331373039363132303335302f313037353832393133333638343235323637322f696d6167652e706e67)
Note : le premier label est d'une couleur plus foncée car le curseur de la souris se trouve dessus.
Contrôle qualité
Par exemple :
python manage.py migrate