Discussion modèle:Indexation/Bug MW 1.13
Bonjour les copains,
Vous n'avez peut-être pas remarqué, mais j'ai mis à jour MediaWiki vers la dernière version, la 1.13.2, et je me rends compte d'un bogue qui est peut-être lié : lorsqu'une page est nouvellement indexée, elle prend l'index {, même si on spécifie le paramètre index=. Voir pour exemple l'indexation de Oniropædia:Bac à sable dans la catégorie Catégorie:Oniropædia.
Est-ce que l'un des créateurs de ce modèle pourrait jeter un œil au code pour voir d'où ça pourrait venir ? Sinon je le ferai, mais j'ai peur de perdre pas mal de temps à essayer de comprendre le modèle avant de pouvoir agir pour corriger le problème.
Merci d'avance.
--Xiloynaha 2 novembre 2008 à 22:37 (UTC)
en transformant le code d'indexation comme suis :
{{indexation|
index=a|
{{SITENAME}}
}}
au lieu de {{indexation|index=a|{{SITENAME}}}}
j'obtient ceci :
[[Catégorie: Oniropædia
|
]]
--Narcian le Grand Rêvant 3 novembre 2008 à 10:53 (UTC)
Schématiquement l'appel au modèle {{indexation}} consomme 1 niveau d'expansion.
le modèle {{indexation}} peut se résumer comme étant l'appel imbriqué de :
- la fonction #ifeq
- la fonction #if
- le modèle {{Désaccentuation}}
- le modèle {{Catégorisation/Catégorisation/Module de base/Indexation dans catégorie/Configuration}}
ce qui consomme 4 niveaux d'expension.
le modèle {{Désaccentuation}} contient 37 appels à la fonction #replace, puis 1 appel à la fonction lc ce qui consomme 38 niveaux d'expension.
le modèle {{Catégorisation/Catégorisation/Module de base/Indexation dans catégorie/Configuration}} peut se résumer comme étant l'appel imbriqué de :
- la fonction #ifeq
- la fonction #switch
- une des fonctions PAGENAME/SUBPAGENAME/SITENAME/FULLPAGENAME
ce qui consomme 3 niveaux d'expension.
De manière très simpliste, et très minimaliste, j'abouti à un total de 46 niveaux d'expension.
Question : combien de niveaux d'expensions sont autorisés par la version "1.13.2" ?
--Narcian le Grand Rêvant 3 novembre 2008 à 11:22 (UTC)
Bien vu Narcian !
Un nouveau paramètre dans la config limite le nombre d'appels à 40. Je l'ai passé à 49, et ça semble marcher, sauf pour l'utilisation du paramètre index= (cf. toujours le même exemple, j'ai essayé d'indexer le bac à sable sous "sable", il reste à la place qu'il occupait avant, à savoir "bac à sable").
En faisant le même test que toi, j'obtiens ça (quel que soit le mot après index=) :
[[Catégorie: Oniropædia
|bac a sable]]
C'est-à-dire le code d'indexation « normal » si on omet l'index… Vois-tu d'où ça peut venir ?
Question subsidiaire : la complexité de ce modèle est vraiment énorme ; n'y a-t-il pas moyen de la réduire ?
--Xiloynaha 3 novembre 2008 à 13:31 (UTC)