noviembre 11, 2021

BitCuco

¡Hola Mundo!

OpenProject – Gestión de Proyectos y Planificador

open project

Hola amigos, el día de hoy estaremos hablando sobre OpenProject, para la gestión de proyectos y la importancia de la planificación. Como muchos deben saber, para que cualquier proyecto que se emprenda llegue a buen puerto debe existir una planificación.

Entendemos como planificación al ordenamiento de todas las ideas, acciones y tareas a realizar por parte de todos los sectores involucrados en el mismo. Y esto a veces no es una tarea fácil, y mucho menos organizada, por lo cual el remedio termina siendo peor que la enfermedad.

Es por esto que hoy vamos a hablar de Openproject, una poderosa herramienta que nos permitirá llevar adelante esta planificación de una manera simple y ordenada. Y no solo eso, sino que todos aquellos participantes de un determinado proyecto, pueden acceder, consultar y modificar, conforme a los avances de un determinado proyecto. Comencemos!

Openproject: ¿De que trata?

Como dije anteriormente, Openproject es una aplicación que nos permite llevar adelante la gestión de proyectos de una organización o de un equipo de trabajo. Dentro de las cosas que podemos hacer con la herramienta podemos mencionar las siguientes:

  • Definición del proyecto: es decir, establecer fechas del proyecto, objetivos intermedios, etc.
  • Definición de tareas: creación de las diversas tareas a realizar sobre un determinado proyecto.
  • Asignación de tareas a un responsable: dentro de las tareas a realizar, puede haber diversos participantes que se encargaran de llevar a cabo alguna tarea o tareas determinadas. El conjunto de tareas hacen las actividades totales de un proyecto.
  • Diagramas de Gantt: podremos visualizar todas las tareas y actividades mediante un diagrama de Gantt para facilitar su lectura.
  • Vistas de lista: de esta forma podremos ver de manera mas detallada cada una de las actividades a realizar.
  • Tiempo y Costos: podremos asignar un tiempo a cada una de las tareas y establecer los costos de la misma, lo que servirá para realizar los análisis que se requieran sobre una determinada operación.
  • Wiki / Foros: podremos crear foros o una wiki de ayuda para todos los miembros que tengan acceso a la aplicación. Esto es muy útil para establecer diferentes pautas y metodologías de trabajo.

Bien, esto es solo una breve reseña, y la idea es que puedan conocer de que forma una aplicación como Openproject puede ayudarlos a cumplir sus metas y objetivos. Como he dicho anteriormente, la organización del trabajo y la correcta distribución de tareas hacen que un proyecto pueda cumplirse, optimizando la rentabilidad y mejorando los tiempos. En esta nota veremos las principales funciones de una manera muy general y les explicaré como instalarlo en un servidor.

Openproject: proceso de instalación

Antes de comenzar con el proceso propiamente dicho de instalación, quiero comentarles un poco acerca del funcionamiento de Openproject. Como se trata es una aplicación servidor, que puede ser instalado en un server local o en la nube. Los diferentes usuarios accederán mediante web, por lo cual, podemos decir que es ideal para trabajar en entornos multiplataforma. Esto da una importante ventaja sobre otras herramientas que permiten hacer lo mismo, como el caso del poderoso Microsoft Project o la alternativa libre Ganttproject. A diferencia de los mencionados anteriormente, Openproject trabaja via web, por lo cual, los cambios pueden ser vistos en tiempo real por todos los participantes. Tanto Microsoft Project como Ganttproject, tienen la forma clásica de trabajar sobre un archivo. El cual, solo podrá ser visualizado por otras personas cuando sea compartido, y no permitirá el trabajo colaborativo, algo muy útil en los tiempos que vivimos.

En una de mis notas anteriores hablé del poderoso ERP Odoo. Esta aplicación web también cuenta con una herramienta para la gestión de proyectos, como un módulo adicional. La posibilidad de poder tenerlo articulado dentro del mismo ERP permite que pueda trabajar en sincronía con el resto de módulos, lo cual da una visión mucho mas globalizada.

Hecha esta pequeña introducción para quienes no están tan al tanto de estas aplicaciones, continuamos con el proceso de instalación.

Requisitos de instalación

