Installation esup-example-quick-start portlet
Transcription
Installation esup-example-quick-start portlet
Installation d’esup-example-quick-start (en portlet) L’installation d’esup-example-quick-start en portlet est très proche de celle pour servlet, seuls quelques fichiers de configuration et la façon de l’exécuter différent. La première partie de cette installation reprend toute la procédure comme si vous n’aviez pas installé esup-example-quick-start en servlet précédemment. La deuxième partie expliquera comment transformer son ‘example-quick-start servlet’ en ‘example-quick-start portlet’. Puis nous finirons sur la procédure d’utilisation de la portlet dans esup-portail. 1er partie : installation complète : Pré requis : avoir installé l’environnement esup-portail (par exemple esupdev2.5) Il faut tout d’abord installer esup-commons et esup-example sur Eclipse (voir site esup-commons) Téléchargez esup-example-quick-start sur le site d’esup-commons. Le dézipper dans un répertoire esup-example-quick-start (par exemple dans c:/devel/esup-example-quick-start si esup-commons est dans c:/devel/esup-commons). Sous Eclipse, faire un nouveau projet java depuis le répertoire c:/devel/esup-example-quickstart et appeler le projet esup-example-quick-start bien sur. Cliquer sur Next, puis dans l’onglet ‘projet’ ajouter le projet esup-commons et cliquer sur Finish. Vérifier que le répertoire source pour le projet est bien esup-example-quick-start/src (clic droit sur le projet, buildPath, ConfigureBuildPath, onglet Source) le modifier si ce n’est pas le cas. Vous avez maintenant votre projet sous eclipse. Ensuite, il faut suivre les étapes suivantes : -‘récupérer’ tous les fichiers ‘properties’ : Dans les répertoires du dossier ‘properties’ se trouve des fichiers de configuration (xml), ex : auth-example.xml qu’il faut copier renommé sans ‘-example’. Faire cette manipulation pour tous les *-example.xml du dossier properties (de cache-example.xml à tags-example.xml en passant par init-example.xml) -dans webapp/WEB-INF copier web-portlet-example.xml en web.xml -à la racine copier build-quick-start-example.properties en build.properties. Puis le modifier de la manière suivante : décommenter ‘quick-start=true’ ou le mettre à false ; ajouter ‘deploy.type=portlet’ ainsi que les variables deploy.home (votre ‘uportal-quickstart/webapps’ de l’installation d’esup-portail auquel vous rajoutez ‘/esup-example’) et tomcat.home (votre ‘uportal-quick-start/tomcat’ de l’installation d’esup-portail) correctement renseignées. -copier le repertoire properties/auth d’esup-commons dans le repertoire properties de votre esup-example-quick-start et copier auth-example.xml en auth.xml. Faites de même pour le répertoire urlGeneration, et le répertoire export ( export est présent dans le projet esupexample) -configurer properties/dao/hibernate/hibernate-cfg.xml pour donner le nom de sa base mysql (esup-example par exemple ) et son login/password de connection à Mysql. -dans urlGenerator.xml enlever le suffixe .portlet de urlGenerator.portlet dans l’id du bean. Si on choisissait de déployer en servlet il faudrait enlever le .servlet et non le .portlet -mettre son login nancy2 dans le init.xml à la property du nom « firstadministratorId ». Ce login deviendra celui de l’administrateur dans la base MySql. -ajouter le keystore esup.portail.keystore dans utils/cas et faire la modification dans build.properties pour que tomcat.keystore prenne ce keystore - La manipulation qui suit évite de se connecter au ldap pour créer l’admin dans la base MySql ; cependant vous n’êtes pas obligé de la faire si vous effectuez les modifications du ldap.xml décrites à la fin du tuto: dans src/org/esupportail/example/domain/DomainServiceImpl.java et dans la méthode getUser(), commenter les lignes : LdapUser ldapUser = this.ldapService.getLdapUser(id) ; Et setUserInfo(user,ldapUser) et remplacer user.setId(ldapUser.getId()) ; par user.setId(id) ; -lancer le ant init pour remplir la base Mysql (penser à créer la base dans MySql avant) Rappel : les informations sur cette base sont dans le properties/dao/hibernate/hibernatecfg.xml Si tout se passe bien, 5 tables ont été créées dans votre base MySql et notamment la table ‘d_user’ qui contient une ligne avec votre login nancy2 dans la colonne id et 1 pour la valeur de la colonne ‘admi’ -modifier le domain.xml pour avoir comme ‘uploadDirectory’ le répertoire c:/temp -dans portal.xml changer l’id du bean portalService.portet en portalService. -Vérifiez que vous avez le bean ‘remoteInformation’ dans domain.xml. Si ce n’est pas le cas c’est que vous n’avez pas la dernière version de ce fichier. Récupérez donc la déclaration de ce bean dans le domain.xml du projet esup-example par exemple et coller la avant la balise </beans> à la fin du fichier. -modifier web.xml pour avoir ‘auth.univ-nancy2.fr’ à la place de ‘cas.domain.edu’. -modifier urlGereneration.xml pour avoir ‘https://auth.univnancy2.fr/login ?service=%s’ pour la property ‘casLoginUrl’ ; ‘esup-example’ pour ‘uportalFunctionnalName’ et ‘http://auth.univ-nancy2.fr/Login’ pour’uportalUrl’ -Dans ldap.xml : Modifier la valeur de la properties ‘url’ ; elle passe de ‘ldap://ldap.esup-portail.org :389’ à ‘ldap://ldap1.univ-nancy2.fr:392’. Modifier la valeur de la properties ‘base’ ; elle passe de ‘ou=people,dc=esup-portail,dc=org’ à ‘dc=univnancy2,dc=fr’ -rajouter le fck-faces-1.7.26.jar dans le webapp/web-inf/lib -copier le fichier webapp/WEB-INF/portlet-example.xml en portlet.xml -Vous pouvez passer à l’étape 3. 2em partie : passage du déploiement servlet en portlet : Pré requis : avoir installé l’environnement esup-portail (par exemple esupdev2.5), ainsi qu’esup-example-quick-start en servlet. Voici comment modifier votre projet eclipse esup-example-quick-start configuré en servlet pour le déploiement portlet : -Dans webapp/WEB-INF sauvegarder le fichier ‘web.xml’ en ‘web-servelt.xml’ et copier le ‘web-portlet-example.xml’ en ‘web.xml’ -Toujours dans webapp/WEB-INF copier le fichier ‘portlet-example.xml’ en ‘portlet.xml’ -Dans properties/urlGeneration/ sauvegarder le fichier ‘urlGeneration.xml’ en ‘urlGeneration-servlet.xml’ et modifier ‘urlGeneration.xml’ de la manière suivante : remettre l’id du bean ‘urlGenerator’ en ‘urlGenerator.servlet’, et mettre l’id du bean ‘urlGenerator.portlet’ en ‘urlGenerator’. Puis modifier pour avoir ‘https://auth.univnancy2.fr/login ?service=%s’ pour la property ‘casLoginUrl’ ; ‘esup-example’ pour ‘uportalFunctionnalName’ et ‘http://auth.univ-nancy2.fr/Login’ pour’uportalUrl’ -Dans properties/portal/ sauvegarder le fichier ‘portal.xml’ en ‘portal-servlet.xml’et modifier ‘portal.xml’ de la manière suivante : remettre l’id du bean ‘portalService’ à ‘portalService.servlet’ et mettre l’id du bean ‘portalService.portlet’ à ‘portalService’. -Dans properties/domain sauvegarde le fichier ‘domain.xml’ en ‘domain-servlet.xml’ et modifier ‘domain.xml de la manière suivante : remettre ‘esup-example/’ entre ‘localhost :8080/’ et ‘xfire/Information’ dans les property ‘wsdlDocumentUrl’ et ‘url’ du bean ‘remoteInformation’. -modifier le fichier ‘build.properties’ de la manière suivante : commenter la ligne quick-start=true (ou mettre quick-start=false), ajouter ‘deploy.type=portlet’ ainsi que les variables deploy.home (votre ‘uportal-quick-start/webapps’ de l’installation d’esup-portail auquel vous rajoutez ‘/esup-example’) et tomcat.home (votre ‘uportal-quick-start/tomcat’ de l’installation d’esup-portail) correctement renseignées. -Vous pouvez passer à l’étape 3. 3em partie : Installation de la portlet dans esup-portail : C’est fini, vous pouvez déployer l’application grâce à la tache ant ‘deploy’ qui va déployer l’application dans le webapps de votre tomcat installé pour esup-portail (que vous avez indiqué dans le build.properties). Assurez vous ensuite que le fichier ‘esup.properties’ d’esup-portail’ est bien configuré pour la ldap (à ‘true’ plus le host, le port et baseDN), le cas (à ‘true’ plus le host), et le hostvirtuel(‘localhost’ et ‘:8080’ pour le ‘host’ et le ‘port’). Ajouter le context de la portlet dans le conf/server.xml du tomcat d’esup-portail. Vous pouvez maintenant lancer votre esup-portail (‘start-esup.cmd’ peut-être précédé de ‘ant esup.init’ et ‘ant esup.deploy’ si vous venez juste de modifier le ‘esup.properties’. Il ne reste plus qu’à vous connecter au portail (localhost :8080/uPortal en général) à importer la portlet (‘publish a new channel’) et à l’ajouter à votre page d’accueil (menu préférences). A noter que dans ces conditions (portlet), vous ne disposerez pas de la css de la servlet car une portlet ne peut importer une css. Cependant vous pouvez modifier la css destinée au portlet du portail : ‘webapps\uPortal\media\org\jasig\portal\layout\AL_TabColumn\integratedModes\esup\skin\ esup_portlet.css’ En y remplaçant le code par celui de ‘webapps\esup-example\media\portlet.css’ (puis il faut également y changer le path vers l’image banner.jpg en ‘../skin/images/banner.jpg’)et en copiant le répertoire images de ‘webapps\esup-example\media’ dans ‘webapps\uPortal\media\org\jasig\portal\layout\AL_TabColumn\integratedModes\esup\skin’. Vous aurez maintenant la bonne css pour votre portlet mais cela affectera toutes les portlets du portail