Plataforma basada en web para gestionar el proceso completo de revisiones sistemáticas de literatura. Desarrollado usando Sinatra, un DSL basado en Ruby.
- 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
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 | Sí |
Desarrollar un protocolo de revisión | Sí |
Evaluar el protocolo de revisión | Sí |
Etapa | Soporte |
---|---|
Identificación de investigaciones | Sí |
Selección de estudios primarios | Sí |
Evaluación de calidad de los estudios | Sí |
Extracción de información y monitoreo | Sí |
Síntesis de información | Sí |
Etapa | Soporte |
---|---|
Especificar mecanismos de difusión | No |
Formatear el formato final | Parcial |
Evaluar el reporte | No |
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.
Se puede obtener el instalador de Windows desde Buhos Windows Toolkit
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
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.
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 git@github.com: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
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.
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
-
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
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.
Usamos SemVer para for identificar las versiones. Para ver las versiones disponibles del software, revise los tags en este repositorio.
- Claudio Bustos - Desarrollador principal - clbustos
- 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)
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
Este proyecto está licenciado para la Licencia BSD de 3 cláusulas - vea el archivo LICENSE para mayores detalles.