Vous pouvez récupérer les sources sur le dépôt Subversion de Sourcesup, à l'adresse suivante: https://subversion.cru.fr/esup-annuaire2
Il est recommandé d'utiliser la dernière version (tags) ou le trunk.
Un établissement souhaitant adapter l'application à son annuaire Ldap (attributs spécifiques, règles de gestion particulières), devra écrire un nouveau module Maven en lieu et place de esup-annuaire2-ldep-services-lille1.
Nous recommandons d'enrichir le projet initial, en utilisant le SVN, de manière à mutualiser nos efforts.
L'écriture d'un tel module correspond à l'implémentation d'une série d'interfaces pour permettre la gestion des Personnes, des Rôles, des Structures et des Etudiants.
Pour mettre pleinement en œuvre la procédure ci-dessus dans le cadre d'un établissement, tout en gardant vos paramètres de configuration particuliers, vous pouvez suivre ces différentes étapes:
Dans le répertoire WEB-INF, vous aurez le "porlet.xml" personnalisé (les éléments display-name et keywords).
<?xml version="1.0" encoding="UTF-8"?> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <portlet-name>${portlet.name}</portlet-name> <display-name xml:lang="fr">esup-annuaire2</display-name> <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class> <!-- if you don'nt need mobile, you can change this first page to /stylesheets/desktop/welcome.xhtml --> <init-param> <name>javax.portlet.faces.defaultViewId.view</name> <value>/stylesheets/home.xhtml</value> </init-param> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> </supports> <supported-locale>fr</supported-locale> <supported-locale>en</supported-locale> <portlet-info> <title>${portlet.name}</title> <short-title>${portlet.name}</short-title> <keywords>esup-annuaire2</keywords> </portlet-info> </portlet> </portlet-app> |
Dans le répertoire properties, vous aurez le fichier config.properties de l'application personnalisé(les éléments ici laissés vides) .
Précisions:
######################################################################## # AUTHENTICATION # cas.url= ######################################################################## # CACHE # cache.path= ######################################################################## # DOMAIN # directoryMaintainerMail= ######################################################################## # EXCEPTIONS # exceptionHandling.email= ######################################################################## # LOGGING # log.level=debug log.output=file log.file= ######################################################################## # LDAP # ldap.url= ldap.alternateUrl= ldap.userDn= ldap.password= ldap.base=dc= ldap.testUserFilter=uid= annuaire2.ldap.schema= ######################################################################## # SERVER # tomcat.host= tomcat.port.string= ######################################################################## # SMTP # smtp.host= smtp.fromEmail= smtp.interceptAll= smtp.interceptEmail= |
Toujours dans le répertoire properties, vous aurez aussi le fichier applicationContext.properties (ici la variable annuaire2.ldap.schema utilisée est "Lille1"):
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <!-- /properties/applicationContext.xml The main Spring configuration file. This file should not be modified but by the developers. This file is referenced by /webapp/WEB-INF/web.xml. --> <context:property-placeholder location="classpath:/properties/defaults.properties,classpath:/properties/config.properties" /> <bean id="app_context" class="org.esupportail.commons.context.ApplicationContextHolder" /> <import resource="classpath*:META-INF/esup-annuaire2-domain-services-auth.xml" /> <import resource="classpath*:META-INF/esup-annuaire2-domain-services-domain.xml" /> <import resource="classpath*:META-INF/esup-annuaire2-ldap-services-ldapCommons.xml" /> <!-- Attention, dans un environnement de production, la substitution de variable ne s'applique pas aux imports Il est donc indispensable d'effectuer le remplacement de la variable annuaire2.ldap.schema manuellement --> <import resource="classpath*:META-INF/esup-annuaire2-ldap-services-ldapLille1.xml" /> <import resource="classpath*:META-INF/esup-annuaire2-ldap-services-locationUtilLille1.xml" /> <import resource="classpath*:META-INF/esup-annuaire2-utils-agentUtil.xml" /> <import resource="cache/cache.xml" /> <import resource="exceptionHandling/exceptionHandling.xml" /> <import resource="i18n/i18n.xml" /> <import resource="misc/abstractBeans.xml" /> <import resource="misc/application.xml" /> <import resource="smtp/smtp.xml" /> <import resource="tags/tags.xml" /> <import resource="web/controllers.xml" /> <import resource="ws/cxf.xml" /> </beans> |
svn co https://subversion.cru.fr/esup-annuaire2/trunk/esup-annuaire2 zip -r packages/esup-annuaire2.zip esup-annuaire2/ rm -rf esup-annuaire2/ |
ant init cd=`pwd` cd annuaire2 mvn clean install cd esup-annuaire2-web-jsf-mixed/ mvn -DProduction=true clean package cd /home/tomcat/portail/BUILD/esup-package ant portlet.deploy -DportletApp=/home/tomcat/portail/BUILD/applis/annuaire2/annuaire2/esup-annuaire2-web-jsf-mixed/target/esup-annuaire2-0.1.0.war cd $cd |
<target name="init" depends="unzip"> <copy overwrite="true" todir="${appli.base}/"> <fileset dir="custom" includes="**/*" /> </copy> </target> <target name="unzip"> <delete dir="${appli.base}"/> <delete dir="${appli.tmp}"/> <mkdir dir="${appli.tmp}"/> <unzip src="${appli.packages}/${appli.package-name}" dest="${appli.tmp}" /> <move todir="${appli.base}/"> <fileset dir="${appli.tmp}/${appli.name-version}"/> </move> </target> |
appli.name-version=esup-annuaire2 appli.package-name=${appli.name-version}.zip appli.name=annuaire2 appli.root=/home/tomcat/portail/BUILD/applis/${appli.name} appli.base=/home/tomcat/portail/BUILD/applis/${appli.name}/${appli.name} appli.tmp=${appli.root}/temp appli.packages=${appli.root}/packages |