Probando Vikunja como taboleiro Kanban

Introducción

Levo xa meses utilizando a gabeta de Nextcloud como taboleiro kanban, para cousas simples está ben. Por exemplo, se só preciso levar nota de que cousas teño pendentes, nas que estou a traballar, pendentes de revisar, etc.
Pero cando preciso algo máis fino, por exemplo ao desenvolver aplicacións, queda curto. Se quero reflexar que unha tarefa depende doutra, ou que forma parte dunha épica máis grande, non podo facelo. Podes reflexalo utilizando as etiquetas e cousas similares, mais non como algo propio da ferramenta.

Estiven vendo que alternativas podía probar. Cousas como Focalboard, Kanboard, TaskBoard, WeKan,Taiga e finalmente Vikunja, que é a que vou probar de primeira.

Segundo vin durante a investigación parece que é a opción que inclúe os mínimos que preciso, pero que ademais mantén a lixeireza. Que consuma poucos recursos é importante, xa que todo o que monto correrá nunha Raspberry Pi 5 de 8Gb. De momento teño de sobra, pero coma me despiste enseguida quedarei curto de recursos.

Agora mesmo ca aplicación aberta, para facer as capturas de pantalla para este artigo, docker stats amosa un consumo de CPU que ronda o dous por cento.

Instalación

Como ven sendo habitual, utilicei Docker para a instalación. Así podo incluíla co resto de servizos e servir o taboleiro a través de Traefik.

Este é o docker-compose.yaml

services:
  vikunja:
    image: vikunja/vikunja:2.6.0
    init: true
    user: ${UID}:${GID}
    environment:
      VIKUNJA_SERVICE_SECRET: ${VIKUNJA_SERVICE_SECRET}
      VIKUNJA_DATABASE_PATH: /db/vikunja.db
      VIKUNJA_CORS_ENABLE: ${VIKUNJA_CORS_ENABLE:-true}
    ports:
      - ${VIKUNJA_PORT:-3456}:3456
    volumes:
      - ${VIKUNJA_FILES:-./files}:/app/vikunja/files
      - ${VIKUNJA_DB:-./db}:/db
    restart: on-failure
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.vikunja.entrypoints=https"
      - "traefik.http.routers.vikunja.rule=Host(`${VIKUNJA_SERVICE_PUBLICURL:-localhost}`)"
      - "traefik.http.routers.vikunja.tls.certresolver=step"
    networks:
      - proxy
networks:
  proxy:
    name: proxy
    external: true

Como é moi básico vou evitar explicalo, para non repetirme co resto de artigos sobre servizos. En caso de ter algunha dúbida, en calquera deles están explicados os básicos. Se non, na documentación, podemos ver as variables.

Mencionar iso sí, mudar VIKUNJA_SERVICE_SECRET por unha cadea aleatoria longa antes de polo en producción. E programar copias de seguridad periódicas dos diretorios VIKUNJA_FILES e VIKUNJA_DB.

Uso

A primeira vez que accedamos a Vikunja veremos a pantalla de login.

Na imaxe podemos ver a pantalla de login. Nela pide introducir o nome de usuario ou email e o contrasinal. Ou crear unha conta se non temos

Overview

Unha vez accedemos, a primeira pantalla que vemos é a vista xeral, o Overview. Que nos presenta nun listado as tareas que temos, ca data de caducidade é no caso de ter listas de tarefas, con checks, cantos están cumpridos.

Upcoming

Tamén temos un menú Upcoming, que nos permite filtrar por datas, amosar as tarefas sen datas ou aquelas xa vencidas.

A imaxe presenta un exemplo do menú Upcoming. Con dúas tarefas das que vemos o proxecto ao que pertencen, a prioridade, o título, canto fai que caducaron e cantos puntos teñen completados

Projects

Neste menú de proxectos é onde podemos crear os nosos taboleiros. Poñamos que queremos un proxecto para crear un carriño da merca. Pois crearíamos o proxecto co título Carriño, poderíamos indicar outro proxecto do que este colgaría, por exemplo Tenda. E un color, para facilitar a visibilidade nas listas como a de overview, upcoming, etc.

