Discussioni utente:Vvirgola/Lp§§

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

rispostina rispostella :)[modifica wikitesto]

Ciao Vvirgola, e grazie per l'impegno nel lavoro sporco... La tua richiesta è ragionevole, purtroppo la risposta semplice è no, allo stato delle cose non si può fare. Provo a spiegare un po', scusandomi per la lunghezza e sperando di non risultare più oscuro del nome che mi precede... :-)

Le pagine speciali sono costruite intorno a query SQL che si appoggiano a delle tabelle di servizio, in cui sono riportati i collegamenti verso altre pagine, categorie, template, immagini, ecc. e per ragioni di prestazioni non lavorano direttamente con il testo delle voci. Ora, in nessuna di queste tabelle è presente l'informazione che ci servirebbe per escludere i casi che hai evidenziato, ovvero il fatto che un dato link sia richiamato da uno specifico template.

Inoltre, anche volendo realizzare un elenco offline più adatto alle nostre esigenze, bisogna tener conto di questi fatti che rendono il lavoro non banale:

  • La query è già di per sé onerosa, tanto che viene fatta girare periodicamente e non in tempo reale.
  • Non ci aiuta sapere che la pagina richiama il template {{Nota disambigua}}, perché
    • non è detto che la nota disambigua punti sempre a una disambigua, lo usiamo per due cose diverse;
    • l'errore potrebbe essere in un qualsiasi altro punto della pagina, non in quel link.
  • Per estrarre i link dal corpo della voce, dobbiamo tra le altre cose:
    • identificare il template, sperando sia usato una volta sola;
    • separare il link che ci serve dagli altri parametri che possono esserci o meno e averne a loro volta;
    • verificare se il link è preceduto o meno dal nome del parametro, 'titolo=';
    • verificare se è seguito o meno da |Nome per cambiarne le modalità di visualizzazione...

Insomma, come vedi non è semplicissimo, per cui non mi pare ragionevole proporre una modifica agli sviluppatori, che tra l'altro devono in genere adottare soluzioni applicabili a tutti i siti Wikimedia (quindi anche a en.wiki che è 6 volte più grande di noi), né riesco facilmente a realizzare un'alternativa io con gli strumenti che ho a disposizione (dump locale). D'altra parte, se sei esperto di PHP, il codice di MediaWiki è aperto e modificabile, per cui puoi sperimentare a tuo piacimento con una copia locale del database.

Insomma, se l'operazione fosse stata facilmente automatizzabile avremmo senz'altro fatto a meno della pagina e usato qualche strumento... Al momento per facilitare questo lavoro c'è però la possibilità di usare un Bot, che può mostrarti il contesto in cui appare il richiamo e consentirti di scegliere tra le varie pagine cui punta la disambigua. Si risparmia senz'altro un po' di tempo. Un'altra cosa che si può fare è spiegare meglio nell'intestazione della pagina che "non tutti" i link vanno eliminati, in modo da diminuire eventuali "danni da utente malaccorto" (ma questi fanno un po' parte del meccanismo wiki).

Mi spiace di non averti dato la "risposta giusta" ma ovviamente se hai altre domande o bisogno di chiarimenti chiedi pure. Grazie ancora, buon lavoro! --Lp 23:47, 2 nov 2006 (CET)[rispondi]

Gli elenchi offline si aggiornano a partire da una copia del database, scaricandola periodicamente in locale o segnalando la richiesta a qualcuno che lo ha già fatto. Ho provveduto ad aggiornare la situazione all'ultima copia in mio possesso, quella del 21 ottobre scorso. Buon lavoro! --Lp 15:56, 3 nov 2006 (CET)[rispondi]

Ciao, ti rispondo un po' in ritardo ma in compenso ho lavorato su un dump fresco fresco... Ho dovuto modificare la query perché uscivano dei risultati sbagliati, spero di non aver semplificato troppo. Farò delle altre prove, ma da quanto vedo ne sono sfuggiti solo due (più una frazione che è stata cancellata). Ottimo lavoro! Ecco il nuovo elenco. --Lp 14:51, 15 apr 2007 (CEST)[rispondi]