Plugin di gestione progetti

Questo è un plugin per gestire le dipendenze tra attività su Discourse.
Trasforma fondamentalmente una categoria in un progetto e i topic in questa categoria in attività di quel progetto.
Puoi definire dipendenze tra le attività. In pratica, quali attività devono essere completate prima che altre possano iniziare. Puoi anche definire date di inizio, date di fine e la durata delle attività. Imposterà automaticamente le date di inizio e di fine delle attività dipendenti se le modifichi da qualche parte.
Mostrerà inoltre la data di inizio più precoce e la data di fine più tarda nell’intestazione della categoria.
Verrà anche calcolata la durata totale del progetto. Puoi anche bloccare le attività in modo che il calcolo automatico delle date di inizio e di fine non le influenzi.
Questo video di YouTube spiega come utilizzarlo:

TODO:

  • mostrare messaggi su schermi mobili o stretti
  • aggiungere una vista elenco topic per mostrare le attività in ordine topologico (+ indentare leggermente i dipendenti)
  • utilizzare il message bus per notificare ad altri utenti le modifiche
  • aggiungere la possibilità di revisione per le attività del progetto
  • aggiungere il supporto per i sottoprogetti (un sottoprogetto sarà un’attività in un progetto ma anche una sua categoria)
  • rendere l’interfaccia utente più bella (link invece di pulsanti, ecc.)
  • scrivere test
  • aggiungere una vista calendario @Bank_Live proposto in Projects management plugin - #10 by Bank_Live
  • stato dell’attività: completato / non ancora completato
  • BUG: chiamare setup projects_task al cambio di categoryid invece che all’inizializzazione del compositore

Installazione

Segui la guida Installare un plugin
ufficiale di Discourse Meta, utilizzando git clone https://github.com/spirobel/projects.git
come comando per il plugin.

Poesia

Io dipendo da te.
Tu dipendi da me.
Chi è il dipendente?
E chi è il dipenduto?

codice su GitHub

30 Mi Piace

Buona idea, come posso aggiungere un mio campo personalizzato (come una data per un plugin eventi, ecc.) creando una nuova attività come nuovo argomento?

3 Mi Piace

Non sono sicuro di aver capito bene la tua domanda: cosa vorresti fare esattamente?

Voglio aggiungere un campo personalizzato come titolo e tag, in modo che possa essere facilmente recuperato in formato JSON e manipolato/calcolato in seguito, ad esempio per la ricerca, ecc.

2 Mi Piace

In realtà non è un problema banale. Da un lato, devi gestire molti casi nel frontend. Non ho ancora gestito tutti gli aspetti per questo plugin. Come puoi vedere, la funzionalità di revisione è ancora sulla lista dei compiti da svolgere. Poi c’è anche il problema del salvataggio dei dati e se sia una buona idea utilizzare il plugin store o meno. L’argomento è trattato in questa discussione:

Ho scritto anche questo plugin perché volevo capire se le tabelle vere e proprie possano effettivamente portare un grande beneficio. Tutta questa logica di dipendenze e il controllo degli errori nel backend con un rollback se si tratta solo di un “tentativo a secco” non sarebbero possibili utilizzando solo il plugin store. Penso sia un compromesso. Per alcuni casi d’uso, il plugin store è sufficiente. Ma credo che per gestire cose più complesse non ci sia altra strada che utilizzare tabelle “vere”. Voglio anche scrivere un post sul blog a riguardo dopo aver esplorato ulteriormente l’argomento. Se guardiamo a tutto questo in modo più astratto, ciò che vogliamo fare è questo: vogliamo utilizzare Discourse per modificare collettivamente dati strutturati. Al momento è davvero difficile “aggiungere semplicemente” un campo personalizzato a un post o a un argomento, ma credo che si possa rendere più semplice. Un’altra cosa che vorrei fare è rimuovere completamente l’editor del compositore e utilizzare l’argomento solo per l’inserimento dei dati. Non so cosa ne uscirà, ma ecco alcune idee:

