Conferenza video BigBlueButton

Questo plugin integra un’istanza di Discourse con BigBlueButton, uno strumento di videoconferenza open source progettato per l’apprendimento online. Per utilizzarlo, è necessario disporre di un server con un’istanza di BBB in esecuzione; per ulteriori dettagli, consultare http://docs.bigbluebutton.org. Rispetto a Zoom, Jitsi e Whereby, BigBlueButton offre un migliore supporto per i browser: nei miei test ha funzionato immediatamente su tutti i browser moderni, inclusi Safari su iOS e Chrome su Android.

Screenshot


Per aggiungere una videoconferenza a un argomento o a un post, utilizza il pulsante “Aggiungi BigBlueButton” dal menu a discesa delle opzioni durante la composizione:

Funzionalità

  • Supporta più stanze
  • Gli utenti dello staff e gli utenti di un gruppo configurabile vengono riconosciuti come moderatori nelle riunioni BBB
  • Gli amministratori possono scegliere di incorporare la riunione in Discourse (tramite iframe) o di reindirizzare a una pagina completa (con opzioni separate per dispositivi mobili e desktop)
  • Mostra gli avatar degli utenti già presenti nella videoconferenza accanto al pulsante per partecipare

Note

Desidero ringraziare @Stephen per avermi segnalato BigBlueButton e per aver testato e fornito feedback sulle versioni iniziali del plugin.

41 Mi Piace

Un lavoro davvero incredibile qui. Così tanti istituti educativi stanno utilizzando BBB, e il tempismo per questa integrazione è perfetto.

15 Mi Piace

Molto tempestivo. Abbiamo utilizzato il nostro forum openmod come vetrina per i nostri recentemente istituiti webinar interattivi, pubblicizzando gli URL dei webinar solo in discussioni private. Non è completamente a prova di errore, ma ci impegniamo a mantenere la nostra comunità del forum pulita. Pertanto, sono molto interessato a questi sviluppi. @pmusaraj: grazie!

4 Mi Piace

Tutti e tre i gruppi di volontari che sto attualmente assistendo in questo momento difficile sono passati all’utilizzo di BigBlueButton.

Una parte fondamentale di questo passaggio è stato questo plugin. La transizione dal topic di Discourse alla conferenza è totalmente senza soluzione di continuità e non stiamo riscontrando i problemi abituali.

Mi semplifica la vita di 1000 volte non dover fare assistenza tecnica.

Grazie ancora @pmusaraj!

9 Mi Piace

Grazie mille per il lavoro svolto su questo. L’ho testato e funziona benissimo.

Tuttavia, vorrei condividere alcuni suggerimenti per renderlo più semplice da usare. Immagino il caso d’uso in cui un membro dello staff del forum non abbia molta familiarità con gli aspetti tecnici di BigBlueButton e la sua unica esperienza precedente sia l’utilizzo dell’interfaccia di BigBlueButton per creare stanze (Greenlight).

Detto questo, ecco i miei suggerimenti:

  1. Spiegare nel post originale come creare i pulsanti “Avvia conferenza”
    Dopo l’installazione, mi è voluto un bel po’ di tempo per capire che per aggiungere un pulsante BigBlueButton dovevo farlo tramite le “opzioni” (icona ingranaggio) nell’editor di testo. Forse menzionarlo nelle istruzioni potrebbe evitare qualche confusione.

  2. Rendere più semplice la creazione delle password

    • Pulsanti per generare password casuali: Sappiamo tutti che le persone sono pigre e probabilmente sceglieranno una password debole. Quindi si potrebbe offrire all’utente un’opzione ancora più semplice che, in realtà, rende le password più sicure.
    • Etichettare le password come “(opzionale)” (soluzione alternativa): quando non viene impostata, genera una password casuale. Tuttavia, l’utente dovrebbe comunque essere informato da una nota che verrà creata una password casuale.
  3. Valutare di nascondere le opzioni relative alle password sotto “avanzate”
    Immagino che queste opzioni possano anche essere nascoste, poiché la maggior parte delle persone probabilmente vorrà solo creare una stanza direttamente da Discourse e non collegarla a una stanza creata con un’altra applicazione.

  4. Evitare il gergo tecnico

  • So che Discourse menziona sempre l’iframe, ma un utente medio non sa cosa sia. Se l’etichetta fosse cambiata in “Mostra all’interno del post”, sarebbe più chiaro.
  • Meeting ID è il gergo di BigBlueButton. Per la maggior parte degli utenti, credo che “nome della riunione” sarebbe meglio. E forse aggiungere sotto un’istruzione in grigio che spiega che si tratta dell’“ID riunione”.

L’immagine sottostante illustra alcune delle “funzionalità” spiegate di seguito. (È solo un mockup senza funzionalità)

