Instal·lació i configuració de la Mediawiki, 2a part

De wikijoan
Salta a la navegació Salta a la cerca

Introducció

Ara que ja tenim instal·lada la Mediawiki, configuraràs diferents aspectes per tal de què sigui funcional. Aprendràs a les regles d'edició bàsiques de la wiki. Accedirem a la base de dades per veure on es guarda la informació. I farem unes còpies de seguretat.

Desenvolupament. Configuració, ús, manteniment

Configuració

Hi ha molts aspectes per configurar. El primer que farem és posar un logo a la nostra wiki. Anem al script LocalSettings.php, i cerquem per logo. Trobem la línia:

$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];

Anem a la carpeta, i trobem el logo, que és un png de tamany 135x135. Per tant, ja podem substituir el logo per defecte per al logo que volguem (la wiki hauria de tenir una temàtica, simular una empresa, etc, per exemple futbol).

Ús de la wiki. Edició

Hi ha molts tutorials per editar la wiki. Només ens cal les marques bàsiques (l'edició està basada en marques). Per exemple:

Crea una pàgina (has d'editar la pàgina principal i afegir una nova entrada). En aquesta pàgina nova hi posaràs text i diferents seccions. Si no t'apareix el TOC (Table of Content) a dalt de toc, pots instroduir en l'edició, a dalt de tot:

__TOC__

En la pàgina que estàs editant has de posar una foto. Però de moment la funció de pujar fitxers no està habilitada. Per fer-ho, ves a LocalSettings.php:

$wgEnableUploads = true;

(s'ha de canviar de false a true). Ara ja pots penjar una foto (veuràs l'opció en els enllaços que hi ha a la columna de l'esquerre). Anota la ruta del fitxer, per exemple:

http://localhost/wiki/index.php/Fitxer:Baixa.jpeg

Per inserir la foto, senzillament faràs:

[[Fitxer:Baixa.jpeg | thumbnail]]

Base de dades. Revisions. Modificació des de SQL

La teva pàgina a hores d'ara ja tindrà diverses revisions (la wiki emmagatzema tot l'historial de la pàgina).

Per accedir a les pàgines que hi ha creades:

my_wiki=# select page_id,page_title,page_latest from mediawiki.page;
 page_id |    page_title    | page_latest 
---------+------------------+-------------
       1 | Pàgina_principal |           3
       3 | Pàgina_1         |           7
       2 | Baixa.jpeg       |           4

(3 rows)

page_latest fa referència a la revisió. Per exemple, la Pàgina_1 té index 3, i el contingut d'aquesta pàgina es correspon amb el contingut de la revisió amb index 7.

Totes les revisions:

select * from mediawiki.revision;

Detalls de la revisió 7:

select * from mediawiki.revision where rev_id=7;

Revisions sobre la pàgina 3. Fixar-se que page_latest=7, que és el comptador de revisions:

select * from mediawiki.revision where rev_page=3;

Contingut de la pàgina 3 (la revisió 7 de la pàgina 3): és la taula pagecontent.

Primer de tot volem saber els camps:

my_wiki=# \d mediawiki.pagecontent

El contingut de la pàgina:

my_wiki=# select old_text from mediawiki.pagecontent where old_id=7;

Ara que ja hem localitzat on és la informació, anem a fer una modificació directament amb SQL:

my_wiki=# update mediawiki.pagecontent set old_text = concat(old_text,'afegim aquesta cadena de text') where old_id=7;

Però no n'hi ha prou. Hem de canviar el camp page_touched per obligar a què es renderitzi la pàgina. Posarem el timestamp del dia i hora actuals. (posa el dia i hora actuals, mira com es fa servir la funció NOW() de SQL o similar):

my_wiki=# update mediawiki.page set page_touched='2021-04-08 17:37:22+02' where page_id=3;

Ara si refresquem la pàgina veurem que els canvis ja estan publicats.

Còpia de seguretat

La imatge que hem penjat està disponible a images/. També tenim disponible la versió de thumbnail.

Quan fem una còpia de seguretat, hem de pensar en la base de dades, i en els altres fitxers.

Per fer la còpia de seguretat, seguim el mateix esquema que féiem amb la còpia de seguretat del Wordpress (però recordem que ara fem servir Postgres i no MySQL).

script copia_seguretat.sh

#!/bin/bash
NOM_BACKUP="Mediawiki"
tdate=`date +%y%m%d`
export PGPASSWORD=postgres

#1. Còpia de seguretat mysql local
pg_dump -h localhost -U postgres -F t -d my_wiki > /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat/mediawiki_"$tdate".tar

#2. Còpia dels fitxers de la web (conté els uploads, entre altres coses)
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/images /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat

#3. Fitxer llegir.txt, LocalSettings.php, etc
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/llegir.txt /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/LocalSettings.php /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat

exit 0

Evidentment, has de posar les teves rutes. Aquest és un senzill exemple de com faríem la còpia de seguretat. L'hauries de posar en el temporitzador per fer còpies setmanals.

Editar la Viquipèdia?

Ara que ja saps editar una mediawiki, ja estàs a mig camí de col·laborar amb la Viquipèdia catalana (que ha acomplert 20 anys) i ser-ne un editor.

Entrega

Entregaràs la pràctica al Classroom. Has de demostrar que has realitzat els exercicis proposats, com a mínim. Però, com sempre, hauries d'anar més enllà i explorar les infinites possibilitats d'edició i de millora.


creat per Joan Quintana Compte, abril 2021