Vous regardez une version antérieure (v. /wiki/display/PROJ/Esup+File+Manager) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 22) afficher la version suivante »

Le Canal Stockage évolue pour devenir Esup Portlet Stockage (Portlet JSR168) et apporter de nouvelles fonctionnalités. Utilisation de Esup Commons V2  allié à Spring MVC, Web 2.0, interdace 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-portlet-stockage-1.0.0 est maintenant disponible.

Spécifications

On peut retrouver les spécifications d'Esup Portlet Stockage ici .

Fonctionnalités

  • full ajax pour les navigateurs (utilisation de jquery, upload via jquery également).
  • interface WAI (accessible) spécifique
  • look (et ergonomie) portlet mobile spécifique sans ajax : on propose une navigation simple pour consultation uniquement (pas de copier/coller/uploads ...)
  • copier/couper/coller, renommage, création de répertoire, upload/download de fichier.
  • copier/couper/coller inter-serveurs
  • utilisation de apache commons vfs pour l'accès aux serveurs de fichiers et donc supporte théoriquement les différents files systems supportés par vfs : cf http://commons.apache.org/vfs/filesystems.html -> la configuration du serveur utilise pour uri le format vfs ( file:///home/bob fonctionne par exemple );
  • support de CMIS via Apache Chemistry (connexion avec Esup-ECM/Nuxeo disponible)
  • pensé techniquement pour pouvoir implémenter d'autres supports que via apache commons vfs et Apache Chemistry
  • utilise au mieux spring v3, mvc (2.5 pour la portlet), les annotations, etc.
  • propose un fichier de configurations pour les différents serveurs / "drives" disponibles (en portlet, peut être fonction de l'appartenance à un groupe ou/et de la présence d'un "token" dans les préférences du context de la portlet).
  • supporte 4 modes d'authentification : pas d'authentification, authentification username/password donné en dur dans le fichier de configuration, authentification username/password récupéré de l'utilisateur par un formulaire,  authentification proxy cas en portlet via uPortal (testé et validé sur du sftp cassifié).
  • supporte également une authentification supplémentaire spécifique pour Esup-ECM (Nuxeo) doté du plugin nuxeo-platform-login-shibboleth : propagation d'authentification via les entêtes HTTP, méthode similaire à ce que fait le mod shib d'apache avec nuxeo-platform-login-shibboleth

TODO

  • Tests et documentations pour support Webdav et CIFS (l'idée est d'utiliser le sandbox de VFS)

Téléchargement

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

https://sourcesup.cru.fr/frs/?group_id=206

Dépôt subversion

La version en cours de développement est actuellement la branche esup-portlet-stockage :

https://subversion.cru.fr/esup-stockage/branches/esup-portlet-stockage

La dernière version taguée est également disponible par subversion ici :

https://subversion.cru.fr/esup-stockage/tags

Déploiement Test - Servlet

Une fois dézippée, vous pouvez directement tester esup-portlet-stockage ... 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-portlet-stockage/servlet-ajax/

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

Note: le mode servlet d'esup-portlet-stockage 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-portlet-stockage qui reste (actuellement en tout cas) destinée à fonctionner en portlet JSR168.

Déploiement Portlet - Esup v3 / uPortal 3

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

  • src/main/webapp/WEB-INF/context/drives.xml
    C'est le fichier de configuration principale de l'application, il vous permet de définir les catégories et les drives ("serveurs") associés.
    Pour un usage en portlet, donnez dans ce fichier la valeur java.lang.Boolean.TRUE à la constante  isPortlet
  • src/main/webapp/WEB-INF/portlet.xml
    Les balises user-attribute peuvent être à modifier selon votre configuration.
  • src/main/webapp/WEB-INF/web.xml
    Si vous souhaitez utiliser une authentification ProxyCas, vous devrez indiquer l'adresse de votre serveur CAS dans web.xml

Pour déployer esup-portlet-stockage 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-portlet-stockage/target/esup-portlet-stockage.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 :

  • le ant deployPortletApp permet comme en V3 (en plus de déployer le war) de modifier comme nécessaire le web.xml en y spécifiant les paramètres pluto adéquates. le web.xml ainsi modifié nous indique que le guid est positionné à esup-portlet-stockage.esup-portlet-stockage  -> utile à savoir pour la publication de la portlet en 2.6
  • le tomcat d'uPortal 2.6 de ce quickstart embarque déjà un jstl-1.1.2.jar dans ses librairies (shared/lib de tomcat) aussi il faut supprimer la librairie esup-portlet-stockage/WEB-INF/lib/jstl-1.2.jar sous peine d'obtenir des exceptions du type javax.servlet.ServletException: javax/el/ELException (la portlet ne fonctionnant alors pas).

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

Activation du support de webdav et cifs - utilisation de sandbox-vfs

A partir de esup-portlet-stockage-1.0.0, il est possible d'activer simplement le support de webdav et cifs via sandbox-vfs (http://commons.apache.org/vfs/filesystems.html ).

Pour ce faire, il suffit d'utiliser le profil maven vfs-sandbox dans esup-portlet-stockage.

Ainsi la commande mvn clean jetty:run devient mvn clean jetty:run -P vfs-sandbox

De même la commande mvn clean package devient mvn clean package -P vfs-sandbox

Vous pouvez alors utiliser des uri du type smb://somehost/home(cifs) ou encorewebdav://somehost:8080/dist(webdav)

Notez que le support de webdav et cifs dans esup-portlet-stockage via sandbox-vfs n'a pas encore été testé de manière conséquente, et que le sandbox-vfs n'est pas distribué sur les entrepôts officiels maven (nous vous l'avons rendu aceesible via l'entrepôt maven esup pour votre convenance). Aussi n'hésitez pas à nous faire des retours sur vos expérimentations.

Screenshots

Annexes

Notes pour cassifier rapidement un service SFTP.

English page on jasig.org.

  • Aucune étiquette