Widget login
Description
Le widget login a pour rôle de s'intégrer à une page web afin d'apporter les fonctionnalités du système de login du CDS : connection, création de compte, visualisation/modification des préférences, ...etc. Il fournit donc à la fois une interface graphique prête à l'emploi, mais aussi une API permettant au développeur d'interagir plus finement avec le système de login, selon ses besoins.
Spécifications techniques
Le widget login est une classe javascript, et doit donc pouvoir être intégré facilement à une page web existante, en instanciant cette classe. Il utilise l'environnement javascript
dojo, ce dernier doit donc être installé pour que cela fonctionne.
Interface graphique
Apparence du widget
Création de compte
A noter que les erreurs sont détectées à la volée pendant que l'utilisateur renseigne les différents champs.
Connexion
Plusieurs fonctionnalités :
- Enregistrement du nom d'utilisateur et du mot de passe pour ne pas avoir besoin de le retaper à chaque fois
- Connexion permanente pour rester connecté même si la session a expiré
- Possibilité d'obtenir un nouveau mot de passe en cas d'oubli
Visualisation/modification des préférences
Les préférences sont réparties en plusieurs onglets, un par catégorie (général, portail et annotations).
API
Instanciation du widget
La première chose à faire pour intégrer le widget dans une page web est d'instancier ce dernier. Voici le prototype du constructeur de la classe :
LoginWidget(divId, onLogin, onLoginFail, loginServerUrl, mode) avec :
- divId : identifiant de l'élément html dans lequel le widget devra apparaitre
- onLogin : une fonction qui sera appelée en cas de connexion réussie de l'utilisateur
- onLoginFail : une fonction qui sera appelée en cas de connexion ratée de l'utilisateur
- loginServerUrl : l'URL du serveur de login du CDS
- mode : "normal" pour que le widget s'affiche dans son mode normal, ou "simpleLink" pour que le widget s'affiche en mode restreint
Exemple : var myloginWidget = new LoginWidget("loginDiv", onLogin, onLoginFail, "http://cdsportal.u-strasbg.fr/CDSLogin", "normal");
Initialisation
Une fois le widget instancié, il faut l'initialiser. Cela se fait via la méthode "start", qui a comme prototype :
start(callbackFunction) avec :
- callbackFunction : fonction appelée un fois l'initialisation effectuée
La fonction de callback devra avoir comme prototype :
callback(sessionId, isUserAnonyme) avec :
- sessionId : identifiant de la session courante
- isUserAnonyme : true si la session courante correspond à un utilisateur anonyme, false sinon
Données et préférences
Il est possible de récupérer les données de l'utilisateur correspondant à la session courante. Cela se fait grâce à la méthode suivante :
data(callbackFunction) avec :
- callbackFunction : fonction appelée une fois les données récupérées
La fonction de callback devra avoir comme prototype :
callback(dataMap) avec :
- dataMap : tableau associatif contenant les données de l'utilisateur
Il est également possible de récupérer les préférences de l'utilisateur correspondant à la session courante. Cela se fait grâce à la méthode suivante :
preferences(callbackFunction) avec :
- callbackFunction : function appelée une fois les préférences récupérées
La fonction de callback devra avoir comme prototype :
callback(preferencesMap) avec :
- preferencesMap : tableau associatif contenant les préférences de l'utilisateur
Téléchargement
Package prêt à l'emploi :
CDSLoginWidget.tar.gz
--
BriceGassmann - 14 Jun 2010