Skip to content

Latest commit

 

History

History
241 lines (158 loc) · 10.7 KB

README.es.md

File metadata and controls

241 lines (158 loc) · 10.7 KB

Buhos Logo

CircleCI Mantenibilidad Cobertura de pruebas

Plataforma basada en web para gestionar el proceso completo de revisiones sistemáticas de literatura. Desarrollado usando Sinatra, un DSL basado en Ruby.

Características

  • Multi-platforma: Corre en Linux(probado en Ubuntu 14.04, 16.06, 18.04, 21.10), Windows (probado en Windows 7 y 10) y MacOS (probado en High Sierra)
  • Puede ser usado para realizar revisiones sistemáticas por un individuo o por un grupo de trabajo.
  • Sistema de mensajería interna, para mensajes personales o relacionados a las revisiones sistemáticas.
  • Multilenguaje, usando I18n. Disponible en inglés y español.
  • Flujo de trabajo flexible. Las etapas principales de buscar textos, tamizar los artículos pertinentes, extraer información y realizar reportes están claramente definidas. Sin embargo, es posible realizar cambios en cualquier etapa ya concluida, afectando las etapas posteriores.
  • Importa información desde distintas bases de datos bibliográficas, como - WoS, Scopus, Ebscohost, Scielo - usando BibTeX.
  • Integración con Crossref, lo que permite eliminar artículos duplicados (usando DOI), así como buscar información sobre referencias.
  • Repositorio de archivos. Se pueden ver en línea archivos PDF y ODF, usando ViewerJS
  • Múltiples formas de analizar datos: se pueden incorporar comentarios y etiquetas en cada etapa, así como generar formularios personalizados para extraer información.
  • Distintos tipos de reporte: se cuenta con reportes para los datos extraídos de los textos, un reporte detallado del proceso de decisión en cada etapa de la revisión, así como un diaframa de flujo PRISMA para resumir el proceso, listo para publicaciones.
  • Distintos tipos de archivos para exportar: Se pueden exportar las referencias como BibTeX, así como generar archivos GraphML para realizar análisis de grafos.
  • Test unitarios y de integración para los principales recursos del software

Usando como referencia a Kitchenham & Chartes (2007), Buhos apoya de forma completa la fase de 'realizar la revisión', y de forma parcial las otras etapas

Planning the review

Etapa Soporte
Identíficación de la necesidad de una revisión No
Comisionar la revisión No
Especificar la(s) pregunta(s) de investigación
Desarrollar un protocolo de revisión
Evaluar el protocolo de revisión

Realizar la revisión

Etapa Soporte
Identificación de investigaciones
Selección de estudios primarios
Evaluación de calidad de los estudios
Extracción de información y monitoreo
Síntesis de información

Reportar la revisión

Etapa Soporte
Especificar mecanismos de difusión No
Formatear el formato final Parcial
Evaluar el reporte No

Documentación

Se cuenta con un manual disponible en español e inglés, que contiene una guía rápida para entender la metodología de revisión sistemática que sustena el software.

La API está documentada usando Yard y está disponible en https://www.buhos.org/api. Sólo se encuentra disponible en inglés.

Comenzar a trabajar

En Windows

Se puede obtener el instalador de Windows desde Buhos Windows Toolkit

En *nix

Para Debian, Ubuntu y CentOS, se encuentran disponibles paquetes e instrucciones de instalación en packager.io. Como ejemplo, para instalar en Ubuntu se pueden seguir las siguientes instrucciones, usando localhost:4567 como URL

wget -qO- https://dl.packager.io/srv/clbustos/buhos/key | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/buhos.list \
  https://dl.packager.io/srv/clbustos/buhos/master/installer/ubuntu/16.04.repo
sudo apt-get update
sudo apt-get install buhos
sudo buhos config:set PORT=4567
sudo buhos scale web=1
sudo buhos restart 

Usar vagrant

En los directorios vendor/vagrant_alpine y vendor/vagrant_ubuntu_16 pueden configuraciones de vagrant para Alpine y Ubuntu 16.04, respectivamente. Se pueden ejecutar usando

> vagrant up

De forma predeterminada, la aplicación corre en el puerto 4567.

Usando código fuente (última versión)

Requisitos previos

En linux, se necesita una instalación de Ruby 2.4 o 2.5 con bundler, y bibliotecas de desarrollo para mysql y sqlite. Recomendamos usar RVM.

En Ubuntu, este script instala todas las dependencias

# Update system
apt-get update
apt-get upgrade -y

