IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)
Mediawiki
Aplicacions web LOE/Sessió mediawiki
Instal·lació
Consulteu Instal·lació mediawiki
Instal·lació manual
Consulteu:
Instal·lació_mediawiki#Instal.C2.B7laci.C3.B3_manual
Des dels repositoris d'Ubuntu
Consulteu
Instal·lació_mediawiki#Instal.C2.B7laci.C3.B3_des_dels_repositoris
Actualitzacions
Consulteu Actualització/Upgrade_mediawiki_amb_Debian/Ubuntu
Instal·lació amb bitnami
En primer lloc anem a descarregar el mòdul de Mediawiki complert per Linux. El tenim a Mediawiki amb bitnami.
Això instal·larà també LAMP.
En el meu cas, al tenir més aplicacions de bitnami.org instal·lades instal·lo un únic mòdul:
$ chmod +x bitnami-mediawiki-1.16.2-0-module-linux-installer.bin $ sudo ./bitnami-mediawiki-1.16.2-0-module-linux-installer.bin
I ja tenim MediaWiki instal·lada si accedim a http://localhost:
Configuració
Fitxer de configuració LocalSettings.php
Paràmetres de configuració
TODO
Permetre només modificacions als usuaris registrats
Al fitxer LocalSettings.php cal posar:
$wgGroupPermissions['*']['edit'] = false;
Permisos
TODO
RevisionDelete
Des de la versió 1.14 de mediawiki existeix la pàgina:
Especial:Esborra_versió
A la qual només hi pot accedir qui tingui permisos.
Exemples de permisos:
Només els usuaris sysop poden esborrar revisions:
$wgGroupPermissions['sysop']['deleterevision'] = true;
Recursos:
Exemples de configuració
Activar File uploads (carrega de fitxers)
Normalment al fitxer LocalSettings.php cal posar:
$wgEnableUploads = true; # Enable uploads
IMPORTANT: El nom de la carpeta on es guarden les imatges a mediawiki ha anat canviant. Hi ha dos opcions habituals:
/var/lib/mediawiki/images /var/lib/mediawiki/uploads
En tot cas sigui quina sigui la vostra opció cal fer-ho quadrar amb els paràmetres de configuració:
$wgUploadPath = "$wgScriptPath/images"; $wgUploadDirectory = "$IP/images";
I també cal que la carpeta (a l'exemple /var/lib/mediawiki/images) tingui permisos d'escriptura per a l'usuari que executa el servidor web. Si es tracta d'un Apache i un sistema de la família Debian/Ubuntu:
$ sudo chown www-data:www-data /var/lib/mediawiki/images $ sudo chmod 700 /var/lib/mediawiki/images
A més cal tenir configurades totes les aplicacions que estan per sobre de Mediawiki (PHP, Apache...) per tal de que permetin la càrrega de fitxers.
NOTA: Cal tenir en compte a més que potser s'apliquen límits a les mides màximes de fitxers a pujar.
Recursos:
- http://www.mediawiki.org/wiki/Manual:Image_Administration
- http://www.mediawiki.org/wiki/Manual:Configuring_file_uploads
- http://www.mediawiki.org/wiki/Manual:Mime_type_detection
Fer una wiki completament privada
A LocalSettings.php cal afegir:
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgWhitelistRead = array ("Special:Userlogin");
$wgGroupPermissions['*']['createaccount'] = false;
Aquesta informació la he obtingut gràcies a Ivan Picazo.
Similars:
- http://www.mediawiki.org/wiki/Extension:PublicCat
- http://www.mediawiki.org/wiki/Manual:Preventing_access
Manual
Consulteu també Aplicacions_web_LOE/Sessió_mediawiki#Manual.
Com redireccionar pàgines
#REDIRECT name of the target page
Consulteu:
http://meta.wikimedia.org/wiki/Help:Redirect
Dreceres de teclat. Shortcuts
Amb Firefox (ja sigui Linux o Windows), les dreçeres de teclat de mediawiki es fan amb Shit+Alt Key+ Dreçera.
Possiblement la més interessant és la que ens permet salvar la pàgina:
Shift+Alt Key+s
Pode consultar totes les dreceres a:
http://meta.wikimedia.org/wiki/Help:Keyboard_shortcuts
Com esborrar definitivament una pàgina/article?
Segons el manual de mediawiki per esborrar una versió d'un document de forma definitiva cal:
- Els administradors poden eliminar pàgines de forma definitiva. Una pàgina eliminada per l'administrador de la wiki deixa de ser visible per a la resta d'usuaris. Els administradors però, si poden veure aquestes pàgines i fins i tot restaurar-les.
- Hi ha una extensió de mediawiki anomenada Oversight que permet amagar les versions de un document que no interessen.
- Des de la versió 1.14 de mediawiki es pot activar el paràmetre RevisionDelete que permet als usuaris amb privilegis amagar certes versions d'un document de l'historial d'una pàgina. Podeu veure aquí una captura de pantalla del que fa. De fet aquest paràmetre substitueix a la extensió esmentada en l'apartat anterior.
- Hi ha un script de manteniment maintenance/deleteOldRevisions.php que permet fer eliminacions massives de pàgines i de versions antigues de pàgines. Cal anar en compte al utilitzar-lo.
La pàgina especial:
Especial:Esborra_versió
Permet als usuaris amb permisos esborrar versions.
Existeix una pàgina especial de mediawiki:
Especial:Restaura
que permet a un administrador restaurar una pàgina esborrada. La pàgina especial:
Especial:Registre/delete
Des del mateix registre es pot restaurar o consultar una pàgina esborrada.
Conté un registre o log de les pàgines esborrades. També existeix una pàgina especial:
Especial:Contribucions_esborrades
que permet consultar les contribucions esborrades per un usuari concret. La següent captura de pantalla és un exemple que mostra les pàgines esborrades per l'usuari Sergi:
Recursos:
- http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_delete_an_old_version_of_a_page.3F
- http://www.mediawiki.org/wiki/Manual:Removing_embarrassment
Com activar les formules
Si teniu instal·lat mediawiki des dels repositoris feu:
$ sudo apt-get install mediawiki-math
{{important| Si teniu la wiki instal·lada a mà no executeu l'última ordre sobretot si l'heu instal·lat a mà als mateixos directoris que ho faria la instal·lació des de repositoris.0} Us pot sobrescriure fitxers/configuracions...}
Es necessari el fitxer /usr/bin/texvc:
$ dpkg -L mediawiki-math /. /usr /usr/share /usr/share/doc /usr/share/doc/mediawiki-math /usr/share/doc/mediawiki-math/README /usr/share/doc/mediawiki-math/copyright /usr/share/doc/mediawiki-math/changelog.Debian.gz /usr/share/man /usr/share/man/man1 /usr/share/man/man1/texvc.1.gz /usr/bin /usr/bin/texvc
Sempre el podeu obtenir a mà i instal·lar-lo a mà sense instal·lar el paquet o el podeu compilar:
$ cd /var/lib/mediawiki/math $ make
Cal afegir a LocalSettings.php:
#Enable math support $wgUseTeX= true; $wgTexvc="/usr/bin/texvc";
NOTA: Indicar el path de wgTexvc és per què sinó el busca a la carpeta math!
Pàgines especials
Pàgines noves i canvies recents
http://acacha.dyndns.org/mediawiki/index.php/Especial:P%C3%A0gines_noves
Té un rss:
http://acacha.dyndns.org/mediawiki/index.php?title=Especial:P%C3%A0gines_noves&feed=rss
Es pot modificar el text de Canvis Recents a:
MediaWiki:Recentchangestext
Espai de noms mediawiki
Mediawiki:Sitenotice. Posar una notícia que aparegui a totes les pàgines
Cal editar la pàgina especial:
MediaWiki:Sitenotice
Per exemple la URL:
http://www.mediawiki.org/wiki/MediaWiki:Sitenotice
Editar els menús de l'esquerra. MediaWiki:Sidebar
Cal modificar la pàgina especial
MediaWiki:Sidebar
Vegeu també:
Extensions
Les extensions són el mecanisme que permet augmentar la funcionalitat d'una mediawiki. Consulteu:
http://www.mediawiki.org/wiki/Category:Extensions
Instal·lar una extensió
Les extensions s'afegeixen a la carpeta extensions. Per exemple, si la mediawiki està instal·lada a /usr/share/mediawiki:
/usr/share/mediawiki/extensions
Per exemple per instal·lar la extensió:
http://www.mediawiki.org/wiki/Extension:Add_to_Any_Share/Save/Bookmark_Button
Executem:
$ cd /usr/share/mediawiki/extensions $ sudo wget http://www.addtoany.com/ext/mediawiki/add-to-any-share-save.zip $ sudo unzip add-to-any-share-save
Al fitxer LocalSetings.php cal afegir la següent línia:
$ sudo joe /usr/share/mediawiki/LocalSettings.php
require_once("$IP/extensions/add-to-any-share-save/add-to-any-share-save.php");
Ja tenim instal·lada la extensió (la podeu veure a la part superior d'aquesta pàgina).
Editor HTML WYSIWYG. fckeditor
Instal·lació:
Té dos parts:
Instal·lar la extensió de mediawiki:
$ cd /var/lib/mediawiki/extensions $ sudo svn checkout http://svn.fckeditor.net/MediaWiki/trunk FCKeditor
Instal·lar el editor en si mateix:
$ cd /var/lib/mediawiki/extensions/FCKeditor $ sudo rm -rf fckeditor $ sudo svn checkout http://svn.fckeditor.net/FCKeditor/trunk fckeditor
Ara cal configurar mediawiki per tal que utilitzi la extensió:
$ cd /var/lib/mediawiki/ $ sudo joe LocalSettings.php
Afegiu la línia:
require_once("$IP/extensions/FCKeditor/FCKeditor.php");
Recursos:
Simple Security
Protegeix algunes pàgines de lectura:
Flickr
http://www.mediawiki.org/wiki/Extension:Flickr
<flickr>362100651|thumb|t|left|Buckingham Palace</flickr>
<flickr>362100651|thumb|t|left|Buckingham Palace</flickr>
ImportFreeImages
Permet importat imatges lliures des de flickr:
$ cd /usr/share/mediawiki/extensions $ sudo apt-get install subversion $ svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ImportFreeImages/
Obtenir phpFlickr
$ wget http://downloads.sourceforge.net/project/phpflickr/phpFlickr/2.2.0/phpFlickr-2.2.0.zip?use_mirror=puzzle $ unzip phpFlickr-2.2.0.zip
Cal obtenir una clau de flickr i posar-la al fitxerImportFreeImages.php.
$wgIFphpFlickr = '/usr/share/mediawiki/extensions/phpFlickr-2.2.0/phpFlickr.php'; // Path to your phpFlickr file
Afegiu a LocalSettings.php:
require_once('extensions/ImportFreeImages/ImportFreeImages.php');
Per utilitzar-lo podeu anar a:
http://acacha.org/mediawiki/index.php/Especial:ImportFreeImages
Recursos:
PDF Export
$ sudo apt-get install htmldoc
Seguiu les instruccions de:
http://www.mediawiki.org/wiki/Extension:Pdf_Export/Source_Code
I afegiu la línia:
require_once("extensions/PdfExport/PdfExport.php");
a LocalSettings.
Recursos:
Semantic mediawiki
$ cd /usr/share/mediawiki/extensions/ $ sudo wget http://sourceforge.net/projects/semediawiki/files/semediawiki/semediawiki-1.4.3/semediawiki-1.4.3.tar.gz/download
La última versió es pot obtenir a:
http://sourceforge.net/projects/semediawiki/files/
Descomprimim:
$ tar xvzf semediawiki-1.4.3.tar.gz
Activem el plugin:
$ sudo joe /var/lib/mediawiki/LocalSettings.php
Afegim les línies:
include_once("$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php");
enableSemantics('elvostredomini.org');
On elvostredomini.org s'ha d'adequar al vostre cas. Només serveis per identificar el domini, no cal preocupar-se si teniu més d'un nom, escolliu un.
Aneu a:
http://acacha.org/mediawiki/index.php/Especial:SMWAdmin
I feu clic als tres botons.
OpenID
Per tal de funcionar requereix de certes llibreries i cal tenir instal·lat pear:
$ sudo apt-get install php5-pear
també cal instal·lar una llibreria anomenada php-openid. A Debian/unbut hi ha un paquet:
$ sudo apt-get install php-openid
El que fa es afegir la llibreria a l'include de PHP:
/usr/share/php5
O a OpenSuse cal instal·lar a mà
$ sudo zypper install php5-pear $ sudo zypper install php5-mcrypt $ sudo zypper install mcrypt $ cd $ sudo wget http://openidenabled.com/files/php-openid/packages/php-openid-2.1.3.zip $ sudo cp -r php-openid-2.1.3/Auth /usr/share/php5
$ cd /usr/share/mediawiki/extensions $ sudo wget http://upload.wikimedia.org/ext-dist/OpenID-trunk-r55060.tar.gz $ tar xvzf OpenID-trunk-r55060.tar.gz
Ara cal executar l'actualització de mediawiki amb:
$ sudo php5 /usr/share/mediawiki/maintenance/update.php --conf /var/lib/mediawiki/LocalSettings.php
Abans cal indicar el superusuari d'accés a la base de dades. Consulteu Actualització/Upgrade_mediawiki_amb_Debian/Ubuntu
Si us surt l'error:
des de la funció «SpecialOpenID::getUser». L'error de retorn de MySQL ha estat «1146: Table 'wikidb.mediawiki_user_openid' doesn't exist (localhost)». Obtingut de «http://acacha.org/mediawiki/index.php/Especial:OpenIDLogin»
Cal crear la taula amb :
$ mysql -h yourdbhost -u youradminuser -p yourwikidb < openid_table.sql
On el fitxer openid_table.sql el trobareu a la carpeta OpenID que acabeu de crear, en el meu cas:
/usr/share/mediawiki/extensions/OpenID/openid_table.sql
Ara afegiu a LocalSettings.php:
$ sudo joe /var/lib/mediawiki/LocalSettings.php
la línia:
require_once("$IP/extensions/OpenID/OpenID.php");
Si us apareix l'error:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 45 bytes) in /usr/share/mediawiki/languages/messages/MessagesEs.php on line 1252
Editeu el fitxer:
$ sudo joe /etc/php5/apache2/php.ini
Busqueu el memory limi i l'augmenteu:
memory_limit = 42M ; Maximum amount of memory a script may consume (16MB)
I torneu a iniciar apache
La última versió del plugin s'obté de:
http://www.mediawiki.org/wiki/Extension:OpenID
Vegeu també:
OpenID
Resolució de problemes
Warning: require_once(Auth/OpenID/Consumer.php): failed to open stream: No such file or directory in /usr/share /mediawiki/extensions/OpenID/SpecialOpenID.body.php on line 28 Fatal error: require_once(): Failed opening required 'Auth/OpenID/Consumer.php' (include_path='/var/lib/mediawiki:/var/lib/mediawiki/includes:/var/lib /mediawiki/languages:.:/usr/share/php5:/usr/share/php5/PEAR') in /usr/share/mediawiki/extensions/OpenID /SpecialOpenID.body.php on line 28
Recursos:
Sintax Highlight
$ wget http://www.lastengine.com/wp-content/uploads/2009/04/syntax-highlighter-code-colorizer.zip $ unzip syntax-highlighter-code-colorizer.zip $ cd .. $ sudo joe LocalSettings.php
Afegiu:
#Sintax Highlight
require_once("extensions/syntax-highlighter-code-colorizer/syntax-highlighter-mediawiki.php");
Podeu afegir un boto amb:
var buttonSintaxHighlight = {
"imageFile": "upload/f/f4/Button_SintaxHighlight.png", //image to be shown on the button (may be a full URL too), 22x22 pixels
"speedTip": "Sintax Highlight", //text shown in a tooltip when hovering the mouse over the button
"tagOpen": "<pre class=\"brush:php\">",
"tagClose": "</pre>",
"sampleText": "Codi font"
};
mwCustomEditButtons.push(buttonSintaxHighlight);
a la web
MediaWiki:Common.js
Consulteu:
Mediawiki#Afegir_botons.28icones.29_a_la_p.C3.A0gina_d.27edici.C3.B3
Exemple php:
Poseu:
<pre class="brush:php"> echo "Hola mon!"; </pre>
El resultat serà:
echo "Hola mon!";
Exemple XML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
03/01/2010 17:26:32
project
description
sergi
====================================================================== -->
<project name="project" default="default">
<description>
description
</description>
<!-- =================================
target: default
================================= -->
<target name="default" depends="depends" description="description">
</target>
<!-- - - - - - - - - - - - - - - - - -
target: depends
- - - - - - - - - - - - - - - - - -->
<target name="depends">
</target>
</project>
- http://www.lastengine.com/syntax-highlighter-code-colorizer-mediawiki/
- http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes
Instal·lar una extensió que utilitza Pear
Geshi
Geshi és una extensió de mediawiki que permet acolorir codi font.
Per instal·lar geshi cal instal·lar primer Pear:
$ sudo apt-get install php-pear
Després afegir en canal necessari per instal·lar geshi:
$ sudo pear channel-discover mediawiki.googlecode.com/svn
Actualitzem Pear:
$ sudo pear upgrade pear
I ara instal·lem geshi:
$ sudo pear install mediawiki/geshi
També cal instal·lar la dependència stubmanager
$ sudo pear install mediawiki/stubmanager
I editar el fitxer /etc/mediawiki/LocalSettings.php:
$ sudo joe /etc/mediawiki/LocalSettings.php
I afegir les línies:
#Source Code Highlight Plugin (Geshi). Afegit per Sergi Tur el 29/03/2009 require_once 'MediaWiki/StubManager/StubManager.php'; require 'MediaWiki/geshi/geshi.php';
Per utilitzar geshi:
<php source=SOURCE>
<?php
require_once( './includes/WebStart.php' );
global $wgArticlePath;
require_once( 'includes/WebRequest.php' );
$wgRequest = new WebRequest();
$page = $wgRequest->getVal( 'wpDropdown' );
$url = str_replace( "$1", urlencode( $page ), $wgArticlePath );
header( "Location: {$url}" );
<?php>
</php>
El resultat el podeu veure a Prova.
Un altre forma d'especificar un exemple de codi font:
<source lang="html4strict" line start="100" highlight="5"> HTML module goes here... </source>
Recursos:
Instal·lar una extensió per a RSS
Per instal·lar la extensió RSS, es necessita la llibreria magpierss.
Aneu a la carpeta d'extensions de la mediawiki:
$ cd /usr/share/mediawiki/extensions
I descarregueu la llibreria:
$ sudo wget http://downloads.sourceforge.net/magpierss/magpierss-0.72.tar.gz?use_mirror=fastbull
I la descomprimiu:
$ tar xvzf magpierss-0.72.tar.gz $ sudo mv magpierss-0.72 magpierss
Ara copieu el codi de:
http://www.mediawiki.org/wiki/Extension:RSS#Source
A un fitxer anomenat /var/lib/mediawiki/extensions/RSS/rss.php:
$ cd /usr/share/mediawiki/extension $ sudo mkdir RSS $ sudo joe rss.php
Al fitxer LocalSettings cal afegir la línia:
$ sudo joe /etc/mediawiki/LocalSettings.php ... require_once("/var/lib/mediawiki/extensions/RSS/rss.php");
Podeu veure un exemple de la llibreria a:
http://acacha.dyndns.org/mediawiki/index.php/ProvaRSS
Ara per millorar el rendiment només us cal afegir una carpeta per al cache, aneu a l'arrel de la vostra wiki, per exemple:
$ cd /var/lib/acacha_mediawiki $ sudo mkdir ./cache $ cd ./cache/ $ sudo chown www-data:www-data -R . $ sudo chmod g+w .
ParserFunctions extension
http://www.mediawiki.org/wiki/Extension:ParserFunctions
Podeu baixar la última versió a:
http://www.mediawiki.org/wiki/Special:ExtensionDistributor/ParserFunctions
Els passos són:
Anar a la carpeta extensions:
$ cd /var/lib/mediawiki $ wget http://upload.wikimedia.org/ext-dist/ParserFunctions-trunk-r66651.tar.gz $ tar -xzf ParserFunctions-trunk-r66651.tar.gz
Afegiu a LocalSettings.php:
require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
Recursos:
Recaptcha
$ cd /usr/share/mediawiki/extensions $ sudo wget http://recaptcha.googlecode.com/files/recaptcha-mediawiki-1.7.zip $ sudo unzip recaptcha-mediawiki-1.7.zip $ sudo mv recaptcha-mediawiki-1.7.zip recaptcha $ sudo joe /var/lib/mediawiki/LocalSettings.php
I afegiu les línies:
require_once( "$IP/extensions/recaptcha/ReCaptcha.php" ); // Sign up for these at http://recaptcha.net/api/getkey $recaptcha_public_key = ; $recaptcha_private_key = ;
Amb les claus que corresponen de la vostra compte de recaptcha.
Al fitxer ConfirmEdit.php de la extensió es pot controlar quan s'utilitzarà el captcha. Jo he trobat innecessari la opció que obliga a posar un captcha cada cop que hi ha una edició amb enllaços externs (està per evitar SPAM):
$ sudo joe ConfirmEdit.php
Canvieu a false la línia:
$wgCaptchaTriggers['addurl'] = false; // Check on edits that add URLs
Recursos:
Add To any
$ cd path/to/extensions_folder $ wget http://www.addtoany.com/ext/mediawiki/add-to-any-share-save.zip $ unzip add-to-any-share-save.zip
Ara a LocalSettings.php afegiu:
#Afegit per X el Y
require_once("$IP/extensions/add-to-any-share-save/add-to-any-share-save.php");
Recursos:
Google Calendar
Widgets
Una prova:
Personalització d'una wiki
Personalitzar l'estil d'una wiki
Personalització de javascript i de CSS, per system & per user
Podeu modificar les wikis:
User:Your username/skinname.js User:Your username/skinname.css
Per modificar el javascript o el CSS d'un usuari concret. O
MediaWiki:Common.js MediaWiki:Common.css
Per modificar-ho per a tota la wiki.
Afegir botons(icones) a la pàgina d'edició
A partir de certes versions de mediawiki (no sé exactament quina però segur que a la versió 1.19.0) ja s'aplica s'ha canviat la forma de modificar aquests botons. Vegeu:
http://www.mediawiki.org/wiki/Extension:WikiEditor
Documentació obsoleta (versions anteriors)
Cal editar la pàgina:
MediaWiki:Common.js
NOTA: cal canviar les URL per les del vostre servidor!!!
I afegir:
var button = {
"imageFile": "images/5/56/Button redirect.png", //image to be shown on the button (may be a full URL too), 22x22 pixels
"speedTip": "Redirecció", //text shown in a tooltip when hovering the mouse over the button
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "Pàgina on redireccionar"
};
mwCustomEditButtons.push(button);
Prèviament s'ha carregat la imatge:
Després s'ha localitzat on està exactament aquesta imatge amb.
$ sudo updatedb $ locate
Consulteu:
Recursos:
- http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_add_more_buttons_on_the_edit_page.3F
- http://www.mediawiki.org/wiki/User:Roc_michael
Mediawiki_edit_toolbar
Consulteu la pàgina:
MediaWiki:Common.js
Cal afegir a la pàgina wiki MediaWiki:Common.js de la vostra wiki quelcom similar a:
IMPORTANT: Cal canviar les URL per les del vostre servidor!!! Ta mbé tingueu en compte que potser la vostra carpeta imatges és diu images en comptes de upload. També cal que mireu si esteu utilitzant la carpeta upload o la images. També vigileu que al copiar i pegar es copii correctament el codi del boto taula, ja que al ser la línia molt llarga us pot copiar malament el codi
/**
Afegit per Sergi Tur el 02/04/2009
Extret de: http://en.wikipedia.org/w/index.php/MediaWiki:Common.js/edit.js
*/
/* Es carregarà per a tots els usuaris, i per a qualsevol pàgina, el codi JavaScript que hi haja després d'aquesta línia. */
var button = {
"imageFile": "upload/c/c8/Button_redirect.png", //image to be shown on the button (may be a full URL too), 22x22 pixels
"speedTip": "Redirecció", //text shown in a tooltip when hovering the mouse over the button
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "Pàgina on redireccionar"
};
mwCustomEditButtons.push(button);
/** Extra toolbar options ******************************************************
*
* Description: Adds extra buttons to the editing toolbar.
*
* To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]].
*
* Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]
*/
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/c/c9/Button_strike.png",
"speedTip": "Strike",
"tagOpen": "<s>",
"tagClose": "</s>",
"sampleText": "Strike-through text"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/1/13/Button_enter.png",
"speedTip": "Line break",
"tagOpen": "<br />",
"tagClose": "",
"sampleText": ""
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/8/80/Button_upper_letter.png",
"speedTip": "Superscript",
"tagOpen": "<sup>",
"tagClose": "</sup>",
"sampleText": "Superscript text"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/7/70/Button_lower_letter.png",
"speedTip": "Subscript",
"tagOpen": "<sub>",
"tagClose": "</sub>",
"sampleText": "Subscript text"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/5/58/Button_small.png",
"speedTip": "Small",
"tagOpen": "<small>",
"tagClose": "</small>",
"sampleText": "Small Text"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/3/34/Button_hide_comment.png",
"speedTip": "Insert hidden Comment",
"tagOpen": "<!-- ",
"tagClose": " -->",
"sampleText": "Comment"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/1/12/Button_gallery.png",
"speedTip": "Insert a picture gallery",
"tagOpen": "\n<gallery>\n",
"tagClose": "\n</gallery>",
"sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/f/fd/Button_blockquote.png",
"speedTip": "Insert block of quoted text",
"tagOpen": "<blockquote>\n",
"tagClose": "\n</blockquote>",
"sampleText": "Block quote"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/6/60/Button_insert_table.png",
"speedTip": "Insert a table",
"tagOpen": '{| class="wikitable" border="1"\n|',
"tagClose": "\n|}",
"sampleText": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2,
cell 2\n| row 2, cell 3"
});
mwCustomEditButtons.push({
"imageFile": "http://acacha.dyndns.org/mediawiki/upload/7/79/Button_reflink.png",
"speedTip": "Insert a reference",
"tagOpen": "<ref>",
"tagClose": "</ref>",
"sampleText": "Insert footnote text here"
});
Per veure com hem afegit a aquesta wiki els botons típics extres que pots trobar a la wikipedia a la Edit Toolbar (la barra que surt a la edició...).
Script per baixar-se tots els fitxers de cop
Creeu una carpeta a la vostra HOME:
$ cd $ mkdir wikipedia_icons
Creeu un fitxer amb les URL:
$ sudo joe urls
Afegiu:
http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png http://upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png http://upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png http://upload.wikimedia.org/wikipedia/en/5/58/Button_small.png http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png http://upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png
Descarregueu les imatges amb wget
$ wget -N -i urls
Feu un import images:
$ cd /usr/share/mediawiki/maintenance $ sudo php5 importImages.php --conf /var/lib/mediawiki/LocalSettings.php --user=Usuari ~/wikipedia_icons
Consulteu:
- http://commons.wikimedia.org/wiki/Mediawiki_edit_toolbar
- http://www.mediawiki.org/wiki/Manual:Custom_edit_buttons
Altres
Múltiples_instal·laciones_en_una_mateixa_màquina
Consulteu Múltiples_instal·laciones_en_una_mateixa_màquina
Automatitzar la replicació d'una wiki. Còpia remota
NOTA: Cal tenir en compte el tema dels charsets. Les noves versions de wiki creen les bases de dades amb charset binary, per restaurar una base de dades que originalment era latin1(ISO-8859-1) cal utilitzar les ordres mysqldump i mysql indicant --default-charset
Consulteu Automatitzar la replicació d'una wiki. Còpia remota
Consulteu Mediawiki. Còpia de seguretat
Enllaços entre wikis
Consulteu Enllaços entre wikis per saber més sobre els interwiki links.
API
Totes les wikis disposen d'una API. Si pot accedir utilitzant l'script api.php que normalment es troba a /usr/share/mediawiki/api.php. Un exemple d'accés per URL:
http://acacha.org/mediawiki/api.php
La pàgina us mostrarà l'ajuda.
Moltes de les peticions HTTP (HTTP REQUESTS) que es poden fer amb l'API només poden ser POST. Podeu enviar peticions POST amb wget:
$ wget --post-data='POSEU_AQUI_ELS_PARAMETRES' -O - 'http://localhost/~wiki/mediawiki/api.php'
Per exemple per fer un login:
$ wget --post-data='action=login&lgname=user&lgpassword=password' -O - 'http://localhost/~wiki/mediawiki/api.php'
Per exemple:
$ wget --post-data='action=login&lgname=user&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php' --2010-11-11 17:19:34-- http://www.iesebre.com/manteniment/api.php Resolent www.iesebre.com... 192.168.0.9 S'està connectant a www.iesebre.com|192.168.0.9|:80... conectat. HTTP: Petició enviada, esperant resposta... 200 OK Longitud: 750 [text/html] S'està desant a: «STDOUT»
El format de sortida és un HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MediaWiki API Result</title> </head> <body>
You are looking at the HTML representation of the XML format.
HTML is good for debugging, but probably is not suitable for your application.
See <a href='http://www.mediawiki.org/wiki/API'>complete documentation</a>, or <a href='/manteniment/api.php'>API help</a> for more information.
<span style="color:blue;"><?xml version="1.0"?></span> <span style="color:blue;"><api></span> <span style="color:blue;"><login result="NotExists" /></span> <span style="color:blue;"></api></span>
</body> </html>
100%[=======================================================================================================================================>] 750 --.-K/s en 0s 2010-11-11 17:19:34 (56,0 MB/s) - s'ha desat «-» [750/750]
Us pot ser més útil un format de text (o també suport XML o PHP [1]):
$ wget --no-verbose --post-data='action=login&format=txt&lgname=sergi&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php' Array ( [login] => Array ( [result] => Success [lguserid] => 2 [lgusername] => Sergi [lgtoken] => 2119597d524e5ecb1d09244d1eb749f6 [cookieprefix] => wikidb_manteniment_mediawiki_ [sessionid] => 9a29e2756e9cb23c79345efcfd97f4ed )
) 2010-11-11 17:26:21 URL:http://www.iesebre.com/manteniment/api.php [324/324] -> "-" [1]
Exemple per crear una pàgina wiki
Primer cal fer el login:
$ wget -q --keep-session-cookies --save-cookies="cookies.txt" --load-cookies="cookies.txt" \ --post-data='action=login&format=txt&lgname=sergi&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php' Array ( [login] => Array ( [result] => Success [lguserid] => 2 [lgusername] => Sergi [lgtoken] => 2119597d524e5ecb1d09244d1eb749f6 [cookieprefix] => wikidb_manteniment_mediawiki_ [sessionid] => b502e243916703adea6a2793199f974c ) )
Ara cal obtenir el edittoken (serà el mateix per a totes les pàgines en una mateixa sessió):
$ wget -q --keep-session-cookies --load-cookies=cookies.txt --save-cookies=cookies.txt \ --post-data='action=query&prop=info|revisions&intoken=edit&titles=Prova&format=txt' -O \ - 'http://www.iesebre.com/manteniment/api.php' Array ( [query] => Array ( [pages] => Array ( [21] => Array ( [pageid] => 21 [ns] => 0 [title] => Prova [touched] => 2010-11-11T17:54:09Z [lastrevid] => 7743 [counter] => 36 [length] => 5 [starttimestamp] => 2010-11-11T17:54:18Z [edittoken] => 34ef558a61f87b36fad24088bca9e7e9+\ [revisions] => Array ( [0] => Array ( [revid] => 7743 [user] => Sergi [timestamp] => 2010-11-11T17:50:58Z [comment] => autoconverted ) ) ) ) )
)
Ara anem a canviar la pàgina Prova i posarem el text 'test1
$ wget -q --keep-session-cookies --load-cookies=cookies.txt --save-cookies=cookies.txt \ --post-data='action=edit&title=Prova&summary=autoconverted&format=txt&text=test1&recreate=1¬minor=1&bot=1&token=34ef558a61f87b36fad24088bca9e7e9%2B%5C' -O \ - 'http://www.iesebre.com/manteniment/api.php' Array ( [edit] => Array ( [result] => Success [pageid] => 21 [title] => Prova [oldrevid] => 3034 [newrevid] => 7743 ) )
IMPORTANT: El token és l'edittoken. El valor era 34ef558a61f87b36fad24088bca9e7e9+\ però els 2 últims caràcters s'han de codificar (url encode) i per això posem 34ef558a61f87b36fad24088bca9e7e9%2B%5C
Restringir l'accés a l'API
Depurar
Cal activar la variable:
$wgDebugLogFile = "/tmp/wiki.log"
Resolució de problemes
No s'ha pogut crear el directori «mwstore://local-backend/local-public/a/aa».
Amb les últimes versions de mediawiki (p.ex. versió 1.19.1 --acacha (discussió) 06:25, 18 ago 2012 (CEST)) al pujar un fitxer us pot donar l'error:
No s'ha pogut crear el directori «mwstore://local-backend/local-public/a/aa».
És una qüestió de permisos:
$ sudo chmod -R 755 images $ sudo chown -R www-data images $ sudo chgrp -R www-data images
Recursos:
Error al fitxer /var/log/apache2/error.log. Segmentation fault '/usr/bin/convert'
$ sudo tail -f /var/log/apache2/error.log /var/lib/acacha_mediawiki/bin/ulimit4.sh: line 4: 17024 Segmentation fault '/usr/bin/convert' -background white -size 120 '/var/lib /acacha_mediawiki/upload/e/e1/60895792.gif' -coalesce -thumbnail '120x75!' -depth 8 '/var/lib/acacha_mediawiki/upload/thumb/e/e1/60895792.gif/120px- 60895792.gif' 2>&1 ...
La sol·lució pujar la quantitat de memòria:
//Maximum amount of virtual memory available to shell processes under linux, in KB. $wgMaxShellMemory = 102400;
o posar-la il·limitada:
$wgMaxShellMemory = unlimited; $wgMaxShellFileSize = unlimited;
No apareix la taula de continguts (TOC: Table of Contents)
La taula de continguts (TOC: Table Of Contents) s'afegeix automàticament quan teniu més de 3 apartats (capçaleres o headers).
Podeu mostrar la TOC en qualsevol lloc posant:
__TOC__
O simplement poseu:
__FORCETOC__
A qualsevol lloc del document per tard de mostrar sempre la TOC, encara que no tingueu suficients apartats.
Podeu forçar que no aparegui la taula de continguts amb:
__NOTOC__
A qualsevol lloc del document.
Recuperar el password de WikisysOp (o qualsevol usuari)
$ php WIKIMEDIA-DIR/maintenance/changePassword.php --user=WikiSysop --password=new-pass
Per exemple, si la nostra instal·lació de mediawiki està a:
/var/lib/acacha_mediawiki
Fem:
$ cd /var/lib/acacha_mediawiki
$ sudo php5 maintenance/changePassword.php --conf /var/lib/acacha_mediawiki/LocalSettings.php --user=ntorrubi --password=1234
Un altre exemple, aquest cas com canviar la paraula de pas del wikisysop:
$ sudo php5 changePassword.php --conf /var/lib/mediawiki/LocalSettings.php --user=WikiSysop --password=1234
Recordeu que cal establir la paraula de pas d'accés a la base de dades establint les variables:
$wgDBadminuser
i
$wgDBadminpassword
Al fitxer LocalSettings.php
Recursos:
Pàgina en blanc
Segurament la millor opció és posar al fitxer LocalSettings.php (a les primeres línies):
error_reporting( E_ALL ); ini_set( 'display_errors', 1 );
Proveu d'augmentar la memòria de PHP al fitxer php.ini:
$ sudo joe /etc/php5/apache2/php.ini ... ini_set( 'memory_limit', '64M' ); ...
També port ser qüestió de permisos del fitxer LocalSettings.php
$ sudo chmod 600 LocalSettings.php $ sudo chown www-data:www-data LocalSettings.php
Sempre és una bona idea consultar el log de Apache a veure si up pot donar alguna informació més.
$ sudo tail -f /var/log/apache2/error.log ... [Sun Apr 10 08:02:14 2011] [error] [client 192.168.111.2] PHP Fatal error: require_once(): Failed opening required '/usr/share/mediawikimaninfo /LocalSettings.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/mediawikimaninfo/includes/WebStart.php on line 116 [Sun Apr 10 08:02:14 2011] [error] [client 192.168.111.2] PHP Warning: require_once(/usr/share/mediawikimaninfo/LocalSettings.php): failed to open stream: Permission denied in /usr/share/mediawikimaninfo/includes/WebStart.php on line 116
Finalment us recomano que tingueu en compte que no sigui un problema de una extensió mal configurada. Per exemple:
Warning: require_once(/var/lib/mediawiki/extensions/RSS/rss.php) [function.require-once]: failed to open stream: No such file or directory in /var/lib/mediawiki_manteniment/LocalSettings.php on line 163 Fatal error: require_once() [function.require]: Failed opening required '/var/lib/mediawiki/extensions/RSS/rss.php' (include_path='/var/lib/mediawiki_manteniment:/var/lib/mediawiki_manteniment/includes:/var/lib/mediawiki_manteniment/languages:.: /usr/share/php:/usr/share/pear') in /var/lib/mediawiki_manteniment/LocalSettings.php on line 163
Els RSS de Mediawiki no es mostren correctament. Una línia buida (blank line) a l'inici
Sembla ser que normalment és per l'existència d'una línia addicional en alguna extensió. Comproveu que no hi hagin línies buides al final dels fitxers.
Com saber la versió que tenim de mediawiki?
Es pot consultar la pàgina especial:
Especial:Versió
I també es pot consultar el principi del fitxer:
$ head /usr/share/mediawiki/CREDITS MediaWiki 1.14 is a collaborative project released under the GNU General Public License v2. We would like to recognize the following names for their contribution to the product. ....
S'ha produït un error en la base de dades. Table x doen'st exists
Consulteu:
Problemes de permisos amb la carpeta images (upload)
$ ls -la /var/lib/mediawiki/images
$ cd /var/lib/mediawiki/images $ sudo chown -R www-data:www-data images $ sudo chmod 700 images
S'ha produït un error en crear la miniatura: convert: unable to open image ...
Al importar imatges o al fer un upgrade de la mediawiki, cal tornar a generar tornar a generar els thumbs de les imatges. Hi ha un script a la carpeta:
/var/lib/mediawiki/maintenance
Anomenat:
rebuildImages.php
Per executar-lo, primer cal tenir suport per a executar scripts PHP des de la línia de comandes:
$ sudo apt-get install php5-cli
Recursos:
http://www.mediawiki.org/wiki/Manual:Rebuildall.php
AntiSpam. Desactivar alta comptes usuari
Afegiu al fitxer /etc/mediawiki/LocalSettings.php la línia:
#Disallow creating accounts $wgGroupPermissions['*']['createaccount'] = false;
#Impedir l'edició d'usuaris anònims $wgGroupPermissions['*']['edit'] = false;
Suport per a SVG
Per tal que funcionen les imatges svg cal instal·lar en el servidor:
$ sudo apt-get install imagemagick
Però sembla que és molt millor la eina rsvg:
$ sudo apt-get install librsvg2-bin
Afegir la extensió svg a
$wgFileExtensions[]
Afegir les següents línies a /etc/mediawiki/LocalSettings.php:
$wgAllowTitlesInSVG = true; $wgSVGConverter = 'rsvg';
Recursos:
Permetre afegir a la wiki imatges externes
Afegiu a LocalSettings.php:
$wgAllowExternalImages = true;
http://tbn1.google.com/images?q=tbn:9E0RT2NgQB7HfM:http://swik.net/swikIcons/img-179-96x96.png
No es visualitzen les imatges amb el namespace Fitxer: o File:
Aquests namespaces només funcionen des de la versió . A pàgines especials Especial:Pàgines_especials podeu consultar la versió que teniu de mediawiki: Especial:Versió.
A mi l'error m'ha passat algun cop per culpa d'instal·lar sense voler el paquet mediawiki dels repositoris d'Ubuntu sobre una instal·lació manual. La instal·lació manual és una versió superior a 1.14 i la dels repositoris no.
Ho he solucionat actualitzant la versió.
Detected bug in an extension! Hook XXXX (p.ex. FCKeditor_MediaWiki::onCustomEditor) failed to return a value; should return true to continue hook processing or false to abort
TODO: Sembla ser que és un problema de tenir una versió de mediawiki que no sigui la última i tenir un PHP força nou (en el meu cas el PHP de la versió 10.10 d'Ubuntu)
Wikis de projectes amb mediawiki
Vegeu també
Recursos
Pàgines antigues sobre mediawiki en aquesta wiki:
- Resolució de problemes. Mediawiki
- Instal·lació mediawiki
- Actualització/Upgrade mediawiki amb Debian/Ubuntu
- Múltiples instal·laciones en una mateixa màquina
- Automatitzar la replicació d'una wiki. Còpia remota
- Mediawiki_timelines
- Mediawiki_templates
- User's Guide.
- Enllaços entre wikis
- http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide
