La estensione WikibaseLocalMedia potrebbe potenzialmente essere usata in DataTrek per catturare immagini da WikiTrek, tuttavia è necessario adattarla perchè possa appovvigionarsi da una wiki arbitraria.
Vedi la mia issue https://github.com/ProfessionalWiki/WikibaseLocalMedia/issues/4 : si presume che nessuno se ne voglia prendere carico, vediamo se si può fare qualcosa per conto nostro scrivendo una patch.
Description
Event Timeline
La definizione della pagina dovrebbe essere alla riga 39 del file https://github.com/ProfessionalWiki/WikibaseLocalMedia/blob/def6564ba847181b60b2958efa4508d1512e9d55/src/Services/ImageLinkFormatter.php e/o alla riga 92 del file https://github.com/ProfessionalWiki/WikibaseLocalMedia/blob/79900dd50aedb8874adf5f41f4e63eebf87f7877/src/Services/InlineImageFormatter.php .
Secondo la documentazione https://doc.wikimedia.org/mediawiki-core/master/php/classTitle.html#ab4f4092f04eb31b7d974742d8ded46c8 dovrebbe essere sufficiente mettere il prefisso interwiki nell'argomento opzionale $interwiki.
Fare una prova inserendo wikitrek a mano nella funziona per testare il funzionamento: se funzionasse, bisognerà poi inserire un parametro configurabile da qualche parte.
La modifica sembra funzionare piuttosto bene.
Modificata nei due file la riga:
$title = Title::makeTitleSafe( NS_FILE, $fileName );
in
$title = Title::makeTitleSafe( NS_FILE, $fileName, '', 'wikitrek' );
bisognerà rendere configurabile $interwiki, ma questo non sarà difficile nella definizione della estensione.
Al momento non funziona l'auto-completamento con anteprima in miniatura, che invece funziona per Commons, come da questo esempio
resta da indagare.
Nel file /resources/jquery.ui.mediasuggester.js vedere return 'url("' + this.options.indexPhpUrl + '?title=Special:Filepath/' alla riga 163.
Confronta anche con https://github.com/wikimedia/data-values-value-view/pull/159/files
Tutto o in gran parte sbagliato quanto scritto sopra: il tutto funziona banalmente perchè è configurato $wgForeignFileRepos.
Tutto il ragionamento è da rivedere, cominciare ad indagare su $file = $this->repoGroup->findFile( $fileName );