Ordre et Rang sont dans un bateau...

Cédric Morin <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Hello,


Matthieu Marcillaud a écrit :
> C'était justement pour cela que je n'avais pas utilisé "rang" car
> j'avais peur d'un effet de bort (j'imaginais que "rang" était plutôt sur
> la table de l'objet éditorial, plutôt que sur une table de liens).
>
> En regardant le code, je pense que tant qu'un champ "rang" n'est pas
> créé sur spip_documents directement, ça marcherait de mettre "rang" sur
> la table de liens. Mais est-ce que rang n'est pas fait pour aller
> directement un jour sur l'objet éditorial ? (plutôt que de mettre des
> numéros devant les titres ?).



en effet il faut faire là attention à ce que le schema qu'on retient 
soit générique et généralisable.
Pour les documents on peut en effet se dire que le rang n'a pas de sens 
pour les documents en eux-même mais uniquement par rapport à chacun de 
leur lien. Et on pourrait être tenté de mette la balise range sur la 
table de lien.

Mais on va alors se heurter à un problème avec les mots clés par exemple 
pour lequel le rang est plus généralement utilisé pour classer les 
mots-clés dans un groupe. Cela veut dire que si on veut utiliser un 
ordre par lien, on sera obligé de le nommer autrement et ça sera tout 
incohérent avec les documents.

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

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

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 vous les studios
-- 
Cédric
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.