1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# REEVO 2020
Repositorio de código de la plataforma unificada de REEVO, correspondiente al periodo 2019-2020
## Componentes
* Mediawiki 1.31.3
* SemanticMediawiki 3.0.2
## Instalación
### Configurar y activar Nginx y php-fpm
Activar configuracion en Nginx, hay que editar ```/etc/nginx/nginx.conf``` agregando al final: ```include /srv/reevo-2020/etc/nginx/*.conf;```
Activar configuracion en php-fpm, hay que editar ```/etc/php/7.3/fpm/php-fpm.conf``` agregando al final: ```include=/srv/reevo-2020/etc/php-fpm/*.conf;```
Luego creamos los archivos de configuracion en /etc
### Crear base de datos
En la consola de MYSQL:
```
CREATE DATABASE reevo2020_wiki;
CREATE USER 'reevo2020'@'localhost' IDENTIFIED BY 'my-strong-password-here';
GRANT INDEX, SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON reevo2020_wiki.* TO 'reevo2020'@'localhost';
```
Para generar las tablas en la base de datos hacemos (no usamos el ```LocalSettings.php``` resultante):
~~~
php www/wiki/maintenance/install.php --dbname=reevo2020_wiki --dbserver="localhost" --installdbuser=reevo2020 --installdbpass=<password> --dbuser=reevo2020_wiki --dbpass=<password> --server="http://reevo.red" --scriptpath=/ --lang=es --pass=yaco22 "REEVO" "Admin" --confpath /var/dump
~~~
Cargamos los datos para conectar con la base de datos en ```etc/global_config.php```.
Activamos el ```LocalSettings.php``` oficial: ```ln -s www/wiki/LocalSettings.Reevo.php www/wiki/LocalSettings.php```
Corremos el script para generar tablas y cambios de las extensiones: ```php /srv/reevo-2020/www/wiki/maintenance/update.php```
Para correr la actualización de variable de SMW y demas: ```php /srv/reevo-2020/www/wiki/maintenance/runJobs.php```
### Crear usuario para API
Creamos el usuario de API
```
php createAndPromote.php --bureaucrat --sysop reebot <password>
php resetUserEmail.php reebot reebot@reevo.org
php changePassword.php --user=reebot --password=<password>
```
Y luego cargamos las credenciales en global_config.php
## Documentación de herramientas propias
### Cargar páginas, propiedades y formularios
* Script: ```bin/wiki/initReevo.php```
* Descripción: se usa para crear o actualizar las páginas con propiedades, plantillas, formularios que se alojamos en ```bin/wiki/reevoPages```. Luego de crear o actualizar, se protegen para que solo los admins puedan editarlas.
Para crear todas las páginas: ```cd bin/wiki/ && php initReevo.php --int```
Para actualizar todas las páginas cuando ya están creadas: ```cd bin/wiki/ && php initReevo.php --int --force```
Para actualizar solo las que pertenecen a un namespace: ```cd bin/wiki/ && php initReevo.php --int --force NameSpace```
Para actualizar una página en particular: ```cd bin/wiki/ && php initReevo.php --int --force Propiedad:Prensa:url```
### Generador de archivos de prensa
* Script: ```bin/wiki/GeneraSnapshot.php```
* Descripción: se usa para generar una copia en texto e imagen (snapshot) de los Objetos de Prensa (antes "Recursos Externos" o "Enlaces")
### Creador de páginas de usuarios que importa datos de Elgg
* Script: ```bin/wiki/ImportarPerfil.php```
* Extensión de MW: ```ImportarPerfil```
* Descripción: cuando un usuario nuevo en el wiki usa un e-mail que tiene asociado un usuario en Elgg, se crea la página Usuario:NombreDeUsuario tomando los valores del perfil de Elgg. Si lo que coincide es el nombre de usuario nuevo y uno antiguo en Elgg, se pregunta al usuario se quiere hacer la importación (ya que podria ser otra persona queriendo usar el mismo nombre de usuario).
Se usa el elgg-cli para exportar los datos:
```
/srv/reevo-web/www/red/vendor/hypejunction/elgg-cli/elgg-cli user:get --username=Yaco
```
Para que el usuario API funcione, tiene que tener el email validado, para hacerlo por consola:
```
php resetUserEmail.php User user@gmail.com
php changePassword.php --user=User --password=password
```
No anda el script de extraccion de ELGG si esta activado el plugin ```profile_manager_joingroups```
Se puede importar desde la línea de comandos cualquier usuario de ELGG con este comando: ```php bin/wiki/ImportarPerfil.php -f true -u <Usuario>```
### Migrar experiencias desde Ushahidi
Tenemos una aplicacicón web para procesar una a una las experiencias de Ushahidi. Disponible en http://reevo.test/ImportarExperiencia/
### Importar pagina de prensa desde URL
Existe la aplicacion web (http://reevo.test/ImportarDesdeURL/) que permite precargar el formulario de creación del objeto Prensa a partir de los metadatos de una URL.
Para que funcione, hay que instalar metascraper y otras aplicaciones de nodejs:
```
sudo npm install metascraper metascraper-author metascraper-date metascraper-description metascraper-image metascraper-logo metascraper-clearbit metascraper-publisher metascraper-title metascraper-url franc-cli got minimist --global
```
|