Discourse come LMS / integrazione di Discourse con un LMS

Certamente, grazie per il tuo interesse.

Attualmente abbiamo una community dove si incontrano giovani in età universitaria che vogliono migliorarsi. Qui organizziamo principalmente moduli su scienza e filosofia, incontri settimanali e incoraggiamo le persone a fare presentazioni. Ho anche provato ad aprire un forum per questa community in modo che le persone possano avere discussioni e chat più confortevoli e a lungo termine. Attualmente è privato per la community, ma prevediamo di aprirlo a tutto internet in futuro.

Attualmente, la maggior parte del flusso di informazioni come letture quotidiane, dettagli delle presentazioni, dettagli degli incontri, ecc. avviene tramite WhatsApp. Il tasso di partecipanti che utilizzano il forum è ancora basso. Vogliamo sia stabilire un’operazione più funzionale sia garantire che le persone accedano maggiormente al forum trasferendo sul forum le cose che facciamo su WhatsApp.

  1. Esiste un modo per inviare notifiche alle persone quando viene utilizzato come Progressive Web App sui telefoni cellulari?
  2. Possiamo creare un sistema in cui possiamo verificare se i partecipanti hanno svolto le loro letture quotidiane e premiarli o ricordarglielo? (Ho chiesto a chatgpt a riguardo, ha detto che potevo farlo creando un nuovo scenario con il plugin di automazione discourse, ma non c’è opzione per creare un nuovo scenario)
  3. Possiamo creare un sistema di certificazione in cui rilasceremo diplomi ai partecipanti in base alla loro frequenza agli incontri settimanali nei moduli?

Queste erano le funzionalità che stavo cercando da qualche giorno. Se hai funzionalità che ritieni sarebbero funzionali in un sistema simile, sono aperto ad esse.

2 Mi Piace

Ho usato un sistema di badge per i compiti. Gli studenti creavano un argomento con un tag per il compito e se lo :heart:avo, ottenevano un badge (con badge sql). Ho scritto uno script che leggeva un file csv dal sistema di gestione dell’apprendimento della scuola e lo aggiornava in modo che potesse essere caricato nuovamente nel sistema di gestione dell’apprendimento della scuola.

6 Mi Piace

Sì, assolutamente per quanto riguarda la PWA.

Puoi spiegare meglio? Hai provato ad aggiungere una nuova automazione tramite la dashboard di amministrazione?

E come dice Jay, i badge sono un buon modo per farlo.

3 Mi Piace

Ho appena controllato di nuovo, devo abilitare le notifiche nelle impostazioni di Discourse. Grazie.

ChatGPT mi ha un po’ tratto in inganno, ora capisco, ma il metodo che mi ha indicato non sembra funzionare.

Grazie per la risposta.

Come ho detto, posso creare un sistema in cui ricompensare gli utenti che lasciano emoji sui loro post di lettura quotidiana usando solo BadgeSQL? Dovrei farlo dando loro dei badge, il sistema di classifica richiede uno sforzo maggiore? E se potessi fornire una guida o un punto di partenza per BadgeSQL, sarei molto felice.

1 Mi Piace

Sì.

Il plugin per la classifica non esisteva quando l’ho fatto e non ho fatto molto (niente?) con esso.

https://meta.discourse.org/tag/sql-triggered-badge

Se la cosa dei badge funziona per te, allora un plugin (o forse qualcosa che chiama l’API?) che automatizzerebbe la creazione del badge con l’SQL associato sarebbe una buona idea.

Se è giornaliero, allora potrebbe esserci un modo per far sì che l’SQL del badge conceda un badge per ieri; o semplicemente avere un singolo badge che può essere assegnato più volte e concedere un badge ogni giorno in cui pubblicano l’emoji.

2 Mi Piace

Come molti di voi in questa discussione, ho cercato un modo leggero per utilizzare Discourse nativamente come LMS. Trovo le piattaforme LMS dedicate troppo pesanti, ma il “degrado delle notifiche” predefinito di Discourse (dove gli argomenti più vecchi smettono di apparire come “non letti” per i nuovi utenti) rende difficile tracciare i progressi del corso.

Per soddisfare la mia esigenza, ho creato una soluzione semplice combinando impostazioni delle categorie, un piccolo plugin backend e un componente del tema.

Ecco come l’ho configurato e il codice open-source che puoi utilizzare per replicarlo!

Il concetto di base: Discourse come LMS