Como se pode ver, aquí os proxectos veñen un pouco a facer o papel das épicas. Non será isto como Jira, no que permite marcar unha tarefa directamente como épica, independentemente do taboleiro no que estea.

Xa dentro do taboleiro, temos catro tipos de vista.

  • Lista: veremos as tarefas nun listado.
  • Gantt: que nos presenta as tarefas nun diagrama de Gantt, segundo as datas que se lle indicaron de límite. Na imaxe podemos ver o diagrama de Gantt con varias tarefas en forma de barra que chegan ata o día marcado como data de entrega
  • Táboa: qué é similar á lista, pero que nos da máis información. Código da tarefa, se está feita, título, etiquetas, quen a ten asignada e data de entrega.
  • Kanban: esta é a vista por columnas das tarefas. Nun só vistazo podemos ver o estado de cada tarefa según a columna que ocupe. No meu caso teño as columnas de Backlog, To-Do, Doing, Review, QA e Done.

Tarefas

En calquera destas vistas podemos crear unha tarefa. De entrada só nos pedirá o título, pero unha vez creada ao editala teremos máis opcións.

Ao editar unha tarefa, podemos entre outras opcións marcala como feita, engadir etiquetas, establecer unha prioridade, un progreso, asignar usuarios, adxuntar arquivos, ou establecer relacións con outras tarefas

Unha das máis interesantes para min é a de establecer relacións cas tarefas. Que nos permite buscar unha tarefa para relacionala, con só escribir o código ou o título. Ou mesmo crear unha tarefa relacionada ao vó, igual ca antes só co título, despois xa a editaremos para dar os detalles.

Os tipos de relacións que temos para asignar son: subtarefa, tarefa pai, tarefa relacionada, duplicada, bloqueando, bloqueada por, precede, segue a, copiada dende, copiada a.

Unha das cousas que todavía non vin como facer, polo que busquei ten pinta de que non se pode, é que ao crear a tarefa se lle engada un corpo por defecto, unha prantilla. De xeito que ao editar a tarefa, só precise cubrir a prantilla. De momento parece que o teño que facer a man cada vez.

Labels

Despois do menú de proxectos, temos o de etiquetas. Que nos permite crear etiqueta cun título e unha cor. Un exemplo de etiqueta podería ser, bloqueada, cando queiramos sinalar que unha tarefa non pode continuar por algún motivo. Imporante engadir o motivo nos comentarios, para que se colaboramos con alguén poida saber a causa.

Teams

Neste menú podemos crear equipos de usuarios. De xeito que poidamos asignar o equipo a algún proxecto directamente, sen ter que ir por usuarios. Se por exemplo unha empresa tivese varios departamentos poderíamos ter equipos de comercial, IT, desenvolvemento, etc.

Conclusión

Levo algúns días a utilizalo e se ben boto algunhas cousas en falla, seguirei a utilizala un tempo antes de probar outra. Un dos motivos para escoller Vikunja foi que ten a opción de conectar un axente cun MCP, de xeito que o axente poida ler, ou crear tarefas, entre outras cousas.
De momento non o utilicei, xa que estes días o proxecto que estou comezando estouno a facer a man, por practicar.
Pero está ben ter esa opción, xa que tamén quero facer un proxecto cen por cento con IA local, para ver ata que punto é viable.

Outra cousa que me queda por probar son os Webhooks, que permiten que certos eventos chamen a unha URL. Así por exemplo, podería chamar a unha URL que enviase unha mensaxe cada vez que se completase unha tarefa, ou cada vez que mudase de estado.

Isto en certos equipos é moi útil. Un usuario podería crear unha tarefa notificando un erro e que nun canal da ferramenta do equipo, chegue a mensaxe para que alguén se faga cargo.

Como digo, quedan cousas por probar e cousas que ver como adapto ao meu fluxo, pero de momento está a resultar unha ferramenta útil.

Fontes