GrottoCenter / grottocenter-front

Grottocenter web client
https://grottocenter.org
GNU Affero General Public License v3.0
6 stars 1 forks source link

[DOCUMENT CREATE EDIT] Improve pages input UX #793

Open urien opened 1 year ago

urien commented 1 year ago

Describe the bug Dans un article, il n'est pas possible de déclarer seulement la première page mais il est possible de déclarer uniquement la dernière page (demande du BBS). Quand on édite un document qui n'a qu'une dernière page de déclarée, dans le formulaire permettant l'édition la valeur apparait dans le champ première page, ce qui interdit de poursuivre l'édition, sauf à déplacer la valeur du champ première page vers le champ dernière page.

Clm-Roig commented 1 year ago

Données actuelles et contexte

Actuellement, côté serveur, on stocke une seule valeur pages. Côté client, on manipule startPage et endPage (que je nomme sP et eP ci-dessous) et on construit pages pour le serveur.

L'idée de base était de pouvoir gérer de nombreux cas avec juste ces données :

# Cas Exemple sP & eP pages
1 Intervalles de pages au sein d'un magazine article de la page 3 à 6 sP=3, eP=6 pages=3-6
2 Multiples pages entrecoupées au sein d'un magazine article de 3 à 5, pub sur la 6, puis de nouveau article de 7 à 10 sP=3-5, eP=7-10 pages=3-5,7-10
3 Article sur une page article page 9 sP=null, eP=9 pages=9
4.1 Nombre de pages livres de 200 pages sP=200 eP=null pages=,200
4.1 Nombre de pages livres de 200 pages sP=200 eP=null pages=200,

J'ai un doute sur le cas 4, je ne sais plus ce qui avait été retenu par le BBS. À noter que certaines données en base de données ne tombent dans aucun des 4 cas (112-119, par exemple, avec la virgule à la fin...)

Questions

Évolution

Il serait peut-être judicieux d'améliorer l'interface utilisateur pour lui simplifier la tâche de "construire" l'attribut pages. Ma proposition est la suivante :

urien commented 1 year ago

Je ne vois pas à quoi peut correspondre 112-119, > Je propose de retirer la virgule.

Le cas 2 correspond à des données existantes dans le BBS mais que l'on ne peut pas générer actuellement. Je pense que ce n'est pas une priorité que de permettre de faire ce type de saisie image

Pour le nombre de pages qui est stocké sous forme ",200" ou "200," est-ce qu'on ne peut pas le stocker sous la forme "200". Au niveau front si on a un seul nombre sans virgule c'est que c'est un nombre de pages. Je pense que l'erreur actuelle est lié à ces deux représentations possibles.

Pour éviter de multiplier les cases à cocher je propose pour le cas 3 d'autoriser sP=eP. Pour gérer le cas 4 on pourrait mettre un bouton ON/OFF "Page début - page fin" / "Nombre de pages" avec "Page début - page fin" par défaut et la possibilité de renseigner SP et eP et un texte correspondant. Si le bouton est sur "Nombre de pages" il n'y aurait qu'une case à compléter et un texte correspondant.

En édition, il faudrait voir comment on gère le passage de l'un à l'autre

Clm-Roig commented 1 year ago

Je suis d'accord avec toi sur les points suivants, je récapitule :

Par contre sur ce point :

Pour le nombre de pages qui est stocké sous forme ",200" ou "200," est-ce qu'on ne peut pas le stocker sous la forme "200". Au niveau front si on a un seul nombre sans virgule c'est que c'est un nombre de pages.

200 peut soit être le nombre de pages, soit la page 200 du magazine : il faut conserver une écriture pour différencier les deux cas, avec une virgule ou un tiret final par exemple. Pour l'utilisateur, il ne verra jamais cette virgule finale et on ne lui demandera jamais de la taper (trop compliqué).

Au final, on a trois cas et non deux. Il faudra donc bien 3 cases à cocher, avec une case cochée à la fois (par défaut la première) :

Qu'est-ce que tu en penses ? Je fais fausse route @urien ?

urien commented 1 year ago

Oui, c'est très bien ainsi