Bien, lo primero que necesitaremos para instalar Openproject es un servidor, que puede ser local o en la nube. Esto va dependiendo de los recursos y disponibilidad de cada uno. En cuanto a los aspectos técnicos, al ser una aplicación que corre vía web, todo dependerá de la cantidad de usuarios concurrentes que vayan a conectarse a la instancia. Yo siempre suelo recomendar que para un servidor básico que aloje aplicaciones que vayan a operar a través de la web, cuenten al menos con:


  • Procesador de 64 bits
  • 4 GB de memoria
  • Espacio de almacenamiento acorde: con 20 GB podríamos decir que estamos bien para encarar cualquier proyecto
  • Sistema operativo Linux, preferentemente Debian o Ubuntu

En cuanto a estos requerimientos, es algo genérico que recomiendo para todo proyecto que este iniciando. De realizarse en máquina virtual, se pueden tomar estas mismas especificaciones. Recuerden siempre al crear un disco virtual, que el espacio sea asignado de forma dinámica. Y esto es porque si crean un disco de espacio fijo y luego crece el proyecto, no podrán realizar los ajustes necesarios para ampliar el espacio de la maquina virtual.

Respecto al sistema operativo, recomiendo ampliamente trabajar sobre plataforma Debian o Ubuntu LTS. En principio, por su gran desempeño con esta clase de cargas de trabajo, y ademas, por el soporte a largo plazo. También podrían optar por una distribución del estilo de las derivadas de CentOS, como Almalinux, la flamante VZLinux o Rocky. Si bien puede decirse que es una cuestión de preferencia propia, soy de los de la idea que siempre encontrarán lo que busquen sobre Debian o Ubuntu, de una manera mas simple que en otras distribuciones.

Instalación de Openproject sobre Debian 10 Buster

Para esta nota de ejemplo, les mostraré como configurar nuestro servidor e instalar Openproject utilizando Debian 10 Buster. Si Debian 11 ha salido recientemente, y esta plataforma estará soportada por al menos 5 años, haremos la instalación sobre Buster dado que aun no tenemos paquetes oficiales para Bullseye. No explicaré aquí como instalar Debian, pero pueden consultar la guía de instalación que he escrito en una nota anterior. Dicho esto, contamos que ya tenemos el servidor instalado, y lo siguiente será comenzar a preparar el entorno acorde a lo que estamos necesitando. Vamos a ver dos formas de instalación. La primera, será instalando la aplicación a través de los paquetes deb provisto por el fabricante del proyecto. Y dejaré como segunda opción la instalación mediante un contenedor Docker.

Método 1: Openproject a través de archivo deb

Primeramente, instalaremos Openproject en nuestro servidor Debian. Luego daremos paso a la configuración del firewall. Con la serie de comandos que describiré a continuación, realizaremos la instalación de nuestro servidor de manera simple y completamente automatizada:

Agregar las llaves del repositorio de Openproject 
wget -qO- https://dl.packager.io/srv/opf/openproject/key | sudo apt-key add - 

Agregar el repositorio de Openproject 
wget -O /etc/apt/sources.list.d/openproject.list \ https://dl.packager.io/srv/opf/openproject/stable/11/installer/debian/10.repo 

Actualizar repositorios e instalar: 
apt update && apt install openproject 

Finalizar la instalación de Openproject 
openproject configure
openproject
Asistente Openproject

A lo largo del asistente de Openproject, el mismo se encargará de instalar / configurar nuestra base de datos PostgreSQL, el servidor Apache, y los diferentes aspectos de la configuración. Esto variará dependiendo de cada uno.

Una vez finalizada la instalación, proseguiremos con la securización de nuestro servidor. Para esto, vamos a instalar ufw. Si bien podemos hacerlo con iptables, ufw simplifica muchísimo la administración del firewall. Y es que básicamente ufw es un frontend de iptables que esta hecho específicamente para configurar iptables de una manera mucho mas simple que con los comandos que tiene iptables. Pueden optar por otras opciones, como ya dije anteriormente, pero eso ya corre por cuenta de cada uno. Para hacerlo debemos ejecutar el siguiente comando:

Instalar
apt install ufw

Iniciar y activar el servicio
systemctl start ufw && systemctl enable ufw

Una vez instalado el firewall, lo primero que haremos es habilitar la regla que nos permitirá acceder a nuestro servidor Openproject. Para esto abriremos el puerto 80, que es a través del cual trabajará Openproject.

ufw allow 80/tcp

Y eso sería todo. Podremos acceder a nuestro servidor Openproject mediante nuestra dirección IP en el puerto 80. Podemos loguearnos usando admin tanto en usuario como contraseña.

