Astuce | ||
---|---|---|
| ||
- cf "???" (phrase non terminée dans partie Utilisation) |
Sommaire :
Sommaire | ||
---|---|---|
|
...
Une des problématiques en mode portlet est liée au fait qu'une portlet s'exécute dans un contexte (Tomcat) différent de celui du portail. Il est ainsi impossible pour l'application d'accéder aux objets du portail, notamment pour récupérer les groupes et attributs utilisateurs (comme on le faisait avec de simple simples canaux uPortal (implémentations de l'interface IChannel)).
Principe
esup-commons s'appuie sur le projet esup-portal-ws (http://www.ja-sig.org/wiki/display/UPC/esup-portal-ws+-+a+web+service+to+publish+groups+and+user+attributes) pour l'accès aux informations du portail. Celui-ci est basé sur un web service :
...
Afin d'accéder aux groupes et attributs utilisateurs du portail, le développeur doit configurer le bean portalService dans le fichier de configuration Spring /properties/portal/portal.xml. Le bean portalService doit implémenter l'interface PortalService, qui possède les méthodes suivantes : ???
Une fois injecté (via Spring, par exemple dans un contrôleur), le bean portalService donne accès à toutes les informations voulues. Voici quelques exemples d'utilisation :
...
Voici enfin un exemple de configuration du bean portalService, en utilisant une implémentation qui offre des fonctionnalités de cache pour plus de performances :
Bloc de code |
---|
<bean id="portalService" class="org.esupportail.portal.ws.client.support.uportal.CachingUportalServiceImpl" > <property <property name="url" value="http://localhost:8080/services/UportalService" /> <property name="testUserId" value="paubry" /> <property name="testGroupId" value="local.0" /> <property <property name="testGroupName" value="Tous les groupes de personnes" /> <property name="cacheManager" ref="cacheManager" /> </bean> |
...
Dans le cas où le développeur ne souhaite pas utiliser l'accès aux informations du portail, il utilisera la configuration suivante :
Bloc de code |
---|
<bean id="portalService.servlet" class="org.esupportail.commons.services.portal.NotSupportedPortalServiceImpl" /> |
...