[Home]AutoRéférencementInterWiki

MeatballWiki | RecentChanges | Random Page | Indices | Categories

Cette page a démarré sur SelfReferringInterWiki

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

Sobriquets suggérés

vous pouvez encore faire la différence entre Self: et SelfWiki: ou SelfLanguage:.

Questions techniques

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://usemod.com/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é.

MoinMoin 0.11 ajoute automagiquement Self: à la liste. -- jh

Si le mécanisme InterWiki peut déterminer si le site étant référé est le site hébergeant actuellement le wiki plutôt qu'un autre wiki, alors le WikiMentor? peut configurer Ce ou tout ce voudra la commnauté des utilisateurs dans l'InterCarte. Je suppose que chaque site a besoin de sa propre Instance InterCarte parce que tous les wikis ne seront pas propagés nécessairement vers tous les sites. --AndrewMiller

J'ai créé une variable newglobal $LocalLink qui a le texte de la chaîne à remplacer - J'utilise ''local:'' et puis remplace ça avec $q->url() dans la SyntaxeCommune. Il y a une légère subtilité ici sur ce qui est remplacé par local:? et local:/ . local:? est remplacé par $q->url().'?' et local:/ est remplacé par simplement le protocole, l'hôte et le port (c'est à dire http://www.usemod.com:80/) qui permet un lien facile vers des pages non-wiki ou des images comme dans local:/images/logo.gif or local:/perl/ qui change en http://www.usemod.com:80/images/logo.gif et http://www.usemod.com:80/perl/ respectivement le patch est ce bloc ajouté avant la ligne 1203
 si  ($FreeLinks) {
:

    if ($LocalLink) {
	$q->url() =~ m!(.*?://[^/]+/)(.*)!;
	my %LocalPatterns = ($LocalLink.'?'=>$1.$2.'?',$LocalLink.'/'=>$1);
	s/($LocalLink(?:\?|\/))/$LocalPatterns{$1}/g;
    }
  -- Francis Turner

LangueFrançaise PageTranslation SelfReferringInterWiki [DossierTechnologieWiki] [DossierTechnologieWikiNoncommune]

Discussion

MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions | Search MetaWiki
Search: