Pages enfant
  • documentation esup-connecteur-apogee

Connecteur Apogée

But

Fournir un service permet de récupérer l'identifiant dans Apogée (COD_IND) d'un étudiant connecté au portail.

Principe de fonctionnement et pré-requis

  • Ce service utilise un pool de connexion tomcat pointant vers la base Apogée.
  • Connaissant une requête de mapping à exécuter dans la base de données Apogée et un paramètre issu des attributs de l'utilisateur ESup à passer à cette requête, celle-ci doit nous fournir le champs COD_IND de la table INDIVIDU.
  • Il fournit également un mécanisme permettant de personnaliser la récupération l'attribut de mapping à partir du login de la personne connectée. Ce mécanisme peut-être utile si on utilise une recherche de personne qui retourne comme résultat l'identifiant de la personne sélectionnée.
  • Le résultat de la requête

Installation

Récupération de la distribution

  • Aller sur la page de téléchargement ESup pour récupérer la dernière version du package.
  • Préparation du fichier de configuration ApogeeConnector.xml (voir Configuration)
  • Préparation du déploiement : modifier les chemins d'installation du fichier build.properties.
  • Lancement de la commande "ant deploy", pour déployer le service dans les bons répertoires.
  • Il ne s'agit pas d'un canal donc aucune action de publication n'est à entreprendre.

Configuration

Modifier le fichier ApogeeConnector.xml sachant que :

  • pool : fait référence au pool tomcat de connexion vers Apogée. Attention le nom de ce pool ne doit pas comporter la partie jdbc/ (par exemple, on fera référence au pool tomcat jdbc/Apogee par le nom Apogee)
  • sqlmapping : c'est la requête à exécuter sur la base Apogée pour retourner la valeur de COD_IND. Elle comporte un et un seul paramètre.
  • personattribute : attribut de l'utilisateur ESup à passer comme paramètre de la requête (doit donc être présent dans l'objet IPerson)
  • classmapping : classe permettant de récupérer l'attribut de mapping à partir du login d'une personne. Elle doit implémenter l'interface IClassMapping. Lors de sa déclaration dans le fichier de configuration du connecteur, spécifier le chemin complet, c'est à dire par exemple : org.esupportail.portal.channels.gestion.ApogeeMapping
    Le connecteur instancie alors dynamiquement la classe spécifiée et exécute la méthode déclarée dans l'interface.
    Si l'on ne veut pas utiliser de classe de mapping, ne pas déclarer cette balise.
  • demomapping : permet le mapping entre un login de demo et un cod_ind. Si l'on ne veut pas utiliser cette fonctionnalité, ne pas déclarer cette balise.

Cas particulier des sites qui possèdent la valeur de COD_IND dans leur LDAP

  • Dans ce cas, laisser vide la valeur de sqlmapping
  • Indiquer dans personattribute le nom de l'attribut LDAP qui contient la valeur de COD_IND

Utilisation

voici un exemple type d'utilisation de ce service :import org.esupportail.portal.utils.connectors.ApogeeConnector;

...

try {
  cod_ind = ApogeeConnector.getCOD_IND(getStaticData().getPerson());
}

catch (ConnectorException e1) {
  // enregistrement plugin fatalError
  FatalError.fatalError(getConfigActions().getActions(), "Vous n'êtes pas étudiant\!");
  return null;
}

Cas particulier de l'utilisation de la classe classmapping :
Il suffit d'utiliser la méthode getCOD_INDFromLogin()

cod_ind = ApogeeConnector.getCOD_INDFromLogin(pers_id);
  • Aucune étiquette