Projet

Général

Profil

Development #56519

Ajouter la possibilité de faire une sauvegarde de page (poser une étiquette sur une version)

Ajouté par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
31 août 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

L'historique liste toutes les version et il serait très intéressant de pouvoir poser une étiquette sur certaines d'entre elles, comme cela se fait dans wcs avec les formulaires avec la fonction "Enregistrer une sauvegarde".

Un cas d'usage est par exemple de marquer les versions d'une page CGU et de faciliter le suivi des attributs de profil d'acceptation des CGU où chaque attribut correspondrait à une version.


Fichiers

Révisions associées

Révision 4ed8ebcf (diff)
Ajouté par A. Berriot il y a presque 2 ans

manager: support for saving a page snapshot with a label (#56519)

Historique

#1

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans

  • Lié à Development #49204: "Applification" des modules (applications métiers) Publik ajouté
#2

Mis à jour par A. Berriot il y a presque 2 ans

  • Assigné à mis à A. Berriot
#3

Mis à jour par A. Berriot il y a presque 2 ans

#4

Mis à jour par A. Berriot il y a presque 2 ans

Je me suis permise de restructurer le layout en passant sur une table, plutôt que sur une liste. Ça permet un affichage plus aéré et l'alignement augmente aussi la lisibilité

#5

Mis à jour par A. Berriot il y a presque 2 ans

  • Assigné à changé de Benjamin Dauvergne à A. Berriot
#6

Mis à jour par Valentin Deniaud il y a presque 2 ans

Agate Berriot a écrit :

Je me suis permise de restructurer le layout en passant sur une table, plutôt que sur une liste. Ça permet un affichage plus aéré et l'alignement augmente aussi la lisibilité

Effectivement, c'est plus joli ! Par contre ce layout est aussi utilisé côté wcs (sur la page d'un formulaire/workflow, lien « Historique » à droite), sauf qu'on y a mis des boutons radio pour voir les différences entre deux versions.
Ça pose donc le problème d'introduire une divergence entre les écrans, et plus embêtant de peut-être découvrir en voulant permettre cette fonctionnalité dans combo que c'est galère avec une table.
Donc je dirais soit aller voir ce qu'il est possible de faire dans wcs, soit revenir en arrière ici.

Pour info dans ce genre de cas mon goût personnel est de splitter en deux commits, mais je suis un peu maniaque des diffs :)

Pour la vue snapshot_set_label on est plutôt à toujours faire des class based view.

Il y a un intérêt à avoir null=True pour le CharField ?

#7

Mis à jour par A. Berriot il y a presque 2 ans

Valentin Deniaud a écrit :

Agate Berriot a écrit :

Je me suis permise de restructurer le layout en passant sur une table, plutôt que sur une liste. Ça permet un affichage plus aéré et l'alignement augmente aussi la lisibilité

Effectivement, c'est plus joli ! Par contre ce layout est aussi utilisé côté wcs (sur la page d'un formulaire/workflow, lien « Historique » à droite), sauf qu'on y a mis des boutons radio pour voir les différences entre deux versions.
Ça pose donc le problème d'introduire une divergence entre les écrans, et plus embêtant de peut-être découvrir en voulant permettre cette fonctionnalité dans combo que c'est galère avec une table.
Donc je dirais soit aller voir ce qu'il est possible de faire dans wcs, soit revenir en arrière ici.

Pour info dans ce genre de cas mon goût personnel est de splitter en deux commits, mais je suis un peu maniaque des diffs :)

Pour la vue snapshot_set_label on est plutôt à toujours faire des class based view.

Il y a un intérêt à avoir null=True pour le CharField ?

Pour le null=True, vu qu'il y a des snapshots existants, ça me semblait nécessaire puisqu'on rajoute une colonne sans valeur par défaut.

Je vais voir avec Fred ce qu'il pense de changer le layout sur WCS :)

#9

Mis à jour par A. Berriot il y a presque 2 ans

Pour le null=True, vu qu'il y a des snapshots existants, ça me semblait nécessaire puisqu'on rajoute une colonne sans valeur par défaut.

Je viens d'adresser ce point sur mon dernier patch, comme discuté avec Valentin et expliqué sur https://docs.djangoproject.com/en/4.0/ref/models/fields/#null, le NULL sur un champ texte est pas nécessaire ni souhaitable.

#10

Mis à jour par Frédéric Péters il y a presque 2 ans

Je vais voir avec Fred ce qu'il pense de changer le layout sur WCS :)

Pas d'objection à l'utilisation d'un tableau mais une note rapide avec le tableau pas besoin de mettre prénom nom entre parenthèses.

Plus important, je préfère ce qui est fait dans wcs où "Enregistrer une sauvegarde" prend la version en cours et la duplique avec un libellé, et dans l'historique ça apparait ainsi :

  • date·heure, le nom donné à cette version en gras
  • date·heure, le snapshot de la précédente modif
  • date·heure, le snapshot de la précédente modif
  • ...

Dans la disposition tableau proposée, ça permet d'avoir une seule colonne avec soit le nom d'une version explicite, soit la description automatique, ça évite aux lignes de passer sur deux lignes et au tableau à perdre en lisibilité quand un libellé est un peu long (pas de colonne élargie mais vide sur la plupart des lignes).

En fait la réalisation du ticket correspond bien à la description "pouvoir poser une étiquette sur certaines d'entre elles" mais l'important c'était "comme cela se fait dans wcs" (qui était à lire comme pas besoin de pouvoir poser de nom sur des vieilles versions et une action explicite depuis la page générale, pas la page de l'historique).

Côté code je pense que ça ne demande pas trop de changement,

+        r'^pages/(?P<page_pk>\d+)/history/(?P<pk>\d+)/set-label$',
→
+        r'^pages/(?P<page_pk>\d+)/history/save$',

et dans la vue sur le POST du formulaire qui demande le libellé, PageSnapshot.take(..., label=le nom).

#12

Mis à jour par A. Berriot il y a presque 2 ans

Mon dernier patch intègre les remarques de Valentin et Fred, notamment :

- Passage sur une class based view
- le label n'est plus settable dans l'historique mais lors d'une action explicite de sauvegarde (dans le menu kebab)
- petites remises en formes (parenthèses retirées, gras)

#13

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#14

Mis à jour par A. Berriot il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6c8476b2f26451257f94ad933943baa0931a05ee
Author: Agate <aberriot@entrouvert.com>
Date:   Wed Jul 6 15:04:14 2022 +0200

    manager: support for saving a page snapshot with a label (#56519)
#15

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#16

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

#17

Mis à jour par Brice Mallet il y a plus d'un an

  • Tags mis à applification
#18

Mis à jour par Frédéric Péters il y a plus d'un an

  • Tags applification supprimé
#19

Mis à jour par Frédéric Péters il y a plus d'un an

  • Lié à Development #49204: "Applification" des modules (applications métiers) Publik supprimé

Formats disponibles : Atom PDF