summaryrefslogtreecommitdiff
path: root/README.md
blob: 3f463c98c94943f24ee24dbd0a9c161bed32e74c (plain)
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
```