apt-get install -y \
  cloc \
  gdal-bin \
  gdebi-core \
  git \
  libcurl4-openssl-dev \
  libgdal-dev \
  libproj-dev \
  libxml2-dev \
  ghostscript \
  imagemagick \
  xpdf \
  build-essential \
  libmysqlclient-dev \
  libsqlite3-dev

# Install RVM

gpg --keyserver hkp://keys.gnupg.net \
      --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s $1

En alpine, la configuración básica es

apk update
apk upgrade
apk --update add --virtual \
    build-dependencies \
    ruby-dev \
    build-base \
    ruby \
    libffi-dev \
    libxml2-dev \
    libxslt-dev \
    mariadb-dev \
    sqlite-dev \
    ruby-json \
    ruby-bigdecimal \
    ruby-etc    

Una vez que todas las dependencias han sido instaladas, se puede copiar el código fuente haciendo

git clone [email protected]:clbustos/buhos.git

Se instalan las dependencia de Ruby necesarias usando bundler

bundle install

Y se ejecuta la aplicación corriendo

ruby app.rb

or

rackup

Configuración post-instalación

La aplicación se configura mediante la web. Una vez que el servidor se inicia, se debe apuntar el navegador de forma predeterminada a http://localhost:4567, para iniciar el proceso de instalación.

Si desea utilizar una base de datos MySQL, se debe crear antes de configurar el software. Usando el usuario root de MySQL, las instrucciones serían

CREATE DATABASE buhos;
CREATE USER buhos_user@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON buhos.* TO buhos_user@localhost;
FLUSH PRIVILEGES;

Primero, debe definir el lenguaje de instalación. Segundo, debe proveer información acerca de la base de datos específica (sqlite / mysql); de forma predeterminada, se instala una base sqlite en db.sqlite. Si se cuenta con una clave SCOPUS API, se puede entregar la información pertinente, junto con la configuración del proxy, si corresponde. Como paso final, se llena la base de datos. Se debe reiniciar la aplicación antes de usarla.

Implementación

Para su uso individual, la aplicación puede ejecutarse sin problemas usando el instalador en Windows, o los paquetes para Ubuntu, Debian o CentOS.

Para su uso en línea por múltiples usuarios, se ha probado el uso de Buhos desplegado en un servidor HTTP independiente, usando Passenger como conector con Nginx. Para la base de datos, se ha usado MySQL. En teoría, el software debería funcionar sin problemas en MariaDB y Apache.

Una configuración típica para nginx debería lucir como:

server {
  listen 80
  root /home/<user>/<base_dir>; 
  passenger_enabled on; 
  passenger_ruby <ruby_location> 
}

El ubicación del ejecturable ruby se puede obtener desde

> which ruby

Si se ocupa RVM con Passenger, revise esta página

Construido con

  • Sinatra - Sinatra es un DSL para crear aplicaciones web en Ruby con mínimo esfuerzo

  • Sequel - Sequel es un set de herramientas para bases de datos.Provee una capa de abstracción y funcionalidades ORM, entre otras cosas.

  • Bootstrap - Bootstrap es un set de herramientas de código abierto para desarrollar HTML, CSS, y JS.

  • jQuery - jQuery is una librería muy usada para JavaScript.

  • ViewerJS - ViewerJS permite visualizar en línea archivos PDF y ODT.

  • RubyMine - Un muy buen IDE para Ruby

Cómo contribuir

Si quiere contribuir, envíe un email a clbustos_at_gmail.com. Si quiere enviar un parche, lo ideal es crear una versión (fork) del repositorio en github y realizar una petición pull.

Como se identificar las versiones

Usamos SemVer para for identificar las versiones. Para ver las versiones disponibles del software, revise los tags en este repositorio.

Autoría

Desarrolladores

  • Claudio Bustos - Desarrollador principal - clbustos

Contribuciones

  • Daniel Lermanda - Diseñador de página web y asesoría en experiencia de usuario
  • María Gabriela Morales - Primera conceptualización y revisión del manual
  • Liz Medina - traducción al inglés de página de inicio y manual.
  • Alejandro Díaz, Pedro Salcedo: Desarrollo de requerimientos de usuarios.
  • Anna Hawrot: Traducción al Polki (polaco)

Citación

Si usted utiliza este software en su investigación, por favor cite el siguiente paper:

Bustos, C., Morales, M.G., Salcedo, P., & Díaz, Alejandro (2018). Buhos: A web-based systematic literature review management software. SoftwareX, 7, 360-372. https://doi.org/10.1016/j.softx.2018.10.004

Licencia

Este proyecto está licenciado para la Licencia BSD de 3 cláusulas - vea el archivo LICENSE para mayores detalles.