Indice del libro

Il titolo di questa voce non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è File multimediali.

Tipi di file ammessi modifica

In teoria, è possibile caricare tutti i tipi di file. In pratica, per ragioni di sicurezza, il software impedisce di default il caricamento di file con contenuto eseguibile.

Caricamento in locale modifica

L'upload di immagini, video e altri tipi di file viene attivato quando

  • La cartella images è resa scrivibile (codice permessi "777");
  • LocalSettings.php contiene la riga

$wgEnableUploads = true;

Le indicazioni per la configurazione completa necessaria per l'upload sono descritte nel manuale ufficiale di MediaWiki.

Tipi di file modifica

La variabile $wgFileExtensions definisce la lista di estensioni dei file di cui si vuole permettere l'upload. Ad esempio:
$wgFileExtensions = array('bmp', 'ogg');

Se la variabile $wgStrictFileExtensions viene impostata a true, MediaWiki vieta il caricamento di file le cui estensioni differiscono da quelle elencate. Se, invece, viene impostata a false, MediaWiki permette il caricamento anche di altri file, però mostra un avviso all'utente che carica un file con un'altra estensione.

Viceversa, è possibile vietare il caricamento di alcuni tipi di file specifici, elencando le rispettive estensioni nella variabile $wgFileBlacklist e/o i rispettivi tipi MIME nella variabile $wgMimeTypeBlacklist; ad esempio:

  • $wgFileBlacklist = array('html', 'php', 'exe');
  • $wgMimeTypeBlacklist = array('text/html', 'text/javascript');

Esistono variabili specializzate per alcuni tipi di file; tra queste:

  • $wgAllowTitlesInSVG che permette l'uso dei tag <title> nei file SVG; questa variabile andrebbe impostata a true solo se si è certi che il server invia al browser il tipo MIME corretto, in quanto altrimenti potrebbe costituire un pericolo per la sicurezza dell'utente;
  • ...

La variabile $wgUseCopyrightUpload attiva i campi "Fonte" e "Dettagli sul copyright" nella pagina di upload.

Permessi degli utenti modifica

Le impostazioni di default abilitano l'upload solo per gli utenti registrati; è possibile modificare le impostazioni per consentire l'upload anche ai non registrati o per restringerlo a certi gruppi specifici di utenti.

L'upload per gli utenti anonimi viene abilitato assegnando $wgEnableUploads = true;
In aggiunta, è necessario impostare il permesso $wgGroupPermissions['*']['upload'] = true;

I permessi sono:

  • upload permette di caricare i file.
  • upload_by_url permette di caricare un file da URL.
  • reupload permette di caricare una nuova versione di un file (richiede il permesso upload)
  • ...

La dimensione massima di upload può essere impostata con la variabile $wgMaxUploadSize.

Convertitori modifica

  Per approfondire, vedi mw:Manual:Image Administration.

MediaWiki richiede la presenza di alcuni programmi esterni per generare le anteprime delle immagini (thumbnail) da file in formati come SVG ed altri.

Altre informazioni modifica

Upload da URL modifica

Per abilitare l'upload da URL bisogna inserire la riga
$wgAllowCopyUploads = true;

Il permesso di caricare file da indirizzo Internet è upload_by_url e per default è concesso ai soli amministratori. Per concederlo anche ad altri utenti, aggiungere anche la riga

$wgGroupPermissions['*']['upload_by_url'] = true;

sostituendo * con il nome del gruppo scelto. Lasciando l'asterisco, invece, il permesso sarà concesso a tutti gli utenti.

Per visualizzare sulle pagine del wiki un'immagine presente su un sito esterno, senza upload, si inserisce la riga
$wgAllowExternalImages = true;

Link di riferimento modifica

su Wikimedia

Uso di uno host esterno modifica

Si possono visualizzare le immagini presenti su un sito esterno: è sufficiente aggiungere le seguenti righe al file LocalSettings.php.

$wgForeignFileRepos[] = array(
   'class'                   => 'ForeignAPIRepo',
   'name'                    => 'shared',
   'apibase'                 => 'http://commons.wikimedia.org/w/api.php',
   'fetchDescription'        => true, // Optional
   'descriptionCacheExpiry'  => 43200, // 12 hours, optional (values are seconds)
   'apiThumbCacheExpiry'     => 43200, // 12 hours, optional, but required for local thumb caching
);

Come apibase si può indicare qualunque wiki basato su MediaWiki. L'indirizzo deve essere appunto la apibase del sito, per esempio per Wikipedia si indicherà http://it.wikipedia.org/w/api.php e così via.

Nota: se il nome dell'immagine è presente uguale sui diversi progetti specificati, sarà visualizzata la prima: ossia, il sistema darà la precedenza al primo progetto specificato della lista.


Inoltre, si può inserire nella barra laterale un link per caricare i file sul sito in questione: bisogna inserire nel MediaWiki:Monobook.js le seguenti righe.

/*** Collegamento diretto alla pagina di upload su sito esterno */
function linkUploadToExternalHost()
{
    if (document.getElementById("carica_su_host_esterno")) return;
    var li_carica_su_host_esterno = document.getElementById("t-upload");
    if (!li_carica_su_host_esterno) return;
    var afegit = li_carica_su_host_esterno.nextSibling;
    var ul_eines = li_carica_su_host_esterno.parentNode;
    var li = document.createElement("li");
    li.id = "carica_su_host_esterno";
    li.innerHTML = '<a href="http://commons.wikimedia.org/wiki/Commons:Upload/it">Carica su Commons</a>';
    if (afegit) ul_eines.insertBefore(li, afegit);
    else ul_eines.appendChild(li);
}

addLoadEvent(linkUploadToExternalHost);

/*** Fine del collegamento diretto alla pagina di upload su sito esterno */

Ovviamente, l'indirizzo della pagina di caricamento (nell'esempio si è indicata la pagina di Wikimedia Commons) va sostituito a seconda dello host esterno su cui si vuole che l'utente sia indirizzato per caricare i file.

Approfondimenti:

Wikimedia Commons modifica

Per usare Wikimedia Commons, con MediaWiki >= 1.16.x, è sufficiente aggiungere questa riga al LocalSettings.php:

$wgUseInstantCommons = true;

In questo modo è possibile includere le immagini direttamente da Wikimedia Commons, senza doverle prima caricare sul proprio server. La pagina di descrizione del file sarà prelevata in automatico da Commons ad ogni visualizzazione.

Vedi Manual:$wgUseInstantCommons per ulteriori dettagli tecnici sull'implementazione.

Per MediaWiki 1.13.0 - 1.15.x

Aggiungere le seguenti righe al LocalSettings.php:

$wgForeignFileRepos[] = array(
   'class'            => 'ForeignAPIRepo',
   'name'             => 'shared',
   'apibase'          => 'http://commons.wikimedia.org/w/api.php',
   'fetchDescription' => true, // Optional
);

In questo modo è possibile includere le immagini direttamente da Wikimedia Commons, senza doverle prima caricare sul proprio server. La pagina di descrizione del file sarà prelevata in automatico da Commons ad ogni visualizzazione.

Vedi InstantCommons Manual:$wgForeignFileRepos per ulteriori dettagli.

Approfondimenti

La cache modifica

Approfondimenti:

Upload wizard modifica

Un'alternativa al form di caricamento di default è il wizard grafico spiegato in mw:UploadWizard.