Re: Ordre et Rang sont dans un bateau...
Matthieu Marcillaud <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 09/01/2017 à 09:27, Cédric Morin a écrit :
[...]
> 3 approches possibles donc :
>
> 1/ pour chaque type d'objet on implémente rang sur la table (principale
> ou liens) qui nous parait le plus pertinente et correspondre à l'usage
> général.
> + On a un truc qui globalement introduira peu de régression à la
> migration et fonctionnera "comme avant" ou presque pour les squelettes.
> - on est coincé sur le nommage de l'autre cas (lien ou principal selon
> les cas)
> - on a un truc bancal
A priori on oubli.
J'aime bien l'idée d'avoir 2 noms tel que :
- rang et rang_lien ou
- ordre et ordre_lien
Même si pour l'utilisateur d'un squelette ce ne sera peut être pas
toujours clair la différence.
> 2/ on implémente 'rang' sur la table de l'objet et rang_lien sur la
> table des liens quand il y en a une.
> + c'est cohérent, généralisable
> + ça va casser les squelettes lors de la migration, typiquement sur les
> documents
Alors, à partir de là je décroche. En quoi ça casserait les documents
d'avoir un «rang lien» en plus.
Admettons que la boucle actuelle soit «(DOCUMENTS){par num titre,
titre}» ou «(DOCUMENTS){par rang, titre}» (s'il y avait un hypothétique
champ rang sur spip_documents).
Si on ajoute la colonne "rang_lien" sur spip_documents_liens, valant par
défaut 0 tant qu'on n'a pas modifié le tri, changer le squelette en
«(DOCUMENTS){par rang_lien, num titre, titre}» ou «(DOCUMENTS){par
rang_lien, rang, titre}» ne change pas l'ordre initial de la boucle.
Il faut par contre modifier la boucle dans les squelettes pour que le
nouveau rang_lien soit pris en compte (mais de toutes façons {par rang}
ne fonctionne pas actuellement non plus car rang n'est pas un champ qui
existe.
>
> 3/ on implémente un autre nom en base : ordre et ordre_lien par exemple,
> et on modifie le compilateur pour qu'il compile 'rang' selon l'usage
> généralement admins (donc sur ordre la plupart des cas et sur ordre_lien
> les cas où il faut)
> + c'est cohérent et généralisable
> + on casse pas (ou quasiment pas) les squelettes existants
> - on ajoute une nouvelle terminologie et de la confusion possible
> entre rang, ordre et ordre_lien
Ça me semble compliqué de faire comprendre que {par rang} fait appel à
un champ particulier, pour pas grand chose au final. Il me semblerait
plus clair de dire que rang c'est sur les tables principales, et
rang_lien sur tables de liens, non ?
D'autres avis ?