« Discussion modèle:Indexation/Bug MW 1.13 » : différence entre les versions

De Oniropædia
Aller à la navigationAller à la recherche
(détail consommation de ressource)
(problème à moitié résolu)
Ligne 51 : Ligne 51 :


--[[Utilisateur:Narcian le Grand Rêvant|Narcian le Grand Rêvant]] 3 novembre 2008 à 11:22 (UTC)
--[[Utilisateur:Narcian le Grand Rêvant|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 ?
--[[Utilisateur:Xiloynaha|Xiloynaha]] 3 novembre 2008 à 13:31 (UTC)

Version du 3 novembre 2008 à 13:31

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

|

{{Expansion depth limit exceeded}}

]]

--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 :

  1. la fonction #ifeq
  2. la fonction #if
  3. le modèle {{Désaccentuation}}
  4. 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 :

  1. la fonction #ifeq
  2. la fonction #switch
  3. 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)