Ma ripeto, è già un plugin molto utile, specialmente per le persone che lavorano nel settore dell’istruzione. Quindi, ancora grazie!

6 Mi Piace

Ho appena inviato un’email a BigBlueButton per verificare se questa integrazione possa essere elencata sul loro sito web BigBlueButton LMS Integrations | Designed for Schools | BigBlueButton.

Se avrò aggiornamenti, li pubblicherò qui.

2 Mi Piace

Grazie per il feedback @core (e per la visibilità), ho implementato alcuni degli spunti interessanti proposti nel tuo post.

La generazione delle password è ora randomizzata e nascosta all’utente. (Gli utenti avanzati possono modificare il markdown e cambiare le password se lo desiderano.) Ho anche aggiornato il primo post con uno screenshot e una descrizione su come accedere al pulsante nel menu delle opzioni.

Non apporterò questa modifica. So che iframe è un termine tecnico, ma in questo caso non credo che cambiarlo aiuti; penso che usare “all’interno del post” creerebbe più confusione. Tuttavia… puoi personalizzare questa etichetta nella tua istanza, andando su Personalizza > Testo, filtrando per “bbb.modal”. Come in questo screenshot:

5 Mi Piace

La tua soluzione mi sembra perfetta. Il minimalismo fa davvero la differenza. E grazie per il tempo dedicato :slight_smile:

È un ottimo compromesso. Grazie!

1 Mi Piace

@pmusaraj Ancora nessuna risposta per l’aggiunta del plugin Discourse sul sito di BBB. Proverò la mia fortuna nella loro mailinglist nei prossimi giorni.

1 Mi Piace

@pmusaraj La mia richiesta di entrare nella mailing list è stata rifiutata (non so perché). Quindi ho poche opzioni per contattarli riguardo all’integrazione. Avevo pensato anche di aprire una issue su GitHub, ma potrebbe essere piuttosto fastidioso dato che non riguarda il codice di BBB.


modifica: apparentemente questo avrebbe dovuto essere pubblicato nella lista bigbluebutton-users. Ecco perché sono stato rifiutato.

1 Mi Piace

Hai seguito le istruzioni nel testo della descrizione? Ho annotato la tua integrazione e la sto aggiungendo a un elenco di altre simili che ho visto. Il mio piano è creare una pagina della comunità nella documentazione dove possiamo condividere le cose che abbiamo realizzato.

2 Mi Piace

Me le sono perse. Scusa. Ma è fantastico vedere che è arrivato ai contributori lo stesso! Grazie per il controllo!

Ottimo plugin, grazie!
Come posso aprire una riunione esistente (pianificata con un altro strumento)? Come posso trovare l’ID della riunione? Qualsiasi cosa inserisca in questo campo, viene sempre avviata una nuova riunione.

Questo sembra più una domanda per BBB, ma in teoria, se utilizzi lo stesso ID stanza dell’altro strumento, dovrebbe caricare la stessa riunione.

1 Mi Piace

L’ho fatto una volta, ma era un po’ complicato. Devi usare l’API di BBB.

Proverò a creare una guida su questo tra qualche giorno.

Il problema principale è probabilmente che lo strumento più comunemente utilizzato (Greenlight) non mostra davvero quelle informazioni a basso livello.

3 Mi Piace

Grazie, sarebbe fantastico!

1 Mi Piace

“Aggiungi BigBlueButton” a una conferenza già esistente

Questo plugin crea automaticamente una stanza per te quando clicchi su “Aggiungi BigBlueButton”. Tuttavia, potresti voler utilizzare una stanza già esistente (creata prima di installare questo plugin). Ecco due esempi che illustrano perché potresti volerlo fare.

  • Hai già creato una stanza (ad esempio con Greenlight) e desideri permettere agli utenti di partecipare anche da Discourse

  • Consentire anche l’accesso tramite link - Utilizzando Greenlight (l’interfaccia predefinita), viene generato un link condivisibile per partecipare alla chiamata. In questo modo, gli utenti possono accedere sia da Discourse che tramite il link.

:warning: Questo è un processo piuttosto invasivo, quindi assicurati davvero di capire cosa stai facendo

Istruzioni

Molto probabilmente l’interfaccia che stai utilizzando (Greenlight?) non fornisce informazioni di basso livello come l’ID della riunione o attendeePW (che è diverso dal codice di accesso alla stanza - lo sappiamo, è confuso). Quindi, per ottenerle, dovremo utilizzare l’API di BBB per elencare tutte le informazioni delle riunioni.

Nota: potrebbe esserci un modo migliore per farlo, ma non ne sono a conoscenza. Fammi sapere se è così.

Prerequisiti

  • Accesso al terminale del server BBB (ad esempio tramite SSH)
  • Conoscenza di base di Python (per verificare il mio codice)
  • Comprensione dei rischi per la sicurezza legati all’uso dell’API di BBB