Per far funzionare tutto, utilizzo le funzionalità standard di Discourse combinate con il plugin ufficiale Discourse Doc Categories:

  • Corso = Categoria: Ogni corso ha la propria categoria.
  • Lezione = Argomento: Ogni lezione è un argomento all’interno di quella categoria.
  • Permessi: Gli utenti possono rispondere alle lezioni (per fare domande), ma solo lo staff può creare nuovi argomenti.
  • Ordinamento: L’ordine delle lezioni è fissato dalla data di creazione. (Suggerimento: Questo richiede un po’ di lungimiranza quando si pubblicano le lezioni, oppure puoi utilizzare la console Rails per retrodatare rapidamente i tempi di creazione degli argomenti e forzare l’ordinamento corretto).
  • Programma: Utilizzo il plugin Discourse Doc Categories per designare un “Argomento Indice”. Questo argomento indice funge da programma/monitoraggio del corso e visualizza un bellissimo schema nella barra laterale quando gli utenti entrano nel corso.

Il pezzo mancante: Tracciamento reale dei progressi

Il problema con la configurazione sopra è che quando un nuovo studente si iscrive, gli argomenti delle lezioni più vecchie non appaiono come “non letti”, quindi non hanno modo di tracciare visivamente i propri progressi.

Per risolvere il problema, ho creato un plugin backend che interroga direttamente la tabella del database TopicUser per lo stato di lettura storico reale e un componente del tema frontend che trasforma la barra laterale standard di Discourse in un tracciatore dei progressi LMS in tempo reale.

1. Badge di progresso nella barra laterale principale

Il componente del tema sostituisce i normali punti blu delle notifiche con indicatori di progresso [ letti / totali ] per le tue categorie di corso.

2. Spunte di completamento della lezione

Quando un utente entra in un corso, il plugin Docs visualizza il programma. Il mio componente del tema inserisce le spunte di successo (fa-check) accanto alle lezioni specifiche che l’utente ha terminato di leggere.

3. Completamento del corso

Una volta che un utente ha letto tutti gli argomenti nella categoria, il badge di progresso nella barra laterale si trasforma automaticamente in una soddisfacente spunta di completamento!

Come installarlo

Poiché ciò richiede di aggirare la cache standard delle notifiche di Discourse, devi installare sia il plugin backend che il componente del tema frontend.

Passaggio 1: Installa il prerequisito
Assicurati di avere il plugin ufficiale Discourse Doc Categories installato e attivo. Il mio plugin si rivolge specificamente solo alle categorie che hanno un Argomento Indice configurato.

Passaggio 2: Installa il plugin API backend
Aggiungi questo al tuo file app.yml sotto docker_manager e ricostruisci il tuo contenitore. Questo fornisce un endpoint API rapidissimo per gli stati di lettura.
:hammer_and_wrench: Link al repository: https://github.com/zsviczian/discourse-course-progress**

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/zsviczian/discourse-course-progress.git

Passaggio 3: Installa il componente del tema UI
Installa questo direttamente dal tuo browser web in Amministrazione > Personalizza > Temi > Installa > Da un repository Git.
:hammer_and_wrench: Link al repository: https://github.com/zsviczian/discourse-course-progress-theme

Spero che questo aiuti gli altri che stanno cercando di creare corsi guidati dalla comunità senza il peso di una piattaforma LMS separata! Fammi sapere se alla fine lo userai.

3 Mi Piace

C’era un motivo per cui non hai incluso il codice del componente tema del frontend nel plugin, preferendo averne due separati?

Comunque, ho dato una rapida occhiata al tuo codice e realizzare questo è stato molto più semplice di quanto pensassi. Mi piace!

2 Mi Piace

Pensavo che le persone potessero voler avere un aspetto e una sensazione diversi per il monitoraggio dei corsi e non volevo imporre i miei gusti agli altri.

Il componente tema include colori, badge e dettagli specifici che soddisfano le mie esigenze, ma non necessariamente quelle degli altri.

Il plugin implementa una piccola funzionalità mancante nella documentazione di Discourse. Puoi costruire il tuo componente tema attorno ad esso e usare il mio solo come esempio o ispirazione.

Da quando uso questa soluzione - solo da 1 giorno :slight_smile: - sto già pensando di poter aggiungere alcuni grafici dell’Esploratore di dati per visualizzare i progressi generali degli studenti con i corsi, per poi aggiungere personalizzazioni sopra. Potrei aggiungerli al plugin una volta che lo avrò utilizzato nella vita reale per un po’ di tempo.

1 Mi Piace

Puoi modificare il timestamp dell’argomento nell’interfaccia utente se sei un amministratore.
Si trova nel menu Azioni argomento.
Purtroppo funziona solo per un argomento, non può essere fatto per un singolo post.

1 Mi Piace