Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DONE] Develop #3.4.1 #971

Merged
merged 28 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
39c1eb8
Bump urllib3 from 1.26.5 to 1.26.17
dependabot[bot] Oct 3, 2023
6ead37b
Merge pull request #970 from EsupPortail/dependabot/pip/urllib3-1.26.17
ptitloup Oct 3, 2023
483ca6f
[DONE] Use cache to store video data (#969)
ptitloup Oct 3, 2023
cf8f257
Fixup. Format code with Black
invalid-email-address Oct 3, 2023
7a45f88
[DONE] add configuration_fr.md (#975)
ptitloup Oct 3, 2023
647c6a5
[DONE] add CACHE_VIDEO_DEFAULT_TIMEOUT in configuration (#973)
ptitloup Oct 3, 2023
72e38c1
Auto-update configuration files
invalid-email-address Oct 3, 2023
ce7a45e
update configuration
ptitloup Oct 4, 2023
b4aa63e
Bump pillow from 9.3.0 to 10.0.1 (#977)
dependabot[bot] Oct 4, 2023
a4a93b0
[DONE] Ptitloup/work on configuration (#976)
ptitloup Oct 4, 2023
423d2dd
Fixup. Format code with Black
invalid-email-address Oct 4, 2023
8fea73c
Auto-update configuration files
invalid-email-address Oct 4, 2023
56514f0
[DONE] Code formatting (#979)
Badatos Oct 9, 2023
3144847
Fixup. Format code with Prettier
invalid-email-address Oct 9, 2023
c79866f
[DONE] New 3.4.0 fixes (#981)
LoicBonavent Oct 13, 2023
8c920c2
Fixup. Format code with Prettier
invalid-email-address Oct 13, 2023
8fdf7f0
[DONE] A11y for caption_maker (#982)
Badatos Oct 16, 2023
8451370
Fixup. Format code with Prettier
invalid-email-address Oct 16, 2023
1644752
Auto-update configuration files
invalid-email-address Oct 16, 2023
c35f7ee
[DONE] Bugfix of 3.4.0 (#983)
AymericJak Oct 16, 2023
e7743ca
Fixup. Format code with Black
invalid-email-address Oct 16, 2023
a93af26
[DONE] add the parameter USE_NOTIFICATIONS (#984)
ptitloup Oct 17, 2023
bbbf683
Fixup. Format code with Black
invalid-email-address Oct 17, 2023
407f47c
Auto-update configuration files
invalid-email-address Oct 17, 2023
282ad8e
[DONE] Bump version to 3.5.0 (#985)
ptitloup Oct 17, 2023
a9b807f
Bump urllib3 from 1.26.5 to 1.26.18 (#986)
dependabot[bot] Oct 18, 2023
e9b9b4a
[DONE] change pod version to 3.4.1 and downgrade pillow to 9.5.0 (#987)
ptitloup Oct 18, 2023
185ce04
[DONE] force end of BBB meeting if not create or get status (#988)
ptitloup Oct 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
module.exports = {
"env": {
"browser": true,
"commonjs": true,
"es2021": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "script"
},
"rules": {
"indent": [
"error",
2,
{"SwitchCase": 1}
],
"linebreak-style": [
"error",
"unix"
],
"semi": [
"error",
"always",
],
/*"camelcase": ["warn", {"ignoreGlobals": true}],*/
/* First capital letter is reserved for "new" Objects. */
"new-cap": ["warn", { "capIsNew": true }]
},
/* functions and Objects that will not trigger a "not defined" error. */
"globals": {
"Cookies": "readonly",
"gettext": "readonly",
"interpolate": "readonly",
"bootstrap": "readonly",
"videojs": "readonly",
"send_form_data": "writable",
"showalert": "writable",
}
};
6 changes: 4 additions & 2 deletions .github/workflows/code_formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ jobs:
git config user.email [email protected]
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}

# Prettify js code with prettier
# Prettify js+css code with prettier
- name: Running prettier
run: npx prettier --write pod/*/static/**/*.js
run: |
npx prettier --write pod/*/static/**/*.js
npx prettier --write pod/*/static/**/*.css

- name: Check for modified files
id: prettier-git-check
Expand Down
2 changes: 1 addition & 1 deletion .pa11yci
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"http://localhost:9090/video/0001-video-test/",
"http://localhost:9090/live/events/"
],
"todo":[
"todo": [
"These urls are not A11y compliant yet, and need more work from 3rd party",
"http://localhost:9090/video/stats_view/videos/"
]
Expand Down
3 changes: 3 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "stylelint-config-standard"
}
133 changes: 85 additions & 48 deletions CONFIGURATION_FR.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@


La plateforme Esup-Pod se base sur le framework Django écrit en Python.<br>
Elle supporte les versions 3.7, 3.8 et 3.9 de Python.<br>
Elle est compatible avec les versions 3.8, 3.9 et 3.10 de Python.<br>

**Django Version : 3.2 LTS**<br>

Expand Down Expand Up @@ -72,6 +72,30 @@ Voici les configurations des applications tierces utilisées par Esup-Pod.<br>
>> Système d’authentification OpenID Connect <br>
>> [https://mozilla-django-oidc.readthedocs.io/en/stable/installation.html]() <br>

- `pwa`

> valeur par défaut : `1.1.0`

>> Mise en place du mode PWA grâce à l'application Django-pwa <br>
>> Voici la configuration par défaut pour Pod, vous pouvez surcharger chaque variable dans votre fichier de configuration. <br>
>> PWA_APP_NAME = "Pod" <br>
>> PWA_APP_DESCRIPTION = _( <br>
>> "Pod is aimed at users of our institutions, by allowing the publication of " <br>
>> "videos in the fields of research (promotion of platforms, etc.), training " <br>
>> "(tutorials, distance training, student reports, etc.), institutional life (video " <br>
>> "of events), offering several days of content." <br>
>> ) <br>
>> PWA_APP_THEME_COLOR = "#0A0302" <br>
>> PWA_APP_BACKGROUND_COLOR = "#ffffff" <br>
>> PWA_APP_DISPLAY = "standalone" <br>
>> PWA_APP_SCOPE = "/" <br>
>> PWA_APP_ORIENTATION = "any" <br>
>> PWA_APP_START_URL = "/" <br>
>> PWA_APP_STATUS_BAR_COLOR = "default" <br>
>> PWA_APP_DIR = "ltr" <br>
>> PWA_APP_LANG = "fr-FR" <br>
>> Pour en savoir plus : [https://github.com/silviolleite/django-pwa]() <br>

- `rest_framework`

> valeur par défaut : `3.14.0`
Expand Down Expand Up @@ -711,17 +735,17 @@ Vous pouvez tout à fait rajouter des langues comme vous le souhaitez. Il faudra

>> Si True, permet de cacher l’onglet chaine dans la barre de menu du haut. <br>

- `HIDE_DISCIPLINES`
- `HIDE_CURSUS`

> valeur par défaut : `False`

>> Si True, permet de ne pas afficher les disciplines dans la colonne de droite <br>
>> Si True, permet de ne pas afficher les cursus dans la colonne de droite <br>

- `HIDE_CURSUS`
- `HIDE_DISCIPLINES`

> valeur par défaut : `False`

>> Si True, permet de ne pas afficher les cursus dans la colonne de droite <br>
>> Si True, permet de ne pas afficher les disciplines dans la colonne de droite <br>

- `HIDE_LANGUAGE_SELECTOR`

Expand Down Expand Up @@ -954,7 +978,7 @@ Vous pouvez tout à fait rajouter des langues comme vous le souhaitez. Il faudra

- `TRANSCRIPTION_STT_SENTENCE_MAX_LENGTH`

> valeur par défaut : `3`
> valeur par défaut : `2`

>> Temps en secondes maximum pour une phrase lors de la transcription avec l’outil STT. <br>

Expand Down Expand Up @@ -1401,19 +1425,19 @@ Vous pouvez tout à fait rajouter des langues comme vous le souhaitez. Il faudra
Application Import_video permettant d'importer des vidéos externes dans Pod.<br>
Mettre `USE_IMPORT_VIDEO` à True pour activer cette application.<br>

- `RESTRICT_EDIT_IMPORT_VIDEO_ACCESS_TO_STAFF_ONLY`

> valeur par défaut : `True`

>> Seuls les utilisateurs "staff" pourront importer des vidéos <br>

- `MAX_UPLOAD_SIZE_ON_IMPORT`

> valeur par défaut : `4`

>> Taille maximum en Go des fichiers vidéos qui peuvent être importés sur la plateforme <br>
>> via l'application import_video (0 = pas de taille maximum). <br>

- `RESTRICT_EDIT_IMPORT_VIDEO_ACCESS_TO_STAFF_ONLY`

> valeur par défaut : `True`

>> Seuls les utilisateurs "staff" pourront importer des vidéos <br>

- `USE_IMPORT_VIDEO`

> valeur par défaut : `True`
Expand Down Expand Up @@ -1475,18 +1499,18 @@ Mettre `USE_IMPORT_VIDEO` à True pour activer cette application.<br>

>> Permet de lancer automatiquement l’enregistrement sur l’interface utilisée (wowza, ) sur le broadcaster et spécifié par `BROADCASTER_PILOTING_SOFTWARE` <br>

- `EVENT_GROUP_ADMIN`

> valeur par défaut : `event admin`

>> Permet de préciser le nom du groupe dans lequel les utilisateurs peuvent planifier un évènement sur plusieurs jours. <br>

- `EVENT_CHECK_MAX_ATTEMPT`

> valeur par défaut : `10`

>> Nombre de tentatives maximum pour vérifier la présence / taille d'un fichier sur le filesystem <br>

- `EVENT_GROUP_ADMIN`

> valeur par défaut : `event admin`

>> Permet de préciser le nom du groupe dans lequel les utilisateurs peuvent planifier un évènement sur plusieurs jours. <br>

- `HEARTBEAT_DELAY`

> valeur par défaut : `45`
Expand Down Expand Up @@ -1784,20 +1808,20 @@ Mettre `USE_MEETING` à True pour activer cette application.<br>
Application Playlist pour la gestion des playlists.<br>
Mettre `USE_PLAYLIST` à True pour activer cette application.<br>

- `DEFAULT_PLAYLIST_THUMBNAIL`

> valeur par défaut : `/static/playlist/img/default-playlist.svg`

>> Image par défaut affichée comme poster ou vignette, utilisée pour présenter la playlist. <br>
>> Cette image doit se situer dans le répertoire `static`. <br>

- `COUNTDOWN_PLAYLIST_PLAYER`

> valeur par défaut : `0`

>> Compte à rebours utilisé entre chaque vidéo lors de la lecture d'une playlist en lecture automatique. <br>
>> Le compte à rebours n'est pas présent s'il est à 0. <br>

- `DEFAULT_PLAYLIST_THUMBNAIL`

> valeur par défaut : `/static/playlist/img/default-playlist.svg`

>> Image par défaut affichée comme poster ou vignette, utilisée pour présenter la playlist. <br>
>> Cette image doit se situer dans le répertoire `static`. <br>

- `USE_FAVORITES`

> valeur par défaut : `True`
Expand Down Expand Up @@ -1840,6 +1864,12 @@ Mettre `USE_PLAYLIST` à True pour activer cette application.<br>

### Configuration application progressive_web_app

- `USE_NOTIFICATIONS`

> valeur par défaut : `True`

>> Activation des notifications, attention, elles sont actives par défaut. <br>

- `WEBPUSH_SETTINGS`

> valeur par défaut :
Expand Down Expand Up @@ -1998,6 +2028,13 @@ Mettre `USE_PLAYLIST` à True pour activer cette application.<br>

>> Activer les commentaires au niveau de la plateforme <br>

- `CACHE_VIDEO_DEFAULT_TIMEOUT`

> valeur par défaut : `600`


>> Temps en seconde de conservation des données de l'application video <br>

- `CHANNEL_FORM_FIELDS_HELP_TEXT`

> valeur par défaut : ``
Expand Down Expand Up @@ -2569,6 +2606,18 @@ Attention, il faut configurer Celery pour l’envoi des instructions pour l'enco

>> Si True, un courriel est envoyé aux managers et à l’auteur (si DEBUG est à False) à la fin de la transcription <br>

- `ENCODE_STUDIO`

> valeur par défaut : `start_encode_studio`

>> Fonction appelée pour lancer l’encodage du studio (merge and cut). <br>

- `ENCODE_VIDEO`

> valeur par défaut : `start_encode`

>> Fonction appelée pour lancer l’encodage des vidéos direct par thread ou distant par celery <br>

- `ENCODING_CHOICES`

> valeur par défaut : `()`
Expand All @@ -2587,6 +2636,14 @@ Attention, il faut configurer Celery pour l’envoi des instructions pour l'enco
>>
>> ```

- `ENCODING_TRANSCODING_CELERY_BROKER_URL`

> valeur par défaut : `False`


>> Il faut renseigner l'url du redis sur lequel Celery va chercher les ordres d'encodage et de transcription <br>
>> par exemple : "redis://redis:6379/7" <br>

- `FORMAT_CHOICES`

> valeur par défaut : `()`
Expand All @@ -2605,17 +2662,12 @@ Attention, il faut configurer Celery pour l’envoi des instructions pour l'enco
>>
>> ```

- `ENCODE_STUDIO`

> valeur par défaut : `start_encode_studio`

>> Fonction appelée pour lancer l’encodage du studio (merge and cut). <br>
- `USE_DISTANT_ENCODING_TRANSCODING`

- `ENCODE_VIDEO`
> valeur par défaut : `False`

> valeur par défaut : `start_encode`

>> Fonction appelée pour lancer l’encodage des vidéos direct par thread ou distant par celery <br>
>> Si True, active l'encodage et la transcription sur un environnement distant via redis+celery <br>

- `VIDEO_RENDITIONS`

Expand Down Expand Up @@ -2658,21 +2710,6 @@ Attention, il faut configurer Celery pour l’envoi des instructions pour l'enco
>>
>> ```

- `ENCODING_TRANSCODING_CELERY_BROKER_URL`

> valeur par défaut : `False`


>> Il faut renseigner l'url du redis sur lequel Celery va chercher les ordres d'encodage et de transcription <br>
>> par exemple : "redis://redis:6379/7" <br>

- `USE_DISTANT_ENCODING_TRANSCODING`

> valeur par défaut : `False`


>> Si True, active l'encodage et la transcription sur un environnement distant via redis+celery <br>

### Configuration application search

- `ES_INDEX`
Expand Down
2 changes: 1 addition & 1 deletion dockerfile-dev-with-volumes/pod-back/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ FROM $PYTHON_VERSION
# TODO
#FROM harbor.urba.univ-lille.fr/store/python:3.7-buster

RUN apt-get clean && apt-get update && apt-get install -y netcat
RUN apt-get clean && apt-get update && apt-get install -y netcat && apt-get install -y gettext

WORKDIR /usr/src/app

Expand Down
3 changes: 2 additions & 1 deletion dockerfile-dev-with-volumes/pod/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ RUN apt-get clean && apt-get update \
&& apt-get install -y netcat \
ffmpeg \
ffmpegthumbnailer \
imagemagick
imagemagick \
gettext

WORKDIR /usr/src/app

Expand Down
5 changes: 3 additions & 2 deletions pod/authentication/backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ def is_staff_affiliation(affiliation):
class ShibbBackend(ShibbolethRemoteUserBackend):
def authenticate(self, request, remote_user, shib_meta):
"""
The username passed as ``remote_user`` is considered trusted. Use the
username to get or create the user.
Username passed as `remote_user` is considered trusted.

Use the username to get or create the user.
"""
if not remote_user:
return
Expand Down
23 changes: 15 additions & 8 deletions pod/bbb/static/css/bbb.css
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
/**
* Esup-Pod BBB styles
*/

#bbb_meetings_list .card-header {
background: var(--color-black-alpha);
padding: 0 .25rem;
padding: 0 0.25rem;
z-index: 9;
}
#bbb_meetings_list .card-header .text-muted{
color: var(--color-white) !important;

#bbb_meetings_list .card-header .text-muted {
color: var(--color-white) !important;
}

/* To always see publish button */
#bbb_meetings_list .infinite-item .card-body{
height: auto !important;
#bbb_meetings_list .infinite-item .card-body {
height: auto !important;
}

#bbb_meetings_list .infinite-item .card-body footer a {
width: 100% !important;
}
#bbb_meetings_list .infinite-item .card-body footer a{
width: 100% !important;
}
Loading