# MediaWiki/Estensioni

MediaWiki
Copertina Tutti i moduli · Sviluppo
IntroduzioneMediaWiki/Introduzione
Markup NamespaceMediaWiki/Namespace TemplateMediaWiki/Template Ricerca SkinMediaWiki/Le skin EdittoolsMediaWiki/Edittools Importazione ed esportazioneMediaWiki/Importazione ed esportazione API
PrerequisitiMediaWiki/Installare i programmi necessari - InstallazioneMediaWiki/Installazione - ConfigurazioneMediaWiki/Configurazione - LocalSettings.phpMediaWiki/LocalSettings.php UploadMediaWiki/Upload
Personalizzare la graficaMediaWiki/Personalizzare la grafica
* Hacking interfacciaMediaWiki/Hacking interfaccia
* La barra lateraleMediaWiki/La barra laterale
* La toolbar di modificaMediaWiki/
* Altre personalizzazioni graficheMediaWiki/Altre personalizzazioni grafiche
Cancellare vandalismi in Ultime modificheMediaWiki/Ultime modifiche Limitare l'accesso al wikiMediaWiki/Restrizioni di accesso AggiornamentoMediaWiki/Aggiornamento Dump JavascriptMediaWiki/Javascript AltroMediaWiki/Come fare per
Le estensioniMediaWiki/Estensioni
* Semantic MediaWikiMediaWiki/Semantic MediaWiki
* Formule matematicheMediaWiki/TeX
* Estensione CollectionMediaWiki/Estensione Collection
* Estensione WarnNoCategoriesMediaWiki/Estensione WarnNoCategories
Contribuire allo sviluppo di MediaWikiMediaWiki/Contribuire Grammatica del markup GlossarioMediaWiki/Glossario
Modifica il sommario

## Download e installazione

