Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Vous pouvez retrouver toutes les variables de configuration de la plateforme Pod à cette adresse : https://github.com/EsupPortail/Esup-Pod/blob/master/CONFIGURATION_FR.md

Les variables sont utilisées par la plateforme pour son fonctionnement. Leurs valeurs peuvent être changées dans votre fichier de configuration :

(django_pod3) pod@pod:/usr/local/django_projects/podv3$ vim pod/custom/settings_local.py

Les variables suivantes sont utilisées par la plateforme pour son fonctionnement. Leurs valeurs peuvent être changées dans votre fichier de configuration :

(django_pod) pod@pod:/usr/local/django_projects/podv2$ vim pod/custom/settings_local.py

La documentation suivante précise pour chaque variable son nom, son usage et sa valeur par défaut.

Sommaire
maxLevel3
minLevel2

Configuration principale

...

{
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

...

( ('fr', 'Français'), ('en', 'English'), ('nl', 'Dutch (Netherlands)'))

...

Liste des applications tierces accessibles. Exemple pour ajouter les live THIRD_PARTY_APPS = ["live"]

Pour les enrichissements THIRD_PARTY_APPS = ["enrichment"]

...

Selon le paramétrage système, il faut parfois forcer ce paramètre pour avoir les droits de lecture sur les fichiers d'enrichissement. Attention, c'est un nombre au format octet.

FILE_UPLOAD_PERMISSIONS = 0o644

...

False

...

Si la valeur vaut 'True', rajoute un attribut 'establishment' à l'utilisateur Pod ce qui permet de gérer plus d'un établissement pouvant utiliser Pod. Dans ce cas les emails de contact par exemple seront envoyés soit à l'utilisateur soit au(x) manageur(s) de l'établissement de l'utilisateur. (voir USER_CONTACT_EMAIL_CASE )

Également les emails de fin d'encodage seront envoyés au(x) manageur(s) de l'établissement du propriétaire de la vidéo encodée, en plus d'un email au propriétaire, en confirmation de la fin d'encodage de sa vidéo.

...

Donner le lien faire un fichier CSS Bootstrap personnalisé ex custom/bootstrap-default.min.css

Voir page "Modifier le thème CSS"

...

Choisir un thème prédéfini ('default' 'green' 'dark')

Voir page "Modifier le thème CSS"

...

Configuration des templates / de l'affichage

L'ensemble des variables ci-après doivent être contnu dans un dictionnnaire TEMPLATE_VISIBLE_SETTINGS.

Voici sa valeur par défaut :

TEMPLATE_VISIBLE_SETTINGS = {
    'TITLE_SITE': 'Pod',
    'TITLE_ETB': 'University name',
    'LOGO_SITE': 'img/logoPod.svg',
    'LOGO_ETB': 'img/logo_etb.svg',
    'LOGO_PLAYER': 'img/logoPod.svg',
    'LINK_PLAYER': '',
    'FOOTER_TEXT': ('',),
    'FAVICON': 'img/logoPod.svg',
    'CSS_OVERRIDE' : '',
'PRE_HEADER_TEMPLATE' : '',
'POST_FOOTER_TEMPLATE' : '',
'TRACKING_TEMPLATE' : '',
}

...

Vous pouvez créer un template dans votre application custom et indiquer son chemin dans cette variable pour que ce code html, ce template soit affiché en haut de votre page, le code est ajouté juste après la balise body.(Or iframe)

Si le fichier créé est '/usr/local/django_projects/podv2/pod/custom/templates/custom/preheader.html' alors la variable doit prendre la valeur 'custom/preheader.html'

...

Configuration application recherche

...

Pour mettre à jour le moteur de recherche, je lance toutes les nuits la tâche cron suivante :

0 5 * * * cd /home/pod/django_projects/podv2 && /home/pod/.virtualenvs/django_pod/bin/python manage.py index_videos --all

Configuration de l'encodage

...

Configuration flux RSS

...

Configuration autotranscription

...

Permet d'activer le fonctionnement de catégorie au niveau de ses vidéos. Vous pouvez créer des catégories pour pouvoir ranger vos propres vidéos. Les catégories sont liées à l'utilisateur.

...

Configuration application recorder (enregistreur)

...

Configuration application podfile (gestion de fichier)

...

Configuration application completion (contributeur, sous-titre, document à télécharger, superposition)

...

Configuration application live

...

Temps (en seconde) entre deux envois d'un signal au serveur, pour signaler la présence sur un live.
Peut être augmenté en cas de perte de performance mais au détriment de la qualité du comptage des valeurs.

...

Délai (en seconde) selon lequel une vue est considérée comme expirée si elle n'as pas renvoyé de signal depuis.

...

60

...

Les personnes ayant pour affiliation les valeurs renseignées dans cette variable peuvent gérer les évènements. Contrairement à la variable AFFILIATION_STAFF, cette valeur doit être entre ['crochets']

...

['faculty', 'employee', 'staff']

Configuration application BBB

...

Répertoire du plugin bbb-recorder (voir documentation https://github.com/jibon57/bbb-recorder)
bbb-recorder doit être installé dans ce répertoire, sur tous les serveurs d'encodage
bbb-recorder crée un répertoire 'homedir' / Downloads qui a besoin d'espace disque

...

Répertoire qui contiendra les fichiers vidéo générés par bbb-recorder

...

Format du nom d'utilisateur dans BBB. Valeurs possibles : 'first_name last_name', 'last_name first_name'
Exemple1 : si dans le serveur BBB, vous avez un utilisateur au format 'John Doe', mettez 'first_name last_name'
Exemple2 : si dans le serveur BBB, vous avez un utilisateur au format 'Doe John', mettez 'last_name first_name'

...

Version de BigBlueButton utilisée. A partir de Pod v2.8.2.
Si les URLs des enregistrements BBB contiennent /2.3/ (et non /2.0/), il est nécessaire de mettre ce paramètre à True.
Remarque : si vous utilisez Scalelite, il est possible que les URLS générés soient au format 2.3 même si la version de BigBlueButton est une 2.2.X.

...

Configuration application authentification (Local, CAS, LDAP, Shibboleth)

...

Liste de correspondance entre les champs d'un compte de Pod et les champs renvoyés par le CAS.

(lightbulb) Suite à la mise en place des groupes d'accès, l'attribut "groups" doit être renseigné. Si besoin, il est possible de mettre "groups": ""

...

Information de connection au serveur LDAP. Le champ url peut contenir un ou plusieurs url pour ajouter des hôtes de référence, exemple :

Un seul host : {'url': "ldap.univ.fr'', 'port': 389, 'use_ssl': False}

...

SHIBBOLETH_ATTRIBUTE_MAP = {
    "shib-user": (True, "username"),
    "shib-given-name": (True, "first_name"),
    "shib-sn": (True, "last_name"),
    "shib-mail": (False, "email"),
}

...

Attention, inutile avec la version de Pod > à 2.3 (la librairie de CAS a été mise à jour) :

Si utilisation de l'authentification CAS, il y a une modification à faire dans l'application tierce (django-cas-sso==1.1.7) permettant cette authentification. Cette application est proposée par l'université de Strasbourg mais un problème compatibilité avec Python 3.X empèche sa parfaite utilisation (avec le gateway). Voici la modification à faire :

(django_pod) pod@pod:~/django_projects/podv2$ vim /home/pod/.virtualenvs/django_pod/lib/python3.5/site-packages/django_cas/views.py
[...]L.34
        if gateway:
            """ If gateway, capture params and reencode them before returning a url """
            """ gateway_params = [(REDIRECT_FIELD_NAME, redirect_to), ('gatewayed','true')] query_dict = request.GET.copy() try: del query_dict['ticket'] except: pass query_list = query_dict.items() #remove duplicate params for item in query_list: for index, item2 in enumerate(gateway_params): if item[0] == item2[0]: gateway_params.pop(index) extra_params = gateway_params + query_list extra_params = set(gateway_params).union(set(query_dict.items())) #Sort params by key name so they are always in the same order. sorted_params = sorted(extra_params, key=itemgetter(0)) service += urlencode(sorted_params) """
            gateway_params = { REDIRECT_FIELD_NAME: redirect_to, 'gatewayed':'true'}
            query_dict = request.GET.copy()
            try:
                del query_dict['ticket']
            except:
                pass
            if query_dict.get(REDIRECT_FIELD_NAME):
                del gateway_params[REDIRECT_FIELD_NAME]
            if query_dict.get('gatewayed'):
                del gateway_params['gatewayed']
            query_dict.update(gateway_params)
            service += urlencode(query_dict)
        else:
            service += urlencode({REDIRECT_FIELD_NAME: redirect_to})
[...]