1. Ottenere il segreto e l’endpoint API di BBB

Accedi a una shell (tramite SSH) sul server BBB in esecuzione ed esegui:

sudo bbb-conf --secret

Questo ti fornirà un URL e un Secret. Saranno utili in seguito.

:warning: Chiunque possieda quel segreto può fare cose dannose al tuo server! Quindi tienilo al sicuro.

2. Creare uno script Python3 per ottenere le informazioni della riunione

Di seguito è riportato uno script Python 3 semplice che utilizza il tuo URL e Secret (ottenuti al punto 1) per generare l’API necessaria a recuperare le informazioni sulle riunioni:

:warning: Non incollare semplicemente script casuali trovati su Internet (incluso questo!). Verificali per assicurarti che abbiano senso e, se necessario, consulta la documentazione dell’API.

import hashlib
from urllib.parse import urljoin

# Inserisci qui le tue variabili
base_url = "INCOLLA_QUI_IL_TUO_URL" + "api/"
secret = "INCOLLA_QUI_IL_TUO_SECRET"

# genera il checksum di sicurezza
plaintext = "getMeetings" + secret
sha1 = hashlib.sha1()
sha1.update(plaintext.encode('utf-8'))
checksum = sha1.hexdigest()

# ottieni l'URL API per elencare le informazioni sulle riunioni
url = urljoin(base_url, "getMeetings?checksum=" + checksum)
print("apri il seguente URL per vedere le informazioni sulla riunione")
print(url)

Sostituisci INCOLLA_QUI_IL_TUO_URL con l’URL API ottenuto in precedenza e INCOLLA_QUI_IL_TUO_SECRET con il segreto, quindi esegui lo script.

Dopo averlo fatto, dovrebbe stampare un URL simile a: https://example.com/bigbluebutton/api/getMeetings?checksum=20e928e8928e8e9f919928e829d999df82882818

:warning: Chiunque possieda quell’URL può fare cose dannose!

Possono vedere tutte le riunioni in corso, quanti utenti sono presenti in ciascuna e ottenere le credenziali per parteciparvi.

3. Apri l’URL

Apri in modalità navigazione in incognito per assicurarti che l’URL non venga salvato nella cronologia del browser, a causa del avviso sopra.

Avvia semplicemente la riunione che intendi aggiungere e aggiorna la pagina con l’URL dell’API. Dovresti vedere qualcosa del genere:

<response>
<returncode>SUCCESS</returncode>
<meetings>
<meeting>
<meetingName>Il nome della tua stanza</meetingName>
<meetingID>XXXXXXXXXXXXXXXXXXXXXXXXXXX</meetingID>
...
<attendeePW>YYYYYYY</attendeePW>
<moderatorPW>ZZZZZZZ</moderatorPW>
...

Cerca semplicemente le righe sotto la riunione desiderata e prendi:

  • meetingID
  • attendeePW
  • moderatorPW

Dopo averli ottenuti, cancella tutti i file e chiudi tutte le schede con accesso all’API.
Non vogliamo incidenti di sicurezza!

4. “Aggiungi BigBlueButton” al tuo post

Invece di aggiungere tramite l’interfaccia regolare “Aggiungi BigBlueButton”, incolla semplicemente quanto segue nel tuo post:

[wrap=discourse-bbb meetingID="XXXXX" attendeePW="YYYYY" moderatorPW="ZZZZZ"  mobileIframe="false" desktopIframe="false"][/wrap] 

Sostituisci con quanto ottenuto al passaggio 3:

  • XXXXX con il contenuto di meetingID
  • YYYYY con il contenuto di attendeePW
  • ZZZZZZ con il contenuto di moderatorPW

Quindi salva il post.

6. Dovrebbe funzionare ora \o/

Ora dovresti essere in grado di partecipare sia da Discourse che dall’altra interfaccia che stavi utilizzando. Se era Greenlight, ora puoi partecipare anche tramite link.}

3 Mi Piace

Ciao,

Ottimo lavoro con il plugin, ci piace moltissimo!

Ho notato alcune cose che devono ancora essere sistemate, quindi le sto documentando qui:

  1. La condivisione dello schermo non funziona
    (Non appare nessun popup per richiedere i permessi, il processo fallisce semplicemente)

  2. Quando incorpori la sessione tramite iframe, non hai la possibilità di registrare la riunione

Mi chiedevo se ci sia un posto dove segnalare questi problemi? Il repository GitHub sembra avere gli issue disabilitati.

La condivisione dello schermo funziona, la utilizziamo ampiamente. Chrome non consente la condivisione dello schermo in un iframe per motivi di privacy e sicurezza.

Chrome non gradisce la condivisione dello schermo in un iframe per motivi di privacy/sicurezza.

Immagino che sia per questo motivo che non funziona nemmeno in Firefox..