Pages enfant
  • Remarques et demandes d'évolution

Passage/portage de servlet à portlet ?

Avec l'abandon pogressif des portlets, la question du portage d'esup-filemanager en servlet se pose.

Par rapport aux autres outils disponibles et utilisées actuellement dans les établissements (outils de type drive notamment), on peut cependant se demander si le développement et la mise à disposition d'esup-filemanger apporte encore aujourd'hui (en 2020) une réelle plus-value ? 

Remarques et Demandes d'évolution du RECIA :

Contexte du RECIA : Principalement accès à des espaces multiples samba avec des résolutions DFS.

  • Si un chemin d'accès n'est pas joignable le drive n'affichera pas son contenu et finira avec une erreur affichée à l'utilisateur, après avoir changé de drive et en revenant sur le drive à problème une erreur "Internal servlet error" est affichée rendant le fonctionnement du portlet instable. De notre côté nous avons intercepté les erreurs en ne retenant à l'affichage que les espaces sans problème, aucune erreur ne sera affichée à l'utilisateur, mais des messages de log sont générés. Mais la question à se poser est que faire des chemins d'accès posant problème, les lister et les afficher dans une box à l'utilisateur pour qu'il transmette ces problème à un admin ? envoyer un mail d'erreur à l'admin de l'application ? ou juste se contenter des messages de log ?  => La contribution CIFS règle en partie ces problèmes, qui sont interceptés, mais il reste à savoir si la gestion qui en est faite est la bonne, car ne pas afficher les répertoires/fichiers à problème est une solution, mais les gestion des erreurs et de leur log serait sûrement à améliorer, les questions précédentes se posent donc toujours (envoie d'un mail au gestionnaire du portlet ? etc...). -> vincent: l'envoi d'un mail au gestionnaire lorsqu'une erreur survient peut se faire via la configuration d'un SMTPAppender dans log4j simplement ; est-ce que cela ne suffirait pas ? Si mais il faudrait documenter un exemple.
  • Définir les droits d'accès sur des attributs utilisateur fourni par le portail et récupéré via le request.getAttribute("isMemberOf") par exemple. Par contre cela nécessite de modifier l'appel Map userInfos = (Map) request.getAttribute(PortletRequest.USER_INFO); en Map userInfos = (Map) request.getAttribute("org.jasig.portlet.USER_INFO_MULTIVALUED"); (cf jira https://issues.jasig.org/browse/UP-933) d'une part pour récupérer les attributs utilisateur multivalués, puis d'interpréter le map comme un map <String, List>. Ainsi après on peut faire une vérification sur une valeur de l'attibut égale à une valeur définie dans le drive ou on peut imaginer un match avec une regex. qu'en dis tu Vincent ? l'amélioration n'est pas négligeable pour nous quand on a plus de 100 drive défini sur des groupes (temps de chargement largement amélioré car on publie dans les attributs utilisateur de notre ldap les groupes dont l'utilisateur est membre). -> cf PR #23 

https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=8312&group_id=251&atid=1114

Remarques et Demandes d'évolution de l'Université de Rennes 1 :

  • Les remarques concernent l'intégration avec ESUP-ECM (Suite à une discussion entre Vincent et Raymond à Paris le 15/03/2011) :
    • Permettre la possibilité, depuis un "répertoire ECM" de la portlet, d'accéder à Nuxeo dans l'espace idoine (Notamment pour avoir accès à la gestion des droits si on est administrateur)
    • Offrir la possibilité de lancer une recherche depuis un "drive ECM" en utilisant le langage de recherche CMIS

Remarques et Demandes d'évolution de l'UNR RUNN :

  • pouvoir faire de l'authentification transparente sur des partages windows cifs - cassifié un partage windows ne devant pas être faisable (!), pourrait-on envisager du coup quelque chose avec Kerberos ... ? Le pendant du "proxy cas" se nommant le "double hop", c'est à dire la délégation d'authentification à la kerberos.  Des pistes autour de SAML et Windows sont également à étudier ...   ClearPass de Jasig/CAS est une solution fonctionnelle.
  • Permettre aux Android d'uploader des fichiers (puisque Android permet de faire des upload depuis le navigateur web, l'iphone ne le permet pas).
  • Améliorer la gestion de la session sur les serveurs de fichiers, notamment via authentification en proxy CAS :
    • cas 1 :deux serveur sftp cassifié en répartition de charge derrière la portlet. Si l'un des deux tombe, toutes les connexions basculent sur le serveur survivant et les utilisateurs qui ont migré d'une machine vers l'autre n'ont plus accès à leur espace de stockage : l'authentification proxy cas n'est pas rejoué
      cas 2 :
      que se passe t'il si la session sftp (avec authentification proxy cas) est fermée après un temps d'inactivé sur la portlet ; pas sûr qu'esup-filemanager redemande un Proxy Ticket à base du PGT pour ré-ouvrir une session sftp en proxy cas ...
      -> la contribution d'Olivier Franco (Insa Lyon) permet de bien gérer ce problème de réauthentification CAS normalement : https://github.com/EsupPortail/esup-filemanager/commit/faf8d8ec60d -> OK en 3.0.0 ...
  • Proposer, dans le Mode Help portlet, des pages d'aide sur l'utilisation de la portlet, notamment y expliquer les possibilités de Drag N Drop de la vue standard par exemple (on peut même imaginer réaliser et intégrer un webcast).
  • Vérifier / améliorer la possibilité de cacher les fichiers/dossiers dits cachés (en .* par exemple), l'implémentation faite en VFS ne semble pas bien fonctionner -> proposer une méthode de détection des fichiers/dossiers cachés propre à Esup File Manager via une regexp (configurable par l'administrateur): en VFS 1.0, ce n'est effectivement implémenté que pour les fichiers locaux -> on estime que les fichiers cachés sont ceux dont les noms commencent par un point -> ok pour les fichiers cachés unix donc ... (quid en VFS 2.0 utilisé maintenant par esup-filemanager 2.2.0 ?)
  • Ajouter la lecture de videos via HTML5 (et player flash si non supporté ...)
  • Le client FTP utilisé par la librairie VFS 1.0) embarquée dans EsupFilemanager utilise ISO-8859-1 (codé en dur) : https://issues.apache.org/jira/browse/VFS-305
    -> en FTP, EsupFilemanager stocke les fichiers avec des noms codés en Latin-1 ( ISO-8859-1 ), cela même si le serveur FTP est configuré pour faire de l'UTF-8 :(
    -> esup-filemanager 2.2.0 utilise maintenant VFS 2.0 ->modulo le bug suivant https://issues.apache.org/jira/browse/VFS-413 ce serait ok dans la prochaine version ...
  • Proposer une option dans les préférences pour permettre la suppression récursive d'un dossier entier (non vide)
  • Supporter d'autres raccourcis/évènements clavier que ceux actuellement supportés
    • naviguation dans un répertoire de fichier à fichier avec les flèches bas/haut
    • sélectionner plusieurs fichiers avec Shift (et pas seulement Ctrl)
    • supprimer un fichier avec Suppr
    • ... ?  -> OK en 2.2.1

Remarques et Demandes d'évolution Université Aix-Marseille II :

  • Le canal de stockage passait automatiquement en mode sécurisé pour saisir un mot de passe, ce n'est actuellement pas le cas de la portlet esup file manager.
    Les services nécessitant une authentification doivent être en HTTPS de bout en bout - ne serait-ce que pour éviter le vol des cookies de session lors de l'usage de wifi non sécurisé par exemple.

Retours Univ-Nantes

Retours Lille3

  • Documentation HTML (simple, "digeste") pour prise en main du fichier de conf drives.xml.

Retours Université Paris 1

  • Après un reload de la webapp esup-filemanager, les SardineAccessImpl ne fonctionne plus, il semble que ça vienne d'un conflit entre xml-api et xercesImpl -> supprimer xercesImpl semble résoudre le problème - https://listes.esup-portail.org/sympa/arc/esup-utilisateurs/2012-11/msg00008.html
  • Proposition Intégration ENT-Nuxeo plus évoluée (Anli) :
    • permettre la gestion des droits d'accès des espaces Nuxeo via esup-filemanager.
      Un utilisateur qui aurait le droit de partager un dossier devrait pouvoir le faire au travers esup-filemanager.
      On pourrait ainsi avoir un outil intégré dans l'ENT disposant des fonctions de base d'une GED.
    • CMIS permettrait de le faire mais on dirait que Nuxeo n'implémente pas cette fonctionnalité.
      Voir http://fr.wikipedia.org/wiki/CMIS#cite_note-NuxeoCapabilities-9
      A voir si les nouvelles versions de Nuxeo n'ont pas comblé cette lacune. Sinon, la combler nous-même...
    • Bien sûr, pas mal de questions vont se poser (recherche utilisateurs, groupes, ...) mais je crois qu'on pourra trouver des solutions qui ne seraient pas trop intrusives pour esup-filemanager en externalisant ces fonctions via des web-widgets, par exemple.

Retours Université de Perpignan

  • Avec un drive défini via une property "'uri" valuée à "sftp://smb.univ.fr/home/groupes/@departmentNumber@/", un attribut departmentNumber multi-valué ne permet pas de monter autant de drives qu'il y a de valeurs pour le departmentNumber.

  • Cela permettrait d'éviter de lister tous les drives dans le fichier drives.xml et d'avoir quelque chose de dynamique (et une conf bien plus light et générique).

Demande École Centrale de Marseille :

  • La possibilité de masquer des dossiers/fichiers (autre que les fichiers cachés au sens Unix) définis dans une préférence (ou property) est-elle envisagée?
  • Problème rencontré: si sur le serveur ssh/sftp il y a un authorized_keys avec une clefs protégée, la connexion échoue avant de passer à la méthode "password". Il serait bon de pouvoir forcer la méthode avec SftpFileSystemConfigBuilder.getInstance().setPreferredAuthentications(fsOptions, "password"); dans la classe VfsAccessImpl.

 

  • Aucune étiquette

2 commentaires

  1. utilisateur-c42c5 dit :

    Merci d'ouvrir vos demandes ici : https://github.com/uPortal-contrib/esup-filemanager

    Aussi toutes les contributions sont les bienvenues, il n'y a pas de temps alloué actuellement et à ma connaissance pour le développement de nouvelles fonctionnalités sur ce projet.

  2. Bonjour Julien,

    C'est noté.

    Clément