Sur les pages comme UseMod:System, les RecentChangesOptions et sur d'autres endroits sur la plupart des sites, la documentation prend la forme de liens vers le même-auto script. Actuellement le choix (localement) a été d'utiliser le propre préfixe wiki InterWiki ala MeatBall:action=rc (par exemple) mais qui rend difficile le copie-coller de la documentation.
D'autres ont eu certainement ce problème. En témoigne [wiki dans un fichier] de Witness JerryMuelver (lien mort en jan 2004) où les utilisateurs doivent chercher et remplacer MeatBall: par leurs propres noms de site sur les OptionsModificationsRécentes.
On peut suggérer à la place de coder en dur l'URL du site dans ces liens (http://www.usemod.com/cgi-bin/mb.pl?action=version), pourquoi ne pas utiliser les liens relatifs (http:mb.pl?action=version) ? Bon, d'abord ce n'est pas conforme à la définition URL (RFC 1808). Les navigateurs qui adhèrent strictement à ce document-là (Lynx, Mozilla) ne pourront pas utiiser ce lien. Deuxièmement, tous les sites n'appelleront pas leurs scripts mb.pl !
Une autre suggestion est de créer un sobriquet d'AutoRéférencementInterWiki, comme ce Here (NDT Ici en français). De cette façon les utilisateurs peuvent simplement définir Here pour pointer vers leur site local (ou ce pourrait être configuré automatiquement) et les utilisateurs pourraient simplement copier et coller les pages de documentation dans leurs propres wikis. Par exemple : Here:action=rc
Sur un plan technique, les choses deviennent un peu risquées. A cette heure, MeatballWiki et UseModWiki utilisent les mêmes fichiers InterCarte. Ceci est l'infâme http://meatballwiki.org/intermap.txt. Beaucoup de WikiFermes seront aussi bien dans la même situation. Par conséquent, vous ne pouvez pas ajouter le sobriquet AutoRéférencementInterWiki à l'InterCarte globale parce que chaque wiki en a besoin d'une différente. Par conséquent, générez-là automatiquement et dynamiquement à partir de l'URL de base du script. Ceci a l'avantage supplémentaire de "migrer avec le script" ; aussi quand vous migrez le script d'un endroit à un autre, vous n'aurez pas à modifier manuellement tout, tout comme la manière dont MoinMoin en an bénéficié en utilisant PersistentUniformResourceLocators quand il a migré.
si ($FreeLinks) {:
if ($LocalLink) { $q->url() =~ m!(.*?://[^/]+/)(.*)!; my %LocalPatterns = ($LocalLink.'?'=>$1.$2.'?',$LocalLink.'/'=>$1); s/($LocalLink(?:\?|\/))/$LocalPatterns{$1}/g; }
-- Francis Turner