20 janvier 2008

Description

Claroline permet de gerer de l'information. L'outil le plus utilisé est l'outil document. On peut rapidement arriver à saturation de l'espace disque.

Une première solution pour palier à cela a été de confondre le concept de document et de lien sous le concept de ressources.

L'idée émise est d'avoir la possiblité pour l'administrateur de répartir le stockage de données sur plusieurs serveurs. Il est impératif que celà soit transparent pour l'utilisateur.

Le choix de (dé)placer la ressource sur tel ou tel espace de stockage sera effectué par l'application sur base de règles indiquées par l'administrateur.


Exemple de règles imaginées

  • sur base de l'extention ou du mime/type

  • sur base d'une taille de fichier.

  • sur base du quota alloué (répartition de charge en téléchargement)

  • sur base d'un dossier

  • sur base d'un meta-tag

  • sur base d'une date.

« Déplacer » au lieu de « placer »

afin d'optimiser la procédure, on peut imaginer que la ressource est toujours placée sur le serveur principal et déplacée ensuite dans un processus de fond ou spoolé ou différé.

Pourquoi ?

  • répartition des fichiers sur plusieurs serveur gratuits.

  • déplacement de fichiers à streamer sur un serveur dédié

  • déplacement de fichiers lourds peu important sur des espaces non backupés

  • dépalcement de fichiers délicats sur des espaces sécurisés

Travail à éffectuer

Prioritairement

  1. Imaginer et implementer la chaine de traîtement

  2. mettre en place un système de règles et en implementer quelque unes

  3. mettre en place au moins un des système de transfert

  4. mettre en place le système de spool

Idéalement

  1. mettre en place un serveur dédié format (streamer de video)

  2. mettre en place un mécanisme de vérification (checksum)

  3. création d'un code pour un serveur distant (déléguation de certaines tâches au serveur distant)

Ébauche du principe de fonctionnement

À l'ajout d'une ressource sur claroline, la ressource est analysée pour vérifier les règles fixées par l'administrateur. Chaque ressource est placée dans une file de premier traîtement

Les tâches de la file de prétraitement ont pour but d'examiner chaque ressources présente dans l'espace temporaire de réception en vue d'une mise à disposition.

On verifie alors la ressource (le secure_upload_file) par rapport aux règles de placement. Chaque règle de placement dispose d'un classement initial et d'un éventuel déplacement différé. Le déplacement différé est annoncé dans une deuxième file de traitement. La règle de placement correspond à l'actuelle déplacement de l'espace temporaire de réception à l'emplacement affiché dans l'outil. Le déplacement quant à lui ressemble à un "renommage/déplacement" avec traceur. La ressource est physiquement déplacée mais rien n'y parrait dans l'interface..

La cible de ce déplacement peut-être atteinte par copie locale, nfs, imap, ftp, rsync, .... Le déplacement différé se divise en 2 étapes, l'ordre déplacement, et le controle de déplacement. L'ordre déplacement déclenche une copie de la ressource. et le controle lui détecte la ressource sur sa destination, procède à une vérification (checksum) et déclenche le remplacement de l'origine par un pointeur sur la cible.

En cas de déplacement à durée indétermin(ée/able) (temps entre les 2 parties plus grand qu'en temps d'éxécution d'un script) la deuxième étape pourrait être passive ou active.

  • Passive: 2eme étape tentée periodiquement (par claroline) jusqu'a réussite ou abandon.

  • Active: 2eme étape déclenchée par le récepteur.

Extention de l'idée.

La création d'un spool de traitement pourrait s'enrichir d'autres « tâches » telles que

  • la génération de miniatures pour les images,

  • de calculs d'informations,

  • détection de virus sur fichiers sensibles,

  • convertion de format des documents propriétaires vers des format standards,

  • de document sources vers des format rendus (latex, docbook , ...)

  • Détection de fichiers lourds avec suggestions d'amélioration à l'auteur

  • Envoi de documents à la duc(oula c vieux pour que je parle de la duc -> le machin qui sert pour l'impression des syllabus à l'ucl) ,,,

  • ...