Ben moi je suis pas du tout d'accord avec ce revert parce que :
1/ sans polyhierarchie le critere branche fonctionne sur la table des evenements, il parait logique que {branche} étende son fonctionnement de la même façon sur une boucle EVENEMENTS que sur une boucle article
2/ je fais un commit qui explique et donne le cas d'usage que l'on améliore
3/ tu revert en disant "ça casse tout" mais en donnant aucun exemple précis reproductible que l'on pourrait essayer de résoudre — alors que je n'ai constaté aucun rupture de compatibilité
4/ quand en plus tu justifie ça par
> Quand on demande "les événements liés en polyhier aux rubriques de la branche 30" on veut bien les événements qui y sont liés, pas les événements des articles de cette branche ce qui n'a rien à voir.
je rappelle que
A/ le fonctionnement nominal et supporté du plugin agenda ce sont des événements liés aux ARTICLES, qu'il n'est jamais nulle part prévu de lier les événements aux RUBRIQUES
B/ que le fonctionnement nominal et supporté du plugin polyhierarchie c'est d'étendre le rattachement aux rubriques multiples des objets qui sont DEJA prévu pour être rattachés aux rubriques
Je comprends donc que tu dévie l'usage de ces 2 plugins pour faire des choses qui ne sont pas prévues et pour assurer ce fonctionnement dérogatoire tu supprimes un comportement nominal !
En l'occurence le fonctionnement attendu est normal du critère {branche} c'est que SI un objet n'a pas de champs id_rubrique on va chercher ce champs par jointure pour trouver l'objet attaché qui est dans la branche. Et en cas de polyhierarchie on regarde aussi les liens de cet objet attaché aux autres rubriques éventuelles.
Donc c'est ton cas d'usage dérogatoire qui est à réécrire pour fonctionner dans ce cas, soit en modifiant tes squelettes, soit en modifiant le critere branche chez toi pour déroger à cette spec.
Mais l'argument "j'ai des squelettes qui fonctionnaient parce qu'ils s'appuyaient sur un bug du plugin donc du coup il faut pas réparer le bug du plugin" ne vaut pas.
Je propose donc de revert ce revert.
--
Cédric
spip-zone-commit@rezo.net a écrit :
Author: rastapopoulos@spip.org
Date: 2017-11-15 01:47:31 +0100 (Wed, 15 Nov 2017)
New Revision: 107572Modified:
_plugins_/polyhierarchie/branches/v2.0/paquet.xml
_plugins_/polyhierarchie/branches/v2.0/polyhier_fonctions.php
Log:
Backport de [107571] : Revert d'une partie de [96181] : non on ne doit pas aller chercher les liens indirects sur une autre table que celle demandé. Cette modif casse complètement de nombreux squelettes qui marchaient bien avant (on vient seulement de le voir et comprendre pourquoi).Le principe des tables de liens avec objet/id_objet c'est de pouvoir les utiliser sur les objets que l'on veut. Donc ensuite quand on demande les liens de rubrique pour les objets "patates", on VEUT les liens avec "patates", pas avec un autre objet calculé et remplacé en cachette comme ça. Quand on demande "les événements liés en polyhier aux rubriques de la branche 30" on veut bien les événements qui y sont liés, pas les événements des articles de cette branche ce qui n'a rien à voir.
Si des gens ont besoin d'une fonctionnalité différente en cherchant les articles parents liés, c'est autre chose, et il faudrait un autre critère ou bien un paramètre explicite supplémentaire à ce critère. Mais le fonctionnement normal, cohérent, toujours sur l'objet demandé, doit rester le même.
Details: Connexion · GitLab
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit