Le Canal Stockage évolue pour devenir Esup File Manager (anciennement Esup Portlet Stockage) et apporter de nouvelles fonctionnalités.

Portlet JSR168, utilisation de Esup Commons V2  allié à Spring MVC, Web 2.0, interface WAI, interface pensée pour mobiles et interaction avec ESUP-ECM (support de CMIS) font parties des points importants de cette évolution.

La version esup-filemanager 2.2.2 est maintenant disponible.

Spécifications

On peut retrouver les premières spécifications d'Esup File Manager ici .

Fonctionnalités

TODO

Téléchargement

Vous pouvez trouver la dernière version d'esup-filemanager archivée sur sourcesup :

https://sourcesup.renater.fr/frs/download.php/4175/esup-filemanager-2.2.2.tgz

Gestion des sources

Afin de faciliter la collaboration autour de ce projet, nous utilisons GITHUB pour gérer le développement d'esup-filemanager :

https://github.com/EsupPortail/esup-filemanager

  1. esup-filemanager-portlet_1_0 branch
    Branche de développement de la version compatible "portlet 1.0" (JSR 168) - les releases d'esup-filemanager en 2.x.x proviennent de cette branche directement.
    [pour infos : voir ci-dessous comment appeler mvn jetty:run pour tester rapidement cette version]
  2. master branch
    Branche de développement pour les futures versions d'esup-filemanager - elle utilise "portlet 2.0" API (JSR 286) - ces futures versions seront taguées en 3.x.x.
    [pour infos : sur cette version d'esup-filemanager vous ne pouvez plus appeler mvn jetty:run pour tester rapidement esup-filemanager - en lieu et place utilisez la commande mvn portlet-prototyping:run]

Déploiement Test - Servlet

Une fois dézippée, vous pouvez directement tester esup-filemanager ... en mode servlet !

Pour cela il vous faut avoir un apache maven de disponible sur votre machine, en ligne de commande et depuis le répertoire dans lequel se trouve le fichier pom.xml tapez simplement

mvn clean jetty:run

Depuis un navigateur, vous pouvez alors appeler une URL du type :

http://localhost:8080/esup-filemanager/servlet-ajax/

Notez que le "drive" Bob correspond à file:/// par défaut.

Note: le mode servlet d'esup-filemanager est un mode "dégradé" de cette application, en effet en mode servlet vous ne bénéficiez pas :

  • du CAS : la servlet n'est pas cassifiée ; la portlet fait du proxy-cas.
  • de l'interface accessible WAI 
  • de la vue mobile/smartphone 
  • de la récupération d'attributs utilisateurs depuis le portail (récupération des groupes comprise)

Aussi voyez le mode servlet comme une facilité de mise au point, de développement d'esup-filemanager qui reste (actuellement en tout cas) destinée à fonctionner en portlet JSR168.

Déploiement Portlet - Esup v4 / uPortal 4

La procédure est la même qu'en Esup v3 / uPortal 3.

A noter :

En version inférieure à 3.0.0, le contexte esup-filemanager (servlet) a besoin de partager des objets en session avec le contexte uPortal (servlet).
Aussi merci de vérifier que vous avez bien défini des attributs emptySessionPath="true" dans le/les Connector AJP/HTTP de server.xml du Tomcat
Pour plus de détails, voir la configuration du wiki Jasig à ce propos : https://wiki.jasig.org/pages/viewpage.action?pageId=29133275
Cela sous peine d'obtenir une erreur du type :

ERROR servlet.ServletAjaxController afterPropertiesSet145 - When
isPortlet = true you can't use esup-filemanager with mode servlet
without use it first in portlet mode (for security reasons).
But if you're in portlet mode and you get this Exception, that sounds
like a bug because userParameters is not retrieved from portlet in the
servlet-ajax !

Déploiement Portlet - Esup v3 / uPortal 3

Les fichiers que l'exploitant est amené à modifier sont les suivant :

Pour déployer esup-filemanager en portlet dans un Esup / uPortal, vous devrez lancer une commande similaire à celle-ci :

mvn clean package ; cd /opt/uPortal-runn/ ; ant deployPortletApp -DportletApp=/home/esup/esup-filemanager/target/esup-filemanager.war

Déploiement Portlet - Esup v2 / uPortal 2

Nous avons testé le déploiement de la portlet sur un uPortal_rel-2-6-1-GA-quick-start de la même façon que pour une version 3, cela fonctionne bien.

Il faudra cependant faire attention aux points suivants :

Note: esup-filemanager peut fonctionner avec un JDK1.5 même si nous utilisons usuellement un JDK1.6 dans nos tests/développements et déploiements.

Portlet preferences

Lors de la publication de la portlet Esup File Manager dans le portail Esup / uPortal, vous pouvez (re)définir quelques préférences :

Une partie de ces préférences peut également être configurée par l'utilisateur lui-même si lors de la publication vous activez le mode Edit.

Sécurité

Rappel : faire fonctionner un ENT "en clair" (http) implique de fait que toutes les informations que l'on rend accessibles ou que l'on saisies dans l'ENT passent en clair, username/password potentiellement saisis dans la portlet Esup File Manager compris. On rappelle aussi que faire fonctionner un ENT en clair implique de faire circuler son cookie de session tomcat JSESSIONID en clair, ce qui peut permettre à un instant t (le temps de la session) une usurpation de session (session d'esup-filemanager comprise) ... cela suivant la sécurité/isolation du réseau utilisé ...

Support de webdav et cifs

esup-filemanager propose des implémentations spécifiques pour ces protocoles (s'appuyant sur les librairies Sardine et JCIFS).

Encodage / URIEncoding

esup-filemanager peut utiliser des requêtes HTTP en passant en paramètre HTTP le nom des répertoires ou fichiers.
En fait il ne le fait maintenant plus (V2 et supérieur) que lors de l'upload de fichiers en utilisant "XHR" : le navigateur fait alors bien un POST, mais le contenu de ce POST contient alors directement le contenu du fichier lui-même, alors que le nom du fichier est passé en paramètre HTTP, c'est à dire codé directement dans l'URL de la forme : "...&qqfile=lenom_du_fichier_qui_peut_avoir_des_accents_héhô.pdf"

esup-filemanager utilise UTF-8 dans l'ensemble de l'application, on considère cela comme une bonne pratique, malheureusement Tomcat utilise par défaut l'ISO-8859-1 pour ce qui concerne l'encodage des url en elles-mêmes.

Aussi, nous vous conseillons de configurer votre Tomcat pour utiliser l'UTF-8 comme encodage des urls.

Pour ce faire, dans votre fichier server.xml, ajoutez dans vos balises Connector l'attribut URIEncoding="UTF-8"

-> Nous estimons que c'est une bonne pratique à généraliser sur vos installations Tomcat.

Plus d'infos ici : http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q2

Screenshots

Annexes

Notes pour cassifier rapidement un service SFTP

Montage d'espaces Windows

Remarques et demandes d'évolution

Présentation (Vidéo et Slides) lors de Esup Days n°11 "Nouveau canal stockage"

English page on jasig.org.

Contacts

Merci de vous abonner et d'utiliser la liste mail "esup-utilisateurs" pour nous contacter (problèmes techniques notamment) :

https://listes.esup-portail.org/sympa/info/esup-utilisateurs

Crédits & Licence

Copyright (C) 2012 Esup Portail http://www.esup-portail.org
Copyright (C) 2012 UNR RUNN http://www.unr-runn.fr
Copyright (C) 2012 RECIA http://www.recia.fr
@Author (C) 2012 Vincent Bonamy <Vincent.Bonamy@univ-rouen.fr>
@Contributor (C) 2012 Jean-Pierre Tran <Jean-Pierre.Tran@univ-rouen.fr>
@Contributor (C) 2012 Julien Marchal <Julien.Marchal@univ-nancy2.fr>
@Contributor (C) 2012 Julien Gribonvald <Julien.Gribonvald@recia.fr>
@Contributor (C) 2012 David Clarke <david.clarke@anu.edu.au>
@Contributor (C) 2012 BULL http://www.bull.fr
@Contributor (C) 2012 Pierre Bouvret <pierre.bouvret@u-bordeaux4.fr>
@Contributor (C) 2012 Franck Bordinat <franck.bordinat@univ-jfc.fr>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
        http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.