Plugin de gestion de projets

Il s’agit d’un plugin permettant de gérer les dépendances entre tâches dans Discourse.
Il transforme essentiellement une catégorie en projet et les sujets de cette catégorie en tâches de ce projet.
Vous pouvez définir des dépendances entre les tâches, c’est-à-dire quelles tâches doivent être terminées avant que d’autres puissent commencer. Vous pouvez également définir des dates de début, des dates de fin et la durée des tâches. Le plugin définira automatiquement les dates de début et de fin des tâches dépendantes si vous les modifiez ailleurs.
Il affichera également la date de début la plus précoce et la date de fin la plus tardive dans l’en-tête de la catégorie.
La durée totale du projet sera également calculée. Vous pouvez également verrouiller des tâches afin que le calcul automatique des dates de début et de fin ne les affecte pas.
Cette vidéo YouTube explique comment l’utiliser :

À faire :

  • Afficher des messages sur les écrans mobiles ou étroits
  • Ajouter une vue de liste de sujets pour afficher les tâches dans l’ordre topologique (+ indent légèrement les dépendants)
  • Utiliser le bus de messages pour notifier les autres utilisateurs des modifications
  • Ajouter une fonctionnalité de révision pour les tâches du projet
  • Ajouter la prise en charge des sous-projets (un sous-projet sera une tâche dans un projet, mais aussi sa propre catégorie)
  • Rendre l’interface utilisateur plus esthétique (liens au lieu de boutons, etc.)
  • Écrire des tests
  • Ajouter une vue calendrier, proposé par @Bank_Live dans Projects management plugin - #10 by Bank_Live
  • État des tâches : terminé / pas encore terminé
  • BUG : appeler setup projects_task lors du changement d’ID de catégorie plutôt que lors de l’initialisation du compositeur

Installation

Suivez le guide Installer un plugin du Meta officiel de Discourse, en utilisant git clone https://github.com/spirobel/projects.git comme commande pour le plugin.

Poème

Je dépend de toi.
Tu dépend de moi.
Qui est le dépendant ?
Et qui est le dépendu ?

code sur GitHub

30 « J'aime »

Bonne idée, comment puis-je ajouter mon propre champ personnalisé (comme une date pour un plugin d’événement, etc.) en créant une nouvelle tâche sous forme de nouveau sujet ?

3 « J'aime »

Je ne suis pas sûr de bien comprendre votre question. Que voulez-vous exactement faire ?

Je souhaite ajouter mes propres champs, comme le titre et les tags, afin qu’ils puissent être facilement accessibles sous forme JSON et facilement manipulés ou calculés, par exemple pour la recherche, etc.

2 « J'aime »

Ce n’est pas vraiment un problème trivial. D’un côté, vous devez gérer de nombreux cas dans le frontend. Je n’ai pas encore tout traité pour ce plugin. Comme vous pouvez le voir, la fonctionnalité de révision est toujours sur la liste des tâches à faire. Ensuite, il y a aussi la question de la sauvegarde des données et de savoir s’il est judicieux d’utiliser ou non le Plugin Store. Le sujet est abordé dans ce fil de discussion :

J’ai également créé ce plugin parce que je voulais vérifier si les vraies tables peuvent réellement apporter un grand avantage. Toute cette logique de dépendance et la vérification des erreurs dans le backend avec un retour en arrière si c’est juste un tir « à blanc » ne seraient pas possibles en utilisant uniquement le Plugin Store. Je pense que c’est un compromis. Pour certains cas d’utilisation, le Plugin Store suffit. Mais je pense que pour des choses plus complexes, il n’y a pas d’autre choix que d’utiliser de « vraies » tables. Je souhaite également rédiger un article de blog à ce sujet après avoir exploré un peu plus ce domaine. Si nous regardons cela de manière plus abstraite, ce que nous voulons faire, c’est utiliser Discourse pour éditer collectivement des données structurées. Pour le moment, il est vraiment difficile d’« ajouter simplement » un champ personnalisé à un message ou à un sujet, mais je pense que cela peut être rendu plus facile. Une autre chose que je veux faire est de supprimer complètement l’éditeur du compositeur et d’utiliser le sujet uniquement pour la saisie de données. Je ne sais pas ce qui en résultera, mais voici quelques idées : Why not create an OPEN SOURCE platform dedicated to open source drug discovery ? · Issue #581 · OpenSourceMalaria/OSM_To_Do_List · GitHub
Peut-être que ces deux types de plugins peuvent également être combinés comme je l’explique dans ce problème GitHub. Ainsi, vous saisissez des données dans des sujets qui n’ont pas l’éditeur d (d-editor) normal, mais un éditeur de saisie de données spécialisé, puis vous faites référence à ces données dans des sujets qui ont encore l’éditeur d. Ces autres sujets pourraient également avoir des champs supplémentaires, comme dans ce plugin de gestion de projet.

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/composer-editor.hbs

