Bonjour,
Je me permets d’intervenir sur la discussion sur ‘les aieux’, d’abord pour dire que je suis vachement content qu’on la prenne en compte: on a développé la première version de cela il y environ un an, si ça peut servir à la communauté SPIP et que nous ça nous facilite la migration, tout le monde y gagne (c’est l’esprit du libre).
Pour ce qui est de la sémantique (sous réserve aussi de ma compréhension) je ne suis pas sûr que le problème soit de choisir le bon mot, mais plutôt la bonne syntaxe. Je reprends la remarque de Fil :
<BOUCLE_xxx (sélectionne une rubrique)>
<BOUCLE_tout(ARTICLES){critere}{par date}{inverse}>
</BOUCLE_tout>
</BOUCLE_xxx>Quel est le bon mot pour ce {critere} qui correspond en fait à
{id_rubrique IN (LISTE DES SOUS-RUBRIQUES DE L’ARBORESCENCE à
partir du point précisé)} ?
dans {id_aieul=4} ce qui choque n’est pas tant le mot ‘aieul’, mais bien le signe ‘=’
En effet, une rubrique/un article a un seul parent (la rubrique mère) et un seul secteur (l’aieul racine). En revanche, elle/il a un nombre indéterminé d’aieux. C’est ce qu’a amené Fil à dire: {id_rubrique IN (liste…)}
(Rq: dans la boucle HIERARCHIE on remonte, donc il y a un chemin défini de manière déterministe. En revanche dans notre concept d’aieul, qui serait descendant -tout en n’étant pas une boucle- : quel est l’ordre pour décrire les branches de l’arbre?)
Dans les syntaxes habituelles des critères de boucle SPIP :
- filtre (avec un seul mot): {tous}, {doublons}
- critère (avec le mot ‘par’): {par date}, {par hasard}
- sélection (avec id_xxx= ): {id_rubrique=2}, {id_parent=3}, évent. défini comme variable: (id_article}
- intervalle : {a,b}
- regex, séparateur, …
sauf erreur de ma part, je ne vois pas d’opérateur du type “appartient à”, qui permette d’exprimer le critère “(rubrique 4) appartient à {ensemble des aieux}”, ou en français: “les articles dont la rubrique 4 est l’un des aieux”
D’où suggestion :
1/ soit on se contente de la syntaxe imparfaite {id_aieul=n},
(au dam des matheux qui verront une égalité non transitive: {id_aieul=2} et {id_aieul=1} peutvent être vrais simultanément!!)
2/ soit on introduit un opérateur d’apparténence dans les critères SPIP genre: {4 IN rubriques_aieulles}
Personnellement, je préfère la première solution pour la simple raison qu’elle est compatible avec les modifs de SPIP qu’on a faites et nos squelettes maison
daniel