MediaWiki/Estensione Collection: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
m rm markup superfluo, aggiorno link
Nessun oggetto della modifica
Riga 1: Riga 1:
{{torna a|Manuale MediaWiki/Estensioni|testo=Estensioni}}
{{torna a|Manuale MediaWiki/Estensioni|testo=Estensioni}}


L'estensione [[mw:Extension:Collection|Collection]] permette di salvare i testi del wiki in formato ''[[:w:it:|PDF]]'' (e anche in altri formati: ''[[:w:it:OpenDocument|odt]]'' per [[:w:it:Openoffice|Openoffice]], ''[[:w:it:xhtml|xhtml]]'', ecc...).
L'estensione [[mw:Extension:Collection|Collection]] permette di creare elenchi di pagine del wiki (creando dei piccoli libri) e di esportarli in diversi formati, tra i quali PDF, ODF, DocBook XML. L'estensione è stata sviluppata da PediaPress.


== Impostazione del servizio ==
Per farlo, utilizza un programma esterno scritto in linguaggio [[:w:it:Python|Python]] e sviluppato da
La conversione del testo wiki non viene eseguita sul wiki, ma su un altro computer, indicato come ''server'' e impostato nei file dell'estensione. L'estensione invia il markup al server, il quale lo converte tramite un programma interno chiamato <tt>mwlib</tt>, e infine restituisce il risultato, il quale può essere scaricato dall'utente.


I siti con traffico limitato possono utilizzare il server messo a disposizione da PediaPress. Questa è l'impostazione di default.
* http://pediapress.com/
__TOC__


=== Server privato ===
== Utilizzare il servizio online (dal loro Server) ==
Invece, i siti con maggiore traffico possono utilizzare un proprio server privato, sul quale è stato installato lo stesso software usato dal server di PediaPress. Sul server va installato <tt>mwlib</tt>, cioè il software che il servizio online di PediaPress usa internamente per convertire il testo. Dopo avere installato mwlib, bisogna configurare il server affinché attivi il servizio e possa essere richiamato dal wiki.


Infine, per far sì che il wiki richiami il server privato invece del server di PediaPress, si imposta l'indirizzo nel file <tt>Collection.php</tt>, modificando la riga:
Le istruzioni consigliano, per siti wiki con traffico limitato, di utlilizzare il loro servizio online

impostandone il link in '''Collection.php''', il file principale dell'Estensione;

di cui riportiamo qui il pezzo di [[:w:it:codice sorgente|codice]]:

===''Code''===
<pre>
<pre>
/** URL of mw-serve render server */
/** URL of mw-serve render server */
$wgCollectionMWServeURL = 'http://tools.pediapress.com/mw-serve/';
$wgCollectionMWServeURL = 'http://tools.pediapress.com/mw-serve/';
</pre>
</pre>
in questo modo:


Invece per siti wiki con grande volume di traffico, viene consigliato di installare su un proprio server "privato" il software generante i Pdf (in genere, questo tipo di server si "affittano" e hanno un prezzo variabile di 30 o più euro mensili).

== Installazione del software su di un proprio Server ==

A radice di ciò abbiamo quindi deciso di installare su un nostro server in proprio, seguendo le istruzioni riportate a questi link:

* http://code.pediapress.com/wiki/wiki/WikiToPDF

in particolare, è necessario instalare i programmi '''mwlib''' e '''mwlib.rl''':

* http://code.pediapress.com/wiki/wiki/mwlib-install

* http://code.pediapress.com/wiki/wiki/mwlib.rl-install


