Projets

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

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é à JSR286, Spring MVC Portlet, Web 2.0, interface WAI, interface pensée pour mobiles (JQuery Mobile) et interaction avec ESUP-ECM (support de CMIS) font parties des points importants de cette évolution.

La version esup-filemanager 23.2.2 est 0 est maintenant disponible.

Spécifications

...

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

https://github.com/uPortal-contrib/esup-filemanager/releases

Depuis la version 3.1.1, vous pouvez également retrouver une version packagée sur le maven central : 

https://repo1.maven.org/maven2/org/esupportail/portlet/filemanager/esup-filemanager/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/EsupPortailuPortal-contrib/esup-filemanager

  1. master branch
    Branche de développement d'esup-filemanager - elle utilise "portlet 2.0" API (JSR 286).

  2. esup-filemanager-portlet_1_00 branch (déprécié) 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]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.La version 2.2.2 sortie fin 2012 devrait être la dernière version issue de cette branche et donc la dernière version supportant "portlet 1.0", c'est à dire compatible avec les ENT Esup/uPortal de version inférieur à 4.x.
    [pour infos : sur  sur cette version d'esup-filemanager vous ne pouvez plus appeler mvn devez appeler mvn jetty:run pour  pour tester rapidement esup-filemanager - en lieu et place utilisez la commande mvn portlet-prototyping:run]

Déploiement Test

...

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

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

Bloc de code
mvn clean jettyportlet-prototyping:run

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

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

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

Volet

Note: le ce mode servlet de fonctionnement d'esup-filemanager embarqué dans un pluto 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 Ce mode est donc une facilité de mise au point, de développement d'esup-filemanager qui reste (actuellement en tout cas) destinée à fonctionner en portlet JSR168dans un ENT complet.

Déploiement

...

- Esup v4

...

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

A noter :

...

/ uPortal

...

4

...

Volet

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 :

Bloc de code
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 !

...

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 - pour les préférences portlet, privilégiez leur configuration lors de la publication de la portlet - esup-filemanager est pensé pour être publié plusieurs fois avec des configurations différentes.
  • 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

...

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

...

Portlet

...

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-filemanager.esup-filemanager  -> 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-filemanager/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-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.

Portlet Timeout

esup-filemanager fait les upload/download en utilisant les nouvelles possibilités de portlet2.0 et donc en passant par le portail/socle.
Le timeout positionné lors de la publication d'une portlet dans le portail est actif à la fois pour les uploads sans prendre en compte le fait qu'un échange de flux est en cours. Cela fait en effet l'objet d'un ticket sur le jira uPortal : https://issues.jasig.org/browse/UP-3552

Aussi, pour contourner ce problème, vous devez positionner un timeout (très) élevé lors de la publication d'esup-filemanager : positionné par défaut à 5000 (5 sec), vous pouvez le positionner par exemple à 7200000 (équivalent donc à 2 heures).

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é ...

...

Montage d'espaces Windows

Récupération et affichage du quota

Remarques et demandes d'évolution

...

Crédits & Licence

Copyright (C) 2012 2018 Esup Portail http://www.esup-portail.org
Copyright (C) 2012 2018 UNR RUNN http://www.unr-runn.fr
Copyright (C) 2012 2018 RECIA http://www.recia.fr
@Author (C) 2012 2018 Vincent Bonamy <Vincent.Bonamy@univBonamy@univ-rouen.fr>fr>
@Contributor (C) 2012 2018 Jean-Pierre Tran <Jean-Pierre.Tran@univTran@univ-rouen.fr>fr>
@Contributor (C) 2012 2018 Julien Marchal <Julien.Marchal@univMarchal@univ-nancy2.fr>fr>
@Contributor (C) 2012 2018 Julien Gribonvald <Julien.Gribonvald@reciaGribonvald@recia.fr>fr>
@Contributor (C) 2012 2018 David Clarke <david.clarke@anu.edu.au>clarke@anu.edu.au>
@Contributor (C) 2018 Pierre Bouvret <pierre.bouvret@u-bordeaux4.fr>
@Contributor (C) 2018 Franck Bordinat <franck.bordinat@univ-jfc.fr>
@Contributor (C) 2018 Pascal Rigaux <pascal.rigaux@univ-paris1.fr>
@Contributor (C) 2018 Olivier Franco <olivier.franco@insa-lyon.fr>
@Contributor (C) 2018 Maxime Bossard <maxime.bossard@recia.fr>
@Contributor (C) 2012 BULL http://www.bull.fr2018 Guillaume Colson <guillaume.colson@univ-lorraine.fr>
@Contributor (C) 2012 Pierre Bouvret <pierre.bouvret@u-bordeaux4.fr>2018 Denis Elbaz <denis.elbaz@univ-perp.fr>
@Contributor (C) 2012 Franck Bordinat <franck.bordinat@univ-jfc.fr>2018 Dominique Lalot <dominique.lalot@univ-amu.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.