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.

Nous avons ajouté dans la version 3.1.0 de Pod une date de suppression pour chaque vidéo.
Ce champ date est créé par défaut avec deux 2 ans de plus que la date d’ajout par défaut.
Ces deux 2 ans sont paramétrables via le settings DEFAULT_YEAR_DATE_DELETE

Sommaire

1/

...

Attribut date_delete

Lors de l’ajout de la vidéo, quand l’upload est terminé est que la vidéo est enregistrée, cette date est modifiée si l’affiliation du propriétaire est précisé dans la variable ACCOMMODATION_YEARS.

...

Donc si vous mettez à jour votre Pod et que vous ne touchez à rien, toutes vos vidéos auront une date de suppression égale à deux ans suivant votre date de mise à jour de votre plateforme.

2/ Gestion de l’obsolescence et de la notification

Nous avons ajouté une variable WARN_DEADLINES = getattr(settings, "WARN_DEADLINES", []). Elle est donc vide par défaut. 

...

par exemple, si vous mettez WARN_DEADLINES = [60, 30, 7], les propriétaires de vidéos recevront un mail 60 jours avant la date de suppression, 30 jours avant et 7 jours avant.

Ensuite,

  • s’ils sont "staff", le courriel envoyé leur précisera que leur vidéo va être bientôt supprimée mais qu’ils peuvent modifier la date dans l’interface d’édition avec un lien pour les y conduire.
  • s’ils sont "non staff" (les étudiants), le mail les invitera à contacter les managers de la plateforme (CONTACT_US_EMAIL ou MANAGER de l’établissement si USE_ESTABLISHMENT_FIELD à True)

...

Pour les vidéos dont la date de suppression est dépassée, on a ajouté une variable POD_ARCHIVE_AFFILIATION. Cette variable est un tableau qui contient toutes les affiliations pour lesquelles on souhaite archiver la vidéo plutôt que de la supprimer. À Lille, POD_ARCHIVE_AFFILIATION contient les valeurs suivantes : ['faculty', 'staff', 'employee', 'affiliate', 'alum', 'library-walk-in', 'researcher', 'retired', 'emeritus', 'teacher', 'registered-reader']

Archivage

Si l’affiliation du propriétaire est dans cette variable POD_ARCHIVE_AFFILIATION, alors :

...

De plus, deux fichiers CSV (deleted.csv et archived.csv) sont créés dans le répertoire log de Django et renseignés avec la liste des vidéos archivées ou supprimées.

3/ Mise en route du traitement automatique

Pour lancer le traitement quotidien des vidéos, il faut au préalable ajouter cette variable dans votre fichier de configuration USE_OBSOLESCENCE = True

...

Bloc de code
languagebash
0 5 * * * cd /home/pod/django_projects/podv2 && /home/pod/.virtualenvs/django_pod/bin/python manage.py check_obsolete_videos

4/ Traitement automatisé des archives

À partir de la version 3.7.0 de Pod, un script permettant de s'occuper automatiquement des vidéos archivées depuis longtemps est proposé : create_archive_package

Ce script va exporter le fichier vidéo source, ainsi qu'un ensemble de documents et métadonnées associées (sous-titres, notes, commentaires) dans un dossier à part, avant de supprimer la vidéo de Pod.

Un ensemble de paramètres sont personnalisables directement dans le fichier create_archive_package.py :

Bloc de code
languagepy
"""CUSTOM PARAMETERS."""
ARCHIVE_ROOT = "/video_archiving" # Folder where archive packages will be moved
HOW_MANY_DAYS = 365 # Delay before an archived video is moved to archive_ROOT

Si vous voulez tester la commande sans supprimer de vidéo, vous pouvez la lancer avec l'option "--dry" :

Bloc de code
languagebash
python manage.py create_archive_package --dry

Vous recevrez alors un email récapitulatif de la liste des vidéos qui seront déplacées.


Lancez ensuite une tache cron qui va passer une fois par semaine (ici les lundi à 6:00) avec la commande suivante :

Bloc de code
languagebash
0 6 * * 1 cd /home/pod/django_projects/podv3 && /home/pod/.virtualenvs/django_pod/bin/python manage.py create_archive_package  &>> /var/log/pod/create_archive_package.log


Annexes

Désarchiver une vidéo

Il peut arriver qu'une vidéo ait été archivée par erreur, que la date d'obsolescence était mal réglée, etc... Si la vidéo est archivée (et non supprimée), et si vous vous y prenez à temps, la vidéo peut encore être restaurée.

Pour cela, il vous faut préciser l'identifiant de la vidéo, et indiquer l'utilisateur à qui réattribuer la vidéo : (1er paramètre=video_id, 2e paramètre=user_id)

Bloc de code
languagebash
pod@pod:~$ python manage.py unarchive_video 1234 5678

à partir de la version 3.7.0 de Pod, le 2e paramètre (user_id) devient facultatif. Il vous suffit d'indiquer la vidéo à désarchiver :

Bloc de code
languagebash
pod@pod:~$ python manage.py unarchive_video 1234