# 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= --dbuser=reevo2020_wiki --dbpass= --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 php resetUserEmail.php reebot reebot@reevo.org php changePassword.php --user=reebot --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 ``` ### 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 ```