Non disponible dans Apache Commons VFS par exemple mais certainement possible avec les dernières bibliothèques de JSCH par exemple pour SFTP (cf SftpStatVFS), la récupération de l'usage disque et du quota n'est pas vraiment standardisé.
Aussi esup-filemanager propose ici également une architecture souple permettant au développeur d'implémenter sa propre récupération de quota.
Un exemple est donné avec QuotaServiceSimpleWS (cf l'exemple de drives.xml donné par défaut) qui attend en paramètre une url de "Web Service" permettant de récupérer l'espace disque utilisée et l'espace disque maximum d'un utilisateur.
- les données sont attendus en octets,
- dans un format text/plain simple
- sur une seule ligne
- avec l'espace disque utilisée en octets et l'espace disque maximum séparé par un espace
Sur linux par exemple, on peut imaginer implémenter un tel "web service" en cgi-bin avec un simple bash comme ceci :
#!/bin/bash
echo "Content-type: text/plain"
echo ""
uid=$QUERY_STRING
echo -n $(sudo quota -w -u $uid | tail -n 1 | awk '{print $2*1024 " " $3*1024}')
Le résultat d'une requête qui serait du type :
http://stock-2.mon-univ.fr/cgi-bin/quota.sh?toto
pourra être ainsi :
193933312 433659904
Ces éléments récupérés, EsupFilemanager pourra ainsi les afficher à l'utilisateur (dans le bloc détails).