Prenez tout cela avec un grain de sel, car je n’ai pas eu le temps de tester cela correctement. Je rédigerai un article à ce sujet lorsque je serai de retour de vacances :smiley:

5 « J'aime »

Malheureusement, le plugin ne veut pas être boosté maintenant.

Cassé

1 « J'aime »

C’est super ! J’espère ajouter un graphique pour chaque période à l’avenir.

Pourriez-vous s’il vous plaît publier le message d’erreur afin que je puisse vous aider ? :slightly_smiling_face:
De plus : ce plugin utilise ses propres tables, vous devez donc relancer les migrations après l’installation. Cela devrait ressembler à rake db:migrate. Veuillez consulter le guide d’installation pour plus de détails.

1 « J'aime »

d’accord, pourrais-tu peut-être faire un dessin pour montrer exactement ce que tu aimerais avoir ? Je vais y réfléchir. :smiley:

1 « J'aime »

Ok, je veux dire la même chose.

1 « J'aime »

D’accord, je l’ai ajouté à la liste des tâches à faire, cela a du sens. Je suis actuellement en vacances. Je m’en occuperai à mon retour :smiley:

Ce style rendra la page plus utilisable.

Merci d’avoir créé ces éléments. Je déciderai certainement de les utiliser plus tard.

1 « J'aime »

Il y avait effectivement un problème avec la compilation des ressources.

Je l’ai maintenant résolu et je l’ai installé sur mon serveur : https://cidian.social/c/build-house/5
Je souhaite utiliser ce plugin pour planifier mes projets, je continuerai donc à l’améliorer.

2 « J'aime »

Toujours un problème lors de l’initialisation :

ÉCHEC
--------------------
Pups::ExecError : la commande chown -R root /var/lib/postgresql/12/main a échoué avec le code de retour #<Process::Status: pid 41 exit 1>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
Échec de l'exécution avec les paramètres {"cmd" => ["chown -R root /var/lib/postgresql/12/main", "[ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0", "chown -R postgres:postgres /shared/postgres_data", "chown -R postgres:postgres /var/run/postgresql"]}
1 « J'aime »

Bonjour, merci d’essayer à nouveau ! Sur quelle version êtes-vous ? La dernière version avec laquelle je l’ai testée est : 2.5.0.beta4. Elle fonctionne sur un serveur de test ici : https://cidian.social/c/build-house/5

d’accord, il semble que ce soit ce problème :
https://meta.discourse.org/t/clean-install-upgrade-fails-because-of-pg12/151212

Bonjour, je suis un nouvel utilisateur de Discourse sur cette plateforme artistique communautaire. Je cherche un plugin de gestion de projet adapté aux petits projets au sein de notre communauté Discourse. Ce plugin est-il toujours utilisé ?

1 « J'aime »

C’était le premier plugin que j’ai écrit pour apprendre à créer des plugins Discourse. Il est actuellement inachevé. Je n’ai pas encore décidé dans quelle direction je souhaite orienter ce plugin, mais je compte certainement continuer à y travailler et réutiliser le code que j’ai écrit. Je serais ravi si vous pouviez me parler de votre cas d’utilisation. Vous pouvez aussi m’envoyer un message privé si cela vous met plus à l’aise ! :smiley:

5 « J'aime »

Merci pour votre excellent travail @spirobel !

Quel est l’état actuel de ce plugin ? J’aimerais beaucoup l’utiliser pour mon instance, mais je suis prudent à l’idée d’installer un plugin dont le niveau de développement est inconnu.

Merci !

3 « J'aime »

Je travaille actuellement sur une refonte de mon plugin d’éditeur de base, et je pourrais revenir sur celui-ci par la suite. Cependant, je devrais repenser à qui serait le public cible de ce plugin. Je serais ravi d’entendre comment vous aimeriez l’utiliser. Même chose pour toute personne qui lit ceci : écrivez simplement comment vous souhaiteriez utiliser Discourse pour gérer vos projets. Peut-être pourrions-nous brainstormer ensemble :slight_smile: :+1:

2 « J'aime »