Pages enfant
  • Installation et configuration - Esup Annuaire2

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.

...

Vous pouvez récupérer les sources sur le dépôt Subversion de Sourcesup, à l'adresse suivante: https://subversion.crurenater.fr/esup-annuaire2/

Il est recommandé d'utiliser la dernière version (tags) ou le trunk.

...

Dans le répertoire WEB-INF, vous aurez le "porlet.xml" personnalisé (les éléments display-name et keywords).

Bloc de code

<?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>

...

  • ldap.alternateUrl correspond à un annuaire de secours. Si vous n'en possédez pas, reprenez l'Url de l'annuaire.
  • annuaire2.ldap.schema correspond au préfixe des classes implémentant une série d'interfaces pour permettre la gestion des Personnes, des Rôles, des Structures et des Etudiants (voir plus loin applicationContext.xml).
  • tomcat.port.string correspond par exemeple à ":8080".
Bloc de code

########################################################################
# 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"):

Bloc de code

<?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>

Déployer en mode portlet / servlet

  1. Depuis ce répertoire (annuaire2, à la racine de l'image des répertoires ci-dessus) , lancer un script avec les commandes suivantes (ici avec le trunk):

    Bloc de code
    svn co https://subversion.cru.fr/esup-annuaire2/trunk/esup-annuaire2
    zip -r packages/esup-annuaire2.zip esup-annuaire2/
    rm -rf esup-annuaire2/
    
  2. puis lancer un autre script avec les commandes suivantes:

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

    Commentaires:
    La cible "init" va partir du .zip construit par le script précédent pour y incorporer les fichiers que vous avec personnalisés, elle est constituée ainsi:

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

    Les propriétés utilisées sont celles-ci:

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

    La commande Maven "clean install" va créer un répertoire "target", compiler les différents modules de l'application
    On se place ensuite dans le module web de l'application.
    La commande Maven -DProduction=true clean package réalise la construction du ficher WAR.
    La suite, c'est l'assemblage dans un nouveau web.xml du web.xml livré dans le WAR avec le fichier portlet.xml.