Table of Contents

Configuration ePims pour le développement

Remarque

FIXME: Attention les targets “SANS IDE” ne sont pas commité sous SVN !!!

Introduction

Ce chapitre décrit les configurations nécessaire au développement des modules d'ePims. Par configuration on entends la mise en place de l'environnement d'exécution (FTP / BD etc) et celui de développement (Eclipse …). Une part de l'environnement nécessaire au développement d'ePims est identique à l'environnement de production. Les étapes de configuration sont donc similaires à celle du guide d'installation, mais les valeurs de configuration diffèrent parfois.

Environnement d'exécution

Rien n'est imposé mais il est recommandé de créer un environnement de développement distinct de celui de production :

etc etc

PostgreSQL

Il est nécessaire d'installer Postgresql comme décrit dans le guide d'installation. Toutefois, il est fortement conseillé d'utiliser un nom de base de données différent ce celui de l'environnement de production.

Geronimo

Il est nécessaire d'installer Geronimo sur le poste de développement comme décrit dans le guide d'installation. Il est ensuite nécessaire de créer la datasource et le realm dans Geronimo comme décrit dans le paragraphe relatif à l'installation de ePims. En pointant sur la base de données qui a été choisie pour le développement.

FTP

Suivre les instruction décrites dans le admin. Pensez à définir le FTP Root en fonction du PIMS_ROOT utilisé pour le développement.

Environnement de développement

Eclipse

Plugins

Pour la partie développement, nous utilisons Eclipse Europa (version 3.3). Les différents modules que l'on trouvent sous SVN sont donc formatés pour cet environnement. Plusieurs plugins doivent être ajoutés afin de gérer correctement les modules ePims. Quand cela est possible, l'installation se fait via les sites d'update :

Pour les modules web, il est nécessaire d'installer le plugin 'Web and JEE Development' accessible sur le site d'update “Europa Discovery Site” (défini par défaut). Cliquer sur “Select Required” afin de résoudre les dépendances entre les plugins. Il est également possible d'utiliser directement une distribution d'Eclipse pour les développement JEE (eclipse-jee-europa-winter-win32.zip). Les versions de plugins installés avec cette distribution d'Eclipse sont identifié par Ec_JEE

Les autres plugins à installer sont :

Configuration

IVY : Librairies tierces

Les tâches ANT utilisant ivy utilise un fichier de propriétés qui doit se trouver sous votre user home (C:\Documents and Settings\<login> sous windows anglais par exemple…). Ce fichier, ivyconf.properties, contient la définition de deux propriétés :

ivy.local.repository.path=C:/Divers/repository
ivy.distrib.dir=C:/Divers/dist

Quelque soit le module, lorsqu'un checkout depuis SVN est réalisé, il est nécessaire d'exécuter la tache Ant “resolve” afin que les librairies tierces soient récupérées au niveau du projet.

FIXME: Actuellement nous utilisons un repository interne pour ivy. Il faudrait rendre accessible une image de ce repository afin de s'assurer que la même configuration est utilisée sur tous les sites de développement ! Si vous rencontrez des problèmes contactez-nous ! voir page d'accueil start

Configuration des Modules

Configuration développement/production

Pour éviter d'avoir à re-modifier les fichiers de propriété lorsque l'on passe du mode développement au mode production (ou au mode test), des fichiers de configuration différents sont rangés dans des répertoires en fonction du mode. Par exemple

Des tâches ANT, configure.dev, etc. permettent de configurer le projet avec les fichiers en fonction du mode désiré.

FIXME: Le nom exacte des cibles ANT et/ou des répertoires propres aux configurations ne sont pas toujours identiques d'un projet à l'autre !!! A corriger. En attendant, une description est données pour chaque module.

eP-Back

Le module eP-Back correspond au projet de développement eP-Backpims.

Les fichiers spécifiques aux modes de développement sont sous ./resources/dev et sont identiques à ceux nécessitant une configuration pour l'installation d'eP-Back, voir eP-Back.

