Ancora sulle icone Interwiki

In un precedente articolo abbiamo discusso a proposito delle icone personalizzate aggiunte ai link interwiki per distinguerli da quelli interni (senza icona) e da quelli esterni (dotati dell’icona azzurra con la freccia, standard per MediaWiki)

Il passo successivo mi smebrava quello di personalizzare le singole icone permettendo di differenziare, per esempio, i link alla Wikipedia, da quelli verso Memory Alpha.
La cosa logica da fare mi sembrava quella di utilizzare classi specifiche per ogni sito, ma purtroppo questo non è possibile out-of-the-box in quanto l’unica classe aggiunta ai link interwiki è la . extiw .
Dopo una breve analisi del codice che genera i tag, ho proposto una modifica in modo da aggiungere una ulteriore classe formata dal prefisso “iw-” e dal nome della Wiki oggetto del link.

La modifica è archiviata su Gerrit ed è stata discussa su Phabricator, ma purtroppo è stata respinta.
L’amministratore che ha sollevato obiezioni, tuttavia, mi ha indicato anche un interessante metodo per raggiungere lo stesso scopo usando i cosiddetti Attribute Selectors come spiegato per esempio qui
sulla Mozilla Developer Network

Quindi ho aggiunto

.extiw[href*="memory-alpha"] {
    background-position: center right;
    background-repeat: no-repeat;
    background-image: url(https://vignette.wikia.nocookie.net/memoryalpha/images/6/64/Favicon.ico/revision/latest?cb=20080612103849&path-prefix=en);
    background-image: -o-linear-gradient(transparent,transparent),url(https://vignette.wikia.nocookie.net/memoryalpha/images/6/64/Favicon.ico/revision/latest?cb=20080612103849&path-prefix=en);
    background-size: 12px;
    padding-right: 13px;

che, come vedete, è solo una piccola modifica rispetto al CSS “standard” dell’interwiki.
Questo frammento di codice istruisce il layout engine a selezionare i tag con la classe
. extiw contemporaneamente contenti href che puntano a un dominio contenente la stringa memory-alpha .

Tutti gli hyperlink che puntano al sito di Memory Alpha soddisfano questi risultati e vengono quindi resi di conseguenza, come mostrato nell’esempio qui a fianco, catturato dalla scheda dell’episodio
What’s Past Is Prologue

Icona Interwiki

I link interwiki permettono di effettuare collegamenti fra voci appartenenti a wiki diverse usando però la sintassi propria di un collegamento interno – usando un prefisso.
Per fare un esempio pratico, il link [[:wikipedia:it:Via Lattea|Via Lattea]] crea un collegamento da wikiTrek direttamente alla Wikipedia, senza usare tutto lo URI e sopratutto senza doversi preoccupare di dover aggiornare il link nel caso la voce fosse spostata a un indirizzo diverso.

Il link appare a tutti gli effetti come un collegamento all’interno della stessa wiki. Io avrei preferito però che gli interwiki venissero identificati da una icona in modo da distinguerli sia dai link esterni (quelli per cui si specifica lo URL), ma anche da quelli prettamente interni.

Dopo un po’ di indagini, trovo che la classe CSS che determina il comportamento dei link interwiki si chiama, effettivamente in maniera logica, .extiw. Effettuo quindi una aggiunta al foglio di stile MediaWiki:Common.css aggiungendo questo codice:

1
2
3
4
5
6
7
8
.extiw {
background-position: center right;
background-repeat: no-repeat;
background-image: url(https://upload.wikimedia.org/wikipedia/commons/c/c1/Mediawiki_logo_sunflower.svg);
background-image: -o-linear-gradient(transparent,transparent),url(https://upload.wikimedia.org/wikipedia/commons/c/c1/Mediawiki_logo_sunflower.svg);
background-size: 12px;
padding-right: 13px;
}

Con questo codice aggiungo una icona a destra del link della dimensione di 12 pixel, faccio poi un padding di 13 pixel per distanziare una eventuale parola che seguisse il link.

Esempio di un Interwiki link con l'icona personalizzata

In questo caso specifico ho deciso di usare il logo di Mediawiki che forse è poco gradevole, ma rappresenta bene il concetto di interconnessione fra vari siti basati su MediaWiki.

Vincere lo spam

Naturalmente non mi aspettavo che WikiTrek fosse esente da spam. Fin dal primo momento ero ragionevolmente certo che, più prima che poi, il sito avrebbe ricevuto della immondizia da parte di qualche farabutto.

In effetti, fin dalle prime settimane di esistenza del sito, ogni qualche giorno mi capitava di vedere comparire un utente evidentemente fasullo con il suo bel bagaglio di paginette piene di testo poco sensato e link fraudolenti.

Da bravo admin, bloccavo gli utenti, cancellavo le pagine e tornavo a lavorare sul serio.
Poi un bel giorno scopro che la situazione peggiora drasticamente: colpevole forse il miglioramento di WikiTrek nelle statistiche dei siti wiki, in poche ore erano stati creati decine di account fasulli, ognuno portando con sé due o tre pagine piene di spam.

Come ho già scritto, avevamo perso la prima battaglia e bisognava attrezzarsi per vincere la guerra.
Adesso fa meno paura scriverlo, ma in quei giorni pensavo seriamente che la wiki avrebbe potuto cedere sotto il peso dello spam e che il contenuto sensato del sito sarebbe andato in minoranza in pochi giorni.

Sulla mia pelle avevo imparato di aver sottovalutato il problema e di non essermi documentato a sufficienza in anticipo. Correvo quindi ai ripari con colpevole ritardo.
A memoria di quanto fatto e nella sperazna di aiutare qualche altro novello amministratore di un sito MediaWiki, qui di seguito riassumo brevemente il bagaglio di strumenti che bisognerebbe mettere in campo fin da subito.

Il lettore interessato è caldamente invitato a leggere la documentazione linkata prima di mettere in atto le contromisure, perché potrebbero risultare dannose anche per gli utenti leciti.

  • ConfirmEdit
    impedisce agli spambot di effettuare modifiche fraudolente e aggiungere link a siti usando teniche CAPTCHA.
    Riduce purtroppo l’accessibilità, ma con l’impostazione No CAPTCHA reCAPTCHA consente di raggiungere un buon bilanciamento fra semplicità d’uso ed efficacia contro gli attacchi.
  • SpamBlacklist
    nega la possibilità di fare modifiche a utenti che fanno parte di una blacklist. Per questa estensione esistono già grandi blacklist pronte all’uso in quanto utilizzate anche dalla Wikipedia
  • StopForumSpam
    Fa sì che lìinstallazione di Mediawiki possa contribuire al dataabase di stopforumspam.com

Aggiungo inoltre, per chi è già stato tempestato di spam, l’utile estensione Nuke che permette una comoda cancellazione massiva delle pagine, anche se purtroppo ha il grande difetto di non permettere una selezione granulare, oltre a non aiutare a bloccare gli utenti dannosi.

Due licenze sono peggio di una

Questo articolo è work in progress e soggetto ad aggiornamento al progredire della discussione nella mailing list del progetto

Free e open source sono parole ormai diventate ubique nel mondo dell’IT. Parlare ormai di informazione libera è un argomento di discussione comune.
Come spesso accade le cose non sono semplici come potrebbero sembrare.

Prima di tutto una premessa: HyperTrek e tutti i suoi predecessori sono sempre state piattaforme studiate por essere prima di tutto a disposizione di tutti e poi anche collaborative.

HyperTrek rilascia i propri testi con la licenza GNU Free Documentation License .
WikiTrek rilascia i testi originali tramite licenza Creative Commons Attribution-ShareAlike 4.0.
Le ragioni per preferire la CC SA-BY rispetto alla GFDL sono squisitamente pratiche (la prima è una Free Cultural License a tutti gli effetti) e si possono leggere, tra gli altri luoghi,  sul sito di Creative Commons e in questo essay su Wikipedia in questo essay su Wikipedia.

Le licenze vengono mostrate visualmente con due icone (estendere il post discutendo di https://www.mediawiki.org/wiki/Manual:$wgFooterIcons) visualizzate qui sotto

Capture.PNG

con relativo link che punta a https://www.lucamauri.net/wikitrek/index.php?title=WikiTrek:Informazioni.

And the sky’s the limit

Questo è un crosspost su SiamoGeek e sul blog di WikiTrek.
Articolo aggiornato il 2017-11-12.

Senza senza essere un supereroe dei fumetti o del cinema, anche per le persone normali esistono avventure che durano una vita.
L’avventura più antica che io ricordi è di essere un Trekker: letteralmente non ricordo un momento della vita in cui non sia stato appassionato della serie TV e, di conseguenza, dello spazio, della tecnologia e dell’esplorazione.
Una avventura, connessa a questa passione, che ho vissuto per molti anni è stata collaborare con un bel gruppo di fan a un progetto che si chiama HyperTrek (e che, nella sua lunga storia, si è chiamato in tanti altri modi).

L’anno scorso Luigi ha scritto un post a proposito di HyperTrek che a prima vista poteva sembrare innocuo, ma che ha piantato un paletto nel cuore di molti di noi con la frase

È assai difficile che nell’immediato futuro HyperTrek venga aggiornato con regolarità.

Per me – e forse anche per altri – questa è suonata come una vera e propria  wake-up call: il segnale che era arrivato il momento di prendere per mano il progetto e non lasciarlo morire.

Per quanto l’ultima incarnazione di HT – HyperTrek NG – fosse un sistema sofisticato e ben organizzato, la sua gestione era diventata poco pratica. Modifiche segnalate nelle mailing list da un nutrito gruppo di persone finivano per ricadere su un singolo. Modifiche tutte poi da gestire a mano singolarmente nel sistema autore di HT.
La mancanza di una serie TV nell’ultimo decennio e la sorte incerta delle ultime incarnazioni cinematografiche hanno anche facilitato una certa disaffezione verso Star Trek in generale.
Queste sono tutte ragioni che hanno portato al lento abbandono di HT: così questa che era la risorsa definitiva su Star Trek in Italiano resta un monumento a un grande lavoro fatto nel passato.
Un monumento rimasto fermo a qualche anno fa, purtroppo.

Il messaggio di Luigi e l’avvicinarsi della nuova serie Star Trek Discovery mi hanno spinto a fare almeno un tentativo di ridare vita a questo progetto.
Rispolverando quindi una idea più volte proposta e mai andata in porto per varie ragioni, ho pensato di avviare un progetto di conversione di HT verso una wiki. Un sito simile alla celeberrima Wikipedia, basato sul suo stesso software open-source, MediaWiki.
Questo progetto è partito circa un anno fa e sta producendo da qualche tempo risultati interessanti. Vista la partenza di Star Trek Discovery, abbiamo deciso di rivelare al pubblico questo nuovo progetto che si chiama WikiTrek.

La ragione di questo progetto è fare un tentativo di creare una piattaforma più collaborativa in cui le persone si prendano carico di analizzare la produzione artistica di Star Trek, riportare le informazioni interessanti sulla Wiki e gestire ogni segnalazione dall’inizio alla fine.
Ripeto, è un tentativo: WikiTrek non è meglio né peggio di HyperTrek in senso assoluto.
È un esperimento.

WikiTrek avrà sia contenuti importati da HyperTrek sia contenuti originali che la comunità – si spera ampia – vorrà apportarvi.
Quindi, tutto quello che esiste in HyperTrek un giorno non molto lontano verrà trasportato automaticamente verso WikiTrek, mentre tutte le informazioni nuove (una su tutte, le schede degli episodi di DSC) andranno create a mano.

Cosa potete fare voi per la vostra Wiki, state chiedendo?
Fondamentalmente due cose: contribuire al progetto di conversione automatico da HyperTrek e contribuire con contenuti originali a WikiTrek direttamente.
Fate riferimento alla pagina Come si collabora per dettagli su questi due attività.
Tenete presente che WikiTrek è tutto un work-in-progress e che, non solo resta molto lavoro da fare, ma anche c’è molto lavoro da organizzare!

Ringraziare qui tutti sarebbe irrealistico: rimandiamo la questione a data da destinarsi e a una pagina apposita.

Per il momento invito tutti i Trekker a precipitarsi su WikiTrek e a contribuire.

If I have seen further, it is by standing on the shoulders of giants.

– John of Salisbury