Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Ajout d'une info liée à une erreur 404 si timeout trop faible sur serveur BBB

...

Avertissement
titleCe script nécessite d'être modifié

Ce script ne peut être exécuté comme cela, il est indispensable de réaliser un paramétrage, indépendant de la configuration de Pod, supplémentaire directement dans ce fichier.

Fonctionnement du script

Comme évoqué ci-dessus, ce script offre 2 possibilités, à savoir :

  • 1° possibilité, pour ceux qui ont peu d'enregistrements à récupérer

Ce script va convertir les présentations, de l'ancienne architecture BBB, en fichiers vidéo (via le plugin bbb-recorder) et positionner ces fichiers dans le répertoire d'un enregistreur pour la Revendication des enregistrements (cf. https://www.esup-portail.org/wiki/x/DgB8Lw)

Bien sûr, s'il y a déjà des présentations en vidéo, le fichier vidéo sera directement copié.

Une fois que toutes les vidéos ont été encodées, l'architecture BBB locale peut être arrêtée. Les usagers devront aller chercher leurs vidéos dans l'onglet Revendication des enregistrements dans Pod.


Info
titleEn cas d'erreur 404 lors de l'exécution du script

Si vous avez un grand nombre d'enregistrements sur une ancienne version de BBB (testé en 2.2), il se peut que vous rencontriez une erreur 404 lors de l'exécution du script, lié au timeout de nginx sur le serveur BBB. Il faudra dans ce cas augmenter sa valeur dans le fichier /etc/bigbluebutton/nginx/web.nginx du serveur BBB

Voir https://github.com/bigbluebutton/bigbluebutton/issues/10570

Fonctionnement du script

Comme évoqué ci-dessus, ce script offre 2 possibilités, à savoir :

  • 1° possibilité, pour ceux qui ont peu d'enregistrements à récupérer

Ce script va convertir les présentations, de l'ancienne architecture BBB, en fichiers vidéo (via le plugin bbb-recorder) et positionner ces fichiers dans le répertoire d'un enregistreur pour la Revendication des enregistrements (cf. https://www.esup-portail.org/wiki/x/DgB8Lw)

Bien sûr, s'il y a déjà des présentations en vidéo, le fichier vidéo sera directement copié.

Une fois que toutes les vidéos ont été encodées, l'architecture BBB locale peut être arrêtée. Les usagers devront aller chercher leurs vidéos dans l'onglet Revendication des enregistrements dans Pod.

Ceci est possible en utilisant le Ceci est possible en utilisant le paramètre --use-manual-claim et la configuration directement dans ce fichier.

...

Ceci est possible en utilisant le paramètre --use-import-video, le paramètre --use-database-moodle (optionnel) et la configuration directement dans ce fichier.


  • 3° possibilité, à partir de pod 3.6.0, vous pouvez aussi faire uniquement un export au format CSV de la liste des enregistrements BBB (ce qui vous permet de traiter ensuite ces derniers par ailleurs)
    Ceci est possible en utilisant le paramètre --use-export-csv, le paramètre --use-database-moodle (optionnel) et la configuration directement dans ce fichier.


Ce script vous permet également de Ce script vous permet également de :

  • simuler ce qui sera fait via le paramètre --dry

  • de ne traiter que certaines lignes via les paramètres --min-value-record-process  et --max-value-record-process.

...

ParamètreDescriptionValeur par défaut / Format
SCRIPT_BBB_SERVER_URLAncienne URL du serveur BigBlueButton/Scalelite'https://bbb.univ.fr/'
SCRIPT_BBB_SECRET_KEYClé BigBlueButton ou Scalelite LOADBALANCER_SECRET'xxxxxxxxxx'
SCRIPT_PLAYBACK_URL_23

Est-ce que la version de BBB est supérieure à 2.3, vis-à-vis des URLs de playback ?

Utile pour la lecture de présentations au format 2.0 (pour BBB <= 2.2) ou 2.3 (pour BBB >= 2.3)

True
SCRIPT_RECORDER_IDEnregistreur utilisé pour obtenir les enregistrements BBB (utile avec --use-manual-claim)1
SCRIPT_ADMIN_ID

Administrateur auquel les enregistrements seront ajoutés si les modérateurs n'ont pas été identifiés (utile avec --use-import-video)

1
DB_PARAMSParamètres de connexion à la base de données Moodle (utile avec --use-import-video et --use-database-moodle)
A partir de Pod 3.6.0, il s'agit d'un dictionnaire dont la clé est le champ bbb-origin-server-name de chaque enregistrement BBB.
Si vous n'avez qu'un seul serveur Moodle, remplissez simplement le "default".
Pod 3.5.2 :
{

    'host': 'bddmoodle.{
    'host': 'bddmoodle.univ.fr',
    'database': 'moodle',
    'user': 'moodle',
    'password': '',
    'port': '',
    'connect_timeout': '10'
}
SCRIPT_INFORMMessage d'information qui sera défini dans la base de données Moodle, table mdl_bigbluebuttonbn, champ intro (utile avec --use-import-video et --use-database-moodle)Message prévisionnel pour l'université de Montpellier

Arguments du script

...

Pod 3.6.0 :
{
    # The default Moodle DB (if a recording has no bbb-origin-server-name)
    "default": {
        "host": "bddmoodle.univ.fr",
        "database": "moodle",
        "user": "moodle",
        "password": "",
        "port": None,
        "connect_timeout": 10,
    },
    # Add as many Moodle DB as bbb-origin-server-name you have
    "server2": {
        "host": "bddmoodle.univ.fr",
        "database": "moodle2",
        "user": "moodle2",
        "password": "",
        "port": None,
        "connect_timeout": 10,
    },
}
SCRIPT_INFORMMessage d'information qui sera défini dans la base de données Moodle, table mdl_bigbluebuttonbn, champ intro (utile avec --use-import-video et --use-database-moodle)Message prévisionnel pour l'université de Montpellier
IGNORED_SERVERSUne liste de serveurs à ignorer (soi ce ne sont pas des serveurs Moodle, soit ce sont des serveurs de dev ou de test...)["not-a-moodle.univ.fr"]
USE_CACHEUtile si vous relancez plusieurs fois le script d'affilée. En mettant USE_CACHE=True, il n'interrogera plus BBB mais la dernière réponse de ce dernier stockée dans un fichier XMLFalse

Arguments du script

ArgumentDescriptionValeur par défaut / Format
--use-manual-claimUtiliser la revendication manuelleFalse
--use-import-videoUtiliser le module d'importation vidéo pour obtenir des enregistrementsFalse
--use-database-moodleUtiliser la base de données Moodle pour rechercher des modérateurs.
N'est utile qu'avec --use-import-video ou --use-export-csv.
False
--min-value-record-processValeur minimale des enregistrements à traiter1
--max-value-record-processValeur maximale des enregistrements à traiter10000
--drySimule ce qui sera réaliséFalse
--use-export-csvExporte la liste des enregistrements au format CSV. Ajouter --use-database-moodle pour noter dans une colonne les modérateurs.False

Exemples et cas d'utilisation


Avertissement
titleSauvegarde

Comme dans toute migration, penser à réaliser les sauvegardes adéquates avant d'exécuter ce script sans simulation.

Typiquement, à minima la base de données de Pod, voire la base de Moodle (si vous y accédez en écriture) dans le cas de --use_import-video et --use-database-moodle.


Voici quelques exemples et cas d'utilisation de ce script, à ne lancer qu'après avoir réalisé le paramétrage interne. N'hésitez pas à faire des essais sur quelques lignes et d'utiliser le mode dry pour comprendre ce qui sera réalisé.

Info

Ne pas hésiter à ignorer le warnings en mettant -W ignore.


Info

Avant de  réaliser ces commandes, penser à exécuter ces requêtes (à adapter selon votre environnement) :

cd /usr/local/django_projects/podv3
workon django_pod3 


  •  Utilisation de la revendication pour tous les enregistrements, en simulation uniquement :
    Bloc de code
    languagebash
    python -W ignore manage.py migrate_bbb_recordings --use-manual-claim --dry
  •  Utilisation de la revendication d'enregistrements pour seulement les 2 enregistrements les plus récents, en simulation uniquement :
    Bloc de code
    languagebash
    python -W ignore manage.py migrate_bbb_recordings --min-value-record-process=1 --max-value-record-process=2 --use-manual-claim --dry &


    Info
    titleUtilisation de Celery ou non ?

    Si vous utilisez les tâches asynchrones (CELERY_TO_ENCODE = True), sans le dry, cette commande va lancer 2 tâches d'encodage.

    Si vous n'utilisez pas les tâches asynchrones (CELERY_TO_ENCODE = False), sans le dry, cette commande va réaliser directement l'encodage (sauf si le playback est au format vidéo bien entendu) de la 1° présentation, puis une fois celle-ci terminée, l'encodage de la 2° présentation.
    Dans ce cas là, cela peut être long, d'où l'utilisation en arrière plan (via le & en fin de commande).



  • Utilisation du module d'importation vidéo externe, avec accès à la base de données Moodle pour tous les enregistrements

Exemples et cas d'utilisation

Avertissement
titleSauvegarde

Comme dans toute migration, penser à réaliser les sauvegardes adéquates avant d'exécuter ce script sans simulation.

Typiquement, à minima la base de données de Pod, voire la base de Moodle (si vous y accédez en écriture) dans le cas de --use_import-video et --use-database-moodle.

Voici quelques exemples et cas d'utilisation de ce script, à ne lancer qu'après avoir réalisé le paramétrage interne. N'hésitez pas à faire des essais sur quelques lignes et d'utiliser le mode dry pour comprendre ce qui sera réalisé.

Info

Ne pas hésiter à ignorer le warnings en mettant -W ignore.

Info

Avant de  réaliser ces commandes, penser à exécuter ces requêtes (à adapter selon votre environnement) :

cd /usr/local/django_projects/podv3
workon django_pod3 

  •  Utilisation de la revendication pour tous les enregistrements, en simulation uniquement :
    Bloc de code
    languagebash
    python -W ignore manage.py migrate_bbb_recordings --use-manual-claim --dry
  •  Utilisation de la revendication d'enregistrements pour seulement les 2 enregistrements les plus récents, en simulation uniquement :
    Bloc de code
    languagebash
    python -W ignore manage.py migrate_bbb_recordings --min-value-record-process=1migrate_bbb_recordings --maxuse-value-record-process=2import-video --use-manualdatabase-claimmoodle --dry &

    Info
    titleUtilisation de Celery ou non ?
    titlePas d'encodage réalisé

    Sans

    Si vous utilisez les tâches asynchrones (CELERY_TO_ENCODE = True), sans le dry, cette commande va lancer 2 tâches d'encodage.

    Si vous n'utilisez pas les tâches asynchrones (CELERY_TO_ENCODE = False), sans le dry, cette commande va réaliser directement l'encodage (sauf si le playback est au format vidéo bien entendu) de la 1° présentation, puis une fois celle-ci terminée, l'encodage de la 2° présentation.
    Dans ce cas là, cela peut être long, d'où l'utilisation en arrière plan (via le & en fin de commande)créer des lignes d'enregistrements externes dans la base de Pod, pour le module d'import des vidéos. Il n'y a alors aucun encodage qui est réalisé à ce moment.

    Les usagers pourront retrouver ces enregistrements dans ce module d'import des vidéos et les téléverser sur Pod en tant que vidéo : c'est à ce moment que l'encodage sera réalisé.



  • Utilisation du module d'importation vidéo externe, avec sans accès à la base de données Moodle pour tous les 10 enregistrements les plus récents, en simulation uniquement :
    Bloc de code
    languagebash
    python -W ignore manage.py migrate_bbb_recordings --usemin-value-importrecord-videoprocess=1 --usemax-value-databaserecord-moodle --dry
    Info
    titlePas d'encodage réalisé

    Sans le dry, cette commande va créer des lignes d'enregistrements externes dans la base de Pod, pour le module d'import des vidéos. Il n'y a alors aucun encodage qui est réalisé à ce moment.

    Les usagers pourront retrouver ces enregistrements dans ce module d'import des vidéos et les téléverser sur Pod en tant que vidéo : c'est à ce moment que l'encodage sera réalisé.
    process=10 --use-import-video --dry


  • Utilisation du module d'importation vidéo externe, sans export CSV, avec accès à la base de données Moodle pour les 10 enregistrements les plus récents, en simulation uniquement :
    Bloc de code
    languagebash
    pythonpython3 -W ignore manage.py migrate_bbb_recordings --use_export_csv -min-valueuse-recorddatabase-process=1moodle --max-value-record-process=10 --use-import-video --dry

Exploitation

Sortie du script migrate_bbb_recordings

...