Le estensioni sono plugin che aggiungono al wiki funzionalità extra. Si scaricano ed installano separatamente.
Le istruzioni per aggiungere un'estensione sono sulla sua pagina di riferimento. Di solito, si seguono questi passaggi:
* si scaricano i file dell'estensione;
* si incollano nella cartella Extension di MediaWiki (se da remoto, si copia tramite FTP nell'omonima cartella sul server);
* si attiva l'estensione modificando a mano il file LocalSettings.php.

### Informazioni e download

La maggior parte delle estensioni elencate di seguito ha una pagina di riferimento sul sito ufficiale di MediaWiki, nella quale (in alto a destra) appare un riquadro con le informazioni principali dell'estensione: tra queste, il release status e link per il download.
Il release status indica lo stato dello sviluppo dell'estensione, ed ha un nome ed un colore specifici:
| stable | Il codice sorgente dell'estensione è stabile |
| beta | Il codice è stabile, ma non è stato completamente testato |
| experimental | Il codice sta attraversando ancora le prime fasi dello sviluppo, pertanto potrebbe essere soggetto a modifiche radicali |
| unstable | Non funzionante: l'estensione non va usata. |
| unknown | Non indicato (uno dei precedenti) |
Le estensioni il cui stato non è stable potrebbero dare problemi durante l'utilizzo.
Le istruzioni per scaricare e configurare l'estensione sono descritte nel testo della pagina e nel box in alto a destra, il quale dà anche i link per scaricare i file (dal sito di MediaWiki e/o da siti di terze parti). Se queste informazioni mancano, si può fare riferimento alle seguenti alternative, se applicabili:
* consultare l'indirizzo http://www.mediawiki.org/wiki/Special:ExtensionDistributor
* cercare l'estensione fra quelle elencate all'indirizzo http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/
In alcuni casi, invece del link per il download, nella pagina appare direttamente il codice sorgente dell'estensione, accompagnato dalle istruzioni per salvarlo in un nuovo file php nella cartella di MediaWiki. Dove possibile, è preferibile invece affidarsi ai link per scaricare i file dell'estensione, in quanto il codice sorgente nella pagina non è soggetto al controllo degli sviluppatori di MediaWiki, e quindi potrebbe risultare non aggiornato, presentare malfunzionamenti o esporre il wiki a vulnerabilità, ed è esposto ad eventuali modifiche malevole di terze parti non coinvolte nello sviluppo dell'estensione.

### Creazione di tabelle

Prima di poter usare alcune estensioni, è necessario creare delle tabelle apposta nel database, seguendo le istruzioni descritte nella pagina di riferimento dell'estensione. In gergo, le istruzioni da fornire al database manager per creare le tabelle si chiamano query SQL.
Le tabelle si creano in questo modo:
* se si usa phpMyAdmin, dapprima si clicca sul nome del database nella colonna di sinistra, quindi si clicca sulla linguetta "Query", in alto, si incolla la query SQL nella casella che è sotto la scritta "SQL query on database test", infine si fa clic sul tasto "Submit query" in fondo;

## Le estensioni

Sul sito di MediaWiki è presente una lista navigabile, chiamata "Category:Extensions". Di seguito, viene proposta una lista alternativa, suddivisa in base al fatto che le estensioni siano ospitate sul sito ufficiale o no, e che siano installate sui progetti della Wikimedia Foundation oppure no.

## Estensioni ospitate sul sito ufficiale (installate sui progetti Wikimedia)
### Per le categorie

* CategoryTree Ramifica le categorie
* ManageCategories Visualizza un menu a tendina per le categorie
* ArticleToCategory2 Questa è incompatibile con l'altra (simile) di "articletocategory". Attivate o una, o l'altra: non tutt'e due assieme. Hanno funzioni simili: entrambe permettono di creare articoli direttamente dalle pagine delle categorie. Questa aggiunge un box in più per le categorie; l'altra non ha tale box.

### Per abilitare alcuni comandi

Queste prime due sono simili (si può tranquillamente omettere la seconda) e servono per poter far visualizzare e formattare i template.
* ParserFunctions (per informazioni, consultare il manuale ufficiale)
* StringFunctions
** P.S: Parser Function va settato bene perché funzioni al meglio.
* ExpandTemplates
* ConditionalTemplate
* Description aggiunge una descrizione meta-tag alle pagine del namespace MediaWiki (pagine contenenti messaggi di sistema usati dal software wiki)
* Cite Per la formattazione delle note a pie' di pagina.
* CharInsert Serve per creare l'Edittools.
* InputBox Serve per creare box di ricerca.
* CreateBox Versione alternativa di Input Box, specifica per aiutare a creare gli articoli, piuttosto che cercarli.
* Mimetex alternative Visualizza i simboli matematici e le immagini generate nei PDF, senza nessun settaggio extra. Per maggiori informazioni, consultare il manuale dell'estensione.
Programmazione:
* Lua Permette di includere script in linguaggio Lua.
* Winter Permette di includere script scritti in un formato che ricorda molto quello delle parser functions di MediaWiki.
* WikiScripts Permette di includere script scritti in un linguaggio appositamente progettato per questa estensione.

### Visualizzare video e altri file multimediali

* MultiUpload Permette l'upload di più immagini o file multimediali sul wiki, contemporaneamente.
** $wgMaxUploadFiles = 20; //Specificare qui il numero. Di default, sono cinque.
* OggHandler Permette la visualizzazione di piccoli filmati .ogg con Java.

### Per PDF, PdfBook e altri tipi di documenti

* Collection Genera PDF di pagine singole o di intere raccolte di voci. Richiede impostazioni aggiuntive per poter stampare anche le immagini che sono nelle voci.

### Cancellazione e spam

L'estensione Confirm Edit e il Captcha, sia esso il Visual o il Classico, vanno settate assieme prima di attivarle, altrimenti non funzionano.
* ConfirmEdit
* VisualMathCaptcha
** Prima di attivarlo, richiede che sia modificato il file ConfermEdit.php dell'omonima cartella (sotto "Extensions"), in cui il Simple Captcha di default va sostituito con il Visual Captcha. ( Al posto di: $wgCaptchaClass = 'SimpleCaptcha' mettete: $wgCaptchaClass = 'VisualMathConfirmCaptcha' )

#### Cancellazioni, monitoraggio e blocchi utenti

* Renameuser Permette di rinominare gli Utenti.
** $wgGroupPermissions['sysop']['renameuser'] = true; //Si può qui specificare chi può avere questo privilegio.
* Password Reset Permette di poter cambiare la password degli Utenti.
** $wgGroupPermissions['sysop']['passwordreset'] = true; //Si può qui specificare chi può avere questo privilegio.
* Maintenance Abilita altre funzioni extra per il mantenimento del wiki; tra cui, la possibilità sempre di cambiare le password degli utenti, la cancellazione e lo spam.
** $wgGroupPermissions['bureaucrat']['maintenance'] = true; //Di default, solo i burocrati possono accedere a questa prima estensione. Cambiare da 'burocrate' a un gruppo diverso per consentire ad un gruppo diverso di accedere
* UserRightsList Permette di visualizzare la lista di tutti gli utenti registrati e di cambiare i loro privilegi.
* UserLoginLog Consente di vedere l'IP di un utente loggato (nella pagina "Special:Log"). (Simile a CheckUser, ma funzionante fin da subito, senza settaggi)
* UserMerge Permette di cancellare gli utenti senza pericoli per il database, tramite l'unione l'un con l'altro.
* EditUser Permette agli utenti con i privilegi necessari di modificare e visualizzare le preferenze personali degli altri utenti.
** $wgGroupPermissions['bureaucrat']['edituser'] = true; //Utenti che possono visualizzare le preferenze degli altri utenti.
** $wgGroupPermissions['sysop']['edituser-exempt'] = true; //Utenti le cui preferenze non possono essere visualizzate con questa estensione.

#### Protezione delle pagine, filtri di parole

* AuthorProtect Permette agli utenti registrati di proteggere le pagine che creano dalle modifiche degli altri utenti. Solo gli amministratori potranno modificarle.
** Se viene disattivata, le pagine protette dagli utenti non passano automaticamente sotto quelle protette dagli amministratori. Tuttavia, al riattivarla, si ripristineranno i vecchi permessi dati dagli utenti.
* ProtectSection Permette agli amministratori di proteggere le pagine parzialmente (solo alcune sezioni).
* SpamRegex Permette di creare filtri di parole che sono applicati in automatico al momento della creazione di nuovi contenuti nelle voci.

#### Cancellazione di pagine

* Nuke Consente agli amministratori di cancellare in massa tutte le pagine create da un utente anonimo o registrato.
* DeletePagePermanently Permette la cancellazione permanente delle pagine, abilitata tramite una linguetta apposita.
** il codice seguente permette di scegliere i namespace ai quali applicare la linguetta, e, in fondo, il gruppo di utenti che potranno usarla:
*** $wgDeletePagePermanentlyNamespaces = array( Mettere false su quelli che non si vuole applicare
*** NS_MAIN => true, Voci
*** NS_IMAGE => true, Immagini (File)
*** NS_IMAGE_TALK => true, Discussioni delle Immagini
*** NS_CATEGORY => true, Categorie
*** NS_CATEGORY_TALK => true, Discussioni delle Categorie
*** NS_MEDIAWIKI => false, Pagine MediaWiki (di servizio)
*** NS_MEDIAWIKI_TALK => true, Discussioni delle Pagine MediaWiki
*** NS_HELP => true, Aiuto
*** NS_HELP_TALK => true, Discussioni delle Pagine di Aiuto
*** NS_PROJECT => true, Progetti
*** NS_PROJECT_TALK => true, Discussioni delle Pagine dei Progetti
*** NS_TEMPLATE => true, Template
*** NS_TEMPLATE_TALK => true, Discussioni delle Pagine dei Template
*** NS_WIDGET => false, Wigget
*** NS_WIDGET_TALK => true, Discussioni delle Pagine dei Wigget
*** NS_USER => true, Pagine Utenti
*** NS_USER_TALK => true, Discussioni delle Pagine degli Utenti
*** NS_TALK => true, Discussioni delle Voci
*** $wgGroupPermissions['*'] ['deleteperm'] = false; Anonimi
*** $wgGroupPermissions['user'] ['deleteperm'] = false; Loggati
*** $wgGroupPermissions['bureaucrat']['deleteperm'] = true; Burocrati
*** $wgGroupPermissions['sysop'] ['deleteperm'] = false; Amministratori

### Interlink

* Interwiki Serve per le tabelle, anche se si decide di non utilizzare gli interlink.

## Altre estensioni ospitate sul sito ufficiale
### Categorie

* CategoryWatch Permette agli utenti loggati di mettere sotto "osservazione" anche le pagine delle categorie, oltre a quelle degli articoli.
* GoToCategory Permette di includere nel motore di ricerca anche le categorie. Si verrà così reindirizzati all'omonima categoria, quando questa è digitata; altrimenti alla voce, se esiste.
* MultiCategorySearch Crea una nuova pagina speciale per la ricerca di voci in più categorie.
* RandomInCategory Crea una pagina speciale che sceglie una pagina a caso all'interno di una determinata categoria.
* Add Article to Category Questa, è incompatibile con l'altra (simile) di "ArticleToCategory2". Attivate o una, o l'altra: non tutt'e due assieme. Hanno funzioni simili: entrambe permettono di creare articoli direttamente dalle pagine delle categorie.
* WarnNoCategories Mostra un messaggio ricordando, a chi salva una voce senza categoria, che deve metterla. Va però corretta nel suo codice sorgente; altrimenti, così com'è, presenta antiestetici messaggi di errore.

### Per abilitare alcuni comandi

* Contributors Visulizza una nuova voce, sulla barra laterale sinistra, per visualizzare gli utenti che hanno modificato un certo articolo.
* NewestPages Crea una pagina speciale che fornisce accesso all'elenco delle pagine create recentemente, in base al namespace o all'utente.
* Poem Serve per formattare testi poetici, ma può servire anche per i codici sorgenti.
* Social Bookmarking Per segnalare gli articoli sui social network.
* SimpleCalendar Permette la visualizzazione di un piccolo calendario.
* ContactPage Crea una pagina speciale che implementa un modulo di contatto per chi vuole scrivere all'amministratore.
** $wgContactUser = 'WikiSysop'; qui si può specificare il nome utente che riceverà la posta
** $wgContactSenderName = 'Modulo di Contatto' qui si può cambiare il nome al modulo
* SidebarDonateBox Aggiunge sulla barra laterale il box Donate di PayPal.
** #$egSidebarDonateBoxContent = 'code Paypal'; Qui si immette il codice HTML da visualizzare nella barra laterale per il box "Donate" di PayPal.
* CustomTitle Permette di visualizzare in una pagina un titolo diverso dal nome che la pagina ha nel wiki.
* CustomUserCreateForm Permette di aggiungere campi aggiuntivi a chi si registra: telefono, indirizzo, ecc.
* TransformChanges Cambia l'aspetto grafico della pagina Speciale:UltimeModifiche.
* AllowAnchorTags Crea un tag alternativo per linkare.
* Cite Mostra una nuova voce sulla barra laterale sinistra, per poter "citare" più facilmente gli articoli del wiki su altri spazi web.
* GoogleSiteSearch Cambia il motore di ricerca interno di default, con quello di Google. Per attivarla, bisogna anche sostituire in /include/ il file SpecialSearch.php con quello che vi diamo noi, oppure cambiare il pezzo di codice specificato nella guida.

### Visualizzare video e altri file multimediali

* VideoFlash Specifica, per i video Flash.
* EmbedVideo Permette di visualizzare i video che caricati su quasi tutti i maggiori servizi online di videosharing.
* Widgets Per funzionare, richiede che la cartella /extensions/Widgets/compiled_templates/ sia resa scrivibile. I widget si comportano come dei template "preconfezionati", specializzati sia sui video, sia sui documenti.
** $wgGroupPermissions['sysop']['editwidgets'] = true; molte cose che fanno le estensioni, possono farlo i Widget; può essere più sicuro dare permessi qui, in questa stringa, piuttosto che dare la chiave del server FTP.
* ImportFreeImages Permette l'importazione automatica da Flickr delle licenze con cui sono pubblicate le immagini.
* WikiHiero Permette di inserire geroglifici.
* ImageMap Permette di linkare le voci del wiki su porzioni di immagini e miniature di immagini.

### PDF, PdfBook e altri tipi di documenti

* PdfBook Consente di creare libri da tutti gli articoli di una categoria, in un colpo solo.
* PdfExport Come l'estensione Collection.
* Wiki2LaTeX è obsoleta per molte cose. Aggiunge una linguetta in più nelle pagine, invece che sulla barra laterale.
** $wgExtraNamespaces[100] = "LaTeX";
* PdfHandler Serve per vedere in anteprima i pdf caricati nelle pagine del vostro wiki.

### Cancellazione e spam
#### Filtri anti spam

* SimpleAntiSpam
* SpamBlacklist
* AntiBot

#### Difettose

* RegexBlock Permette di mettere filtri di parole agli utenti anonimi che editano frasi ripetitive.
* reCAPTCHA Questo e' invece il Captcha classico. va in conflitto. O attivate questo, oppure il VisualMathCaptcha. (Da notare, che dovete anche per quest'ultimo cambiare alcuni valori nel file ConfirmEdit.php; a seconda di quale volete usare, cioè; come già spiegato sopra).
** $recaptcha_public_key = 'immettere qui il codice di serie fornito da Google al momento della registrazione';
** $recaptcha_private_key = 'immettere qui il codice di serie fornito da Google al momento della registrazione';
** Se si decide di attivare il VisualMathCaptcha,
** Non attivate i parametri che seguono sul LocalSettings, altrimenti entrano in conflitto
** $wgCaptchaClass = 'SimpleCaptcha';
** Attivate o uno, oppure l'altro.
** require_once( "$IP/extensions/ConfirmEdit/MathCaptcha.php");
** $wgCaptchaClass = 'MathCaptcha';

### Chat

* Freenode Chat Consente l'ingresso agli utenti anonimi. Permette agli utenti di scegliere il nickname e il canale.
** $wgFreenodeChatChannel = '#nomeCanaleFreenode'; //qui si inserisce il nome del canale di default.
* IRC Chat. Visualizza diversi canali a cui accedere. Si usa inserendo comandi IRC. Inoltre, richiede che l'utente abbia installato l'ambiente di esecuzione Java.

### Altre estensioni

* WebChat Crea una nuova pagina speciale per la chat.
** $wgWebChatServer = 'qui si può impostare un server';
** $wgWebChatChannel = '#freenode'; qui va impostato il canale privato del wiki, che è possibile creare in anticipo alla pagina di freenode.
** $wgWebChatClient = 'freenodeChat'; // o, in alternativa, si può usare 'mibbit';
* WikiChat Crea una linguetta di chat su tutti gli articoli e le voci del wiki.
* DPLforum Permette la visualizzazione delle pagine di discussioni in stile forum.
* CentralNotice Consente di mettere un avviso che appare in tutte le pagine, per un certo lasso di tempo. Per funzionare, necessita della creazione di una tabella sul database.
* WikiHiero Per la visualizzazione di geroglifici. Si tratta di una delle più pesanti per cui, se non la usate, non installatela.
* AjaxShowEditors permette di visualizzare gli utenti che hanno modificato una stessa pagina.
* WhosOnline Permette di visualizzare chi è online.

## Estensioni non ospitate sul sito ufficiale

Queste estensioni non sono controllate dagli sviluppatori di MediaWiki, pertanto potrebbero non essere state testate con le ultime versioni del software: potrebbero risultare non aggiornate o incompatibili con le ultime versioni di MediaWiki, oppure presentare problemi di efficienza, sicurezza o usabilità non noti agli sviluppatori.
* AWC's MediaWiki Forum Genera un forum.
* GoogleDocs Visualizza i fogli di lavoro di Google Docs.
* SpecialDeleteOldRevisions2 Permette la cancellazione solo delle vecchie revisioni delle voci.
** $wgGroupPermissions['sysop']['DeleteOldRevisions'] = true; gruppo autorizzato.
* YouTubeTag Per i video di YouTube.

## Note

* ↑ Template:Extension code in wiki
* ↑ Template:Extension code in wiki