Pages enfant
  • Installation et configuration - Esup Annuaire2

Vous regardez une version antérieure (v. /wiki/display/PROJ/Installation+et+configuration+-+Esup+Annuaire2) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 6) afficher la version suivante »

Récupération des sources

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.

Adaptation à l'établissement

Principes

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.

  • Les paramètres de configuration sont centralisés dans les fichiers defaults.properties et config.properties qui se trouvent dans le module esup-annuaire2-web-jsf-mixed (\src\main\resources\properties). Si le config.properties n'existe pas, créez le, il ne doit contenir que les éléments que vous souhaitez utiliser en lieu et place de ceux de defaults.properties.
    Prenez soin de ne jamais commiter config.properties car il peut contenir des éléments propres et sécurisés de votre établissement !
  • Pour bien maitriser ces paramètres, reportez vous aux beans Spring où ils sont invoqués... Ces beans se trouvent dans le module esup-annuaire2-web-jsf-mixed (\src\main\resources\properties),et aussi dans les répertoires \src\main\resources\META-INF\ des différents modules.

Personnaliser le déploiement

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:

  1. Si ce n'est déjà fait, mettre en place un espace de BUILD qui soit différent de la production.
  2. Créer dans cet espace un répertoire spécifique pour l'application (ici nommé annuaire2). Et dans celui-ci un répertoire "custom".
  3. Y construire une hiérarchie de répertoires contenant vos fichiers personnalisés. En voici un exemple (les éléments utiles sont en rouge):

Dans le répertoire WEB-INF, vous aurez le "porlet.xml" personnalisé.

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

  1. Depuis ce répertoire, lancer un script avec les commandes suivantes (ici avec le trunk):
    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:
    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:
    <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:
    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.
  • Aucune étiquette