Método 2: Openproject con Docker

En esta sección explicaremos el proceso de instalación mediante contenedores Docker. Lo primero que deberemos hacer es instalar Docker en nuestro servidor, si es que ya no lo tenemos instalado. Para quienes no lo saben, Docker es un sistema de contenedores que permite correr entornos completamente aislados dentro de un mismo servidor. Esto significa, que podremos tener en unos minutos nuestro servidor preparado, y compartiendo el mismo servidor con otras appliances, como por ejemplo, tener ademas un contenedor docker de Odoo, WordPress o cualquier otra aplicación web. Hecha esta pequeña introducción, les describo los pasos para instalar Docker en Debian 10:

Instalación de paquetes necesarios
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release

Agregar las llaves de Docker
curl -fsSL https://download.docker.com/linux/debian/gpg |  sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Agregar el repositorio de Docker
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instalar Docker
sudo apt install docker-ce docker-ce-cli containerd.io

Instalar Docker Compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose

Cambiar permisos de docker-compose
sudo chmod +x /usr/bin/docker-compose

Clonar repositorio Openproject (para docker compose)
git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/11 openproject

Dirigirnos al directorio openproject/compose recientemente descargado y ejecutar:
docker-compose pull

Por último, iniciaremos nuestro contenedor.
docker-compose up -d

En este caso, por como esta preparado el docker compose, deberemos abrir con ufw el puerto 8080. De esta manera, hemos completado la instalación utilizando Docker. Recuerden que para acceder a esta instancia, deberán poner la ip seguida del puerto 8080. Por ejemplo 192.168.1.100:8080.

Un breve recorrido por Openproject

Cuando accedemos por primera vez al sistema, sera a través del usuario y contraseña admin. Una vez que lo hagamos se nos solicitará crear una nueva contraseña. Una vez realizado, definiremos algunos parámetros básicos como el idioma, y quizás nos muestre algún alerta sobre la configuración, lo cual podremos corregir sin problemas desde los ajustes del sistema. Openproject viene precargado con dos proyectos de ejemplo, donde tienen definidas fases, tareas y objetivos. Esto nos servirá para que podamos ver la lógica de trabajo que utiliza.

openproject
Proyecto de Ejemplo

Una vez que ingresemos a uno de los proyectos de ejemplos, veremos la serie de tareas y objetivos asignados. A su vez, podremos acceder a las diferentes vistas, que en esta caso, son de lista y gantt, como pueden ver en la imagen a continuación.

diagrama de gantt
Diagrama de Gantt

Respecto a la modificación, no solo pueden hacerlo desde cada tarea asignada, sino que pueden realizar las modificaciones directamente desde el diagrama de Gantt, lo cual hace que sea mas sencillo la manipulación de fechas. Por otro lado, en la imagen a continuación podrán ver una vista previa de la página principal de Openproject.

openproject
Pagina Principal

Gracias a este diseño, pueden ademas utilizarlo como portal informativo para poner cosas especificas de la empresa, o bien, enlaces a la wiki o documentación importante que cada participante o miembro debe saber. Para finalizar, quiero mencionar también que además de la versión Community, existe una versión Enterprise, la cual incluye algunas funciones y filtros mas avanzados, como la posibilidad de personalización de la parte gráfica, para adaptarse a los lineamientos de la compañía. Podrán ver los precios a través del siguiente enlace.

Pensamientos Finales

Como pudimos ver a lo largo de esta nota, Openproject es una herramienta que nos facilitará la labor a la hora de gestionar nuestros proyectos. Esto fomenta el trabajo colaborativo entre los diferentes miembros, siempre orquestado por el responsable de proyecto o project manager. A su vez, la utilización de estas herramientas permitirán siempre tener una visión lo mas realista posible de nuestros proyectos, y nos permitirá ajustar en base a las necesidades del mismo. En cuanto a la instalación, no es para nada compleja, y con estas instrucciones lo podrán realizar en unos minutos. Sea a través de paquetes deb o rpm, o utilizando Docker.

Los invito a dejar sus comentarios y experiencias. Espero que esta nota haya sido de su agrado, nos vemos en la próxima.

Sobre el Autor

Bruno Ernesto Russo

Apasionado de la tecnología. Mis principales áreas de interés son los sistemas GNU/Linux y software libre, virtualización, servidores, redes y hardware.