La cible Ant “configure.dev” permet de copier les fichiers spéciques au mode de développement dans le classpath. Il n'y a pas de cible Ant “dist.dev” puisqu'il suffit d'exécuter la classe BackPimsApp depuis Eclipse pour tester BackPims en mode developpement.

eP-Core

eP-Core est le module contenant les parties métier et accès à la base de données d'ePims, pour cela il utilise les frameworks/outils Hibernate et Spring.

FIXME: Voir ce qu'il y a de spécifique à faire à ce niveau là ! (utile à Eclipse et lors de modification du modele)

Le fichier spécifique au mode de développement est sous ./resources/dev et est identique à celui nécessitant une configuration pour l'installation, voir eP-Core.

Targets Ant dans Eclipse et sans IDE :

  1. la cible ANT “dist.dev”, une fois le fichier de configuration modifié, est lancée pour mettre à jour la configuration d'eP-Core pour le développement.
  2. la cible “create.onejar” permet de créer une distribution à déployer sur le serveur d'application de développement (“onejar” car cette cible créé un jar contenant eP-Core et toute ses dépendances).

La première cible génère la structure suivante :

La seconde ajoute dans bon/dist :

eP-Web

eP-Web est l'application web d'ePims.

Il est nécessaire de configurer (La configuration est identique à celle définie dans ep-web_ep-webservices)

<application-desc  ...>
   <argument>...</argument>
</application-desc >

Dans le contexte Eclipse :

Il faut définir une User Library qui pointe sur eP-Core. Pour cela, menu Windows > Preferences, sélectionner Java / Build Path / User Libraries et New. La nouvelle librairie a pour nom eP-Core-3.4.0 et pointe soit sur le jar issu de la target oneJar d'eP-Core soit le jar d'eP-Core issu de dist et toutes les librairies nécessaire à eP-Core. Si un autre nom est utilisé, il faut modifier le build path du projet eP-Web (properties / Java Buils Path, choisir l'onglet Libraries et cliquer sur add Library)…

Il faut ensuite exécuter la cible ANT configure pour répercuter les modifications faites dans les différents fichiers de config.

Dans un contexte sans IDE :

En attendant une mailleur structuration et organisation des différents projets, pour générer le .war à intégrer dans le EAR d'ePims, il faut :

eP-WebServices

eP-WebServices est le module de publication de certains services d'eP-Core (utilisés par eP-Plate par exemple).

De même que pour eP-Web, il est nécessaire de configurer le fichier ./WebRoot/WEB-INF/geronimo-web.xml en utilisant les définitions données dans ep-web_ep-webservices.

Dans le contexte Eclipse :

Il faut définir une User Library qui pointe sur eP-Core. Pour cela, menu Windows > Preferences, sélectionner Java / Build Path / User Libraries et New. La nouvelle librairie a pour nom eP-Core-3.4.0 et pointe soit sur le jar issu de la target oneJar d'eP-Core soit le jar d'eP-Core issu de dist et toutes les librairies nécessaire à eP-Core. Si un autre nom est utilisé, il faut modifier le build path du projet eP-Web (properties / Java Buils Path, choisir l'onglet Libraries et cliquer sur add Library)…

Il faut ensuite exécuter la cible ANT configure.dist pour répercuter les modifications faites dans les différents fichiers de config.

Dans un contexte sans IDE :

En attendant une mailleur structuration et organisation des différents projets, pour générer le .war à intégrer dans le EAR d'ePims, il faut :

ePims

ePims est l'application EAR contenant eP-Web et eP-WebService. Il est nécessaire de correctement configurer ePims au niveau de la data source… voir la configuration des modules d'ePims dans la documentation admin

Dans le contexte Eclipse : Si une erreur apparait au niveau du serveur associé à l'application (Targeted Runtimes), il faut aller dans les propriétés de l'application, page 'targeted runtimes', déselectionner 'Apache Geronimo 1.1' et soit le resélectionner soit le recréer …

Il n'y a pas de cible Ant pour ce projet lorsque l'on déploie à partir de Eclipse

Dans un contexte sans IDE : En attendant une mailleur structuration et organisation des différents projets, pour générer le .ear il faut

eP-Plate

FIXME