Forse questi due tipi di plugin possono anche essere combinati, come spiego in questa issue di GitHub. Quindi inserisci i dati in argomenti che non hanno il normale editor d, ma un editor specializzato per l’inserimento dei dati, e poi fai riferimento a questi dati in argomenti che hanno ancora l’editor d. Questi altri argomenti potrebbero anche avere alcuni campi aggiuntivi, come in questo plugin di gestione progetti.

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

Prendi tutto questo con le pinze, poiché non ho avuto il tempo di provarlo adeguatamente. Scriverò un resoconto a riguardo quando sarò tornato dalle vacanze :smiley:

5 Mi Piace

Sfortunatamente, il plugin non vuole essere boostato ora.

Rotto

1 Mi Piace

È fantastico! Speriamo di aggiungere un grafico per ogni periodo in futuro.

Puoi gentilmente pubblicare il messaggio di errore in modo che possa aiutarti? :slightly_smiling_face:
Inoltre: questo plugin utilizza le proprie tabelle, quindi è necessario rieseguire le migrazioni dopo l’installazione. Dovrebbe essere qualcosa come rake db:migrate. Consulta la guida all’installazione per ulteriori dettagli.

1 Mi Piace

Ok, puoi disegnare un’immagine di quello che esattamente vorresti? Ci penserò. :smiley:

1 Mi Piace

Ok, intendo lo stesso.

1 Mi Piace

Ok, l’ho aggiunto alla lista TODO, ha senso. Sono in vacanza ora. Ci darò un’occhiata quando torno :smiley:

Questo stile renderà la pagina più utilizzabile.

Grazie per aver creato queste cose. Aspetterò sicuramente di usarle.

1 Mi Piace

C’era effettivamente un problema con la compilazione degli asset.

L’ho risolto e installato sul mio server: https://cidian.social/c/build-house/5
Voglio utilizzare questo plugin per pianificare i miei progetti, quindi continuerò a migliorarlo.

2 Mi Piace

Ancora un problema nel bootstrap:

FAILED
--------------------
Pups::ExecError: chown -R root /var/lib/postgresql/12/main fallito con return #<Process::Status: pid 41 exit 1>
Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec fallito con i parametri {"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 Mi Piace

Ciao, grazie per aver riprovato! Su quale versione sei? L’ultima versione con cui l’ho provato è: 2.5.0.beta4. Sta girando su un server di test qui: https://cidian.social/c/build-house/5

ok, sembra che si tratti di questo problema:
https://meta.discourse.org/t/clean-install-upgrade-fails-because-of-pg12/151212

Ciao, sono un nuovo utente di Discourse su questa piattaforma artistica della community. Sto cercando un plugin di gestione progetti per piccoli progetti all’interno della nostra community Discourse. Questo plugin è ancora in uso?

1 Mi Piace

Questo è stato il primo plugin che ho scritto per imparare a creare plugin per Discourse. Al momento si trova in una fase incompleta. Non ho ancora deciso in quale direzione portare questo plugin, ma sono certo di voler continuare a lavorarci e riutilizzare il codice che ho scritto. Sarei felice se potessi raccontarmi il tuo caso d’uso. Puoi anche scrivermi in privato, se ti risulta più comodo! :smiley:

5 Mi Piace

Grazie per il tuo ottimo lavoro @spirobel!

Qual è lo stato attuale di questo plugin? Mi piacerebbe usarlo per la mia istanza, ma sono preoccupato all’idea di installare un plugin che si trova in uno stato di sviluppo sconosciuto.

Grazie!

3 Mi Piace

Sto attualmente lavorando a una riscrittura del mio plugin editor di base; successivamente potrei tornare su questo. Tuttavia, dovrei ripensare a quale sarebbe il gruppo target per questo plugin. Sarei felice di sapere per cosa vorreste utilizzarlo. Lo stesso vale per chiunque stia leggendo: scrivete semplicemente come vorreste usare Discourse per gestire i vostri progetti. Forse possiamo fare un brainstorming insieme :slight_smile: :+1:

2 Mi Piace