Sul server usato da noi girava [[:w:it:ubuntu|ubuntu]] 10.04 con [[:w:it:Php|Php]] "retrocesso" alla versione 5.2.10 (in quanto la versione 5.3, di default su questa distribuzione, crea problemi come abbiamo già spiegato nell'[[Manuale_MediaWiki/Installazione#PHP_5.3.2-1ubuntu4.7:_incompatibile|Introduzione]], a diversi applicativi, compreso mediawiki)

Dopo l'installazione, lanciamo in esecuzione il programma '''mw-serve''', che, di default, risponde alle richieste da internet sulla porta 8899

===''Codice''===
Si può allora procedere a modificare il [[:w:it:codice sorgente|codice]] nel file '''Collection.php''', in questo modo:

<pre>
<pre>
/** URL of mw-serve render server */
/** URL of mw-serve render server */
$wgCollectionMWServeURL = 'http://ROOT-DEL-PROPRIO-SERVER:8899';
$wgCollectionMWServeURL = 'indirizzo_del_server:8899';
</pre>
</pre>


Il server potrebbe non supportare la ricezione dei dati su porte non standard (in particolare, la 8899). In questo caso, il servizio non funzionerà, tuttavia è possibile aggirare il problema usando il server in modalità CGI.<ref>http://code.pediapress.com/wiki/wiki/Examples</ref>


== Note ==
La prova è stata fatta sull' '''estensione Collection''' installata su tre siti wiki
<references/>

ospitati da tre diversi [[:w:it:Internet Service Provider|provider]]:

* http://www.aruba.it

* http://www.hostgator.com/

* http://www.tucows.com/

===Bug===

Solo quello su [http://www.tucows.com/ tucows.com] funzionava però regolarmente; mentre gli altri due, sembrava non inviassero neppure le richieste al server.

Immaginiamo si sia trattato di un problema di sicurezza: alcuni provider non gradiscono infatti che i siti da loro ospitati possano collegarsi a server esterni che rispondono a porte "fuori standard", come la 8899 appunto (invece della classica porta 80).

====Uso del Server in modalità CGI====

Per ovviare al problema, abbiamo seguito le istruzioni riportate qui:

* http://code.pediapress.com/wiki/wiki/Examples


dove è citato l' '''uso del server in modalità CGI''' (usata dai server web [[:w:it:Apache HTTP Server|apache]] per far girare programmi all'interno dello spazio web), utilizzando un "fantomatico" '''script mwlib.cgi'''.

Fantomatico perché, pur essendo citato, non viene fornito alcun link per scaricarlo!

====Script "mwlib.cgi"====

Per fortuna, cercando '''troviamo lo script a quest'indirizzo:'''

* http://www.mail-archive.com/mwlib@googlegroups.com/msg01221.html


Lo abbiamo dunque attivato sul nostro server

e a quel punto, dopo aver modificato nuovamente il file '''Collection.php''', tutte le estensioni installate nei diversi wiki hanno funzionato senza ulteriori problemi.


'''Eccovi lo Script''' (ricordate, che dovrete essere esperti un minimo in codice di programmazione, per poterlo modificare e riempirlo con i dati personali del vostro server):

{{vai2|Manuale MediaWiki/Estensioni/Manuali/Estensione Collection/Script mwlib.cgi|testo=Script mwlib.cgi}}


== Collegamenti esterni ==
*[[mw:Extension:Collection|Extension:Collection]] su www.mediawiki.org
*[http://mwlib.readthedocs.org/en/latest/collection.html Istruzioni di configurazione] dell'estensione Collection
*[http://mwlib.readthedocs.org/en/latest/installation.html Installazione di mwlib]
*[http://mwlib.readthedocs.org/en/latest/renderserver.html Configurazione del server] per renderlo un servizio di esportazione online


{{torna a|Manuale MediaWiki/Estensioni|testo=Estensioni}}
{{torna a|Manuale MediaWiki/Estensioni|testo=Estensioni}}

Versione delle 09:43, 1 feb 2012

Torna a: Estensioni.

L'estensione Collection permette di creare elenchi di pagine del wiki (creando dei piccoli libri) e di esportarli in diversi formati, tra i quali PDF, ODF, DocBook XML. L'estensione è stata sviluppata da PediaPress.

Impostazione del servizio

La conversione del testo wiki non viene eseguita sul wiki, ma su un altro computer, indicato come server e impostato nei file dell'estensione. L'estensione invia il markup al server, il quale lo converte tramite un programma interno chiamato mwlib, e infine restituisce il risultato, il quale può essere scaricato dall'utente.

I siti con traffico limitato possono utilizzare il server messo a disposizione da PediaPress. Questa è l'impostazione di default.

Server privato

Invece, i siti con maggiore traffico possono utilizzare un proprio server privato, sul quale è stato installato lo stesso software usato dal server di PediaPress. Sul server va installato mwlib, cioè il software che il servizio online di PediaPress usa internamente per convertire il testo. Dopo avere installato mwlib, bisogna configurare il server affinché attivi il servizio e possa essere richiamato dal wiki.

Infine, per far sì che il wiki richiami il server privato invece del server di PediaPress, si imposta l'indirizzo nel file Collection.php, modificando la riga:

/** URL of mw-serve render server */
$wgCollectionMWServeURL = 'http://tools.pediapress.com/mw-serve/';

in questo modo:

/** URL of mw-serve render server */
$wgCollectionMWServeURL = 'indirizzo_del_server:8899';

Il server potrebbe non supportare la ricezione dei dati su porte non standard (in particolare, la 8899). In questo caso, il servizio non funzionerà, tuttavia è possibile aggirare il problema usando il server in modalità CGI.[1]

Note

  1. http://code.pediapress.com/wiki/wiki/Examples

Collegamenti esterni

Torna a: Estensioni.