Pages enfant
  • Personnalisation

Vous regardez une version antérieure (v. /wiki/display/PROJACTIVACCOUNT/Personnalisation) 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. 7) Actuel »

Application Esup Activ FO

Déclaration des différents statuts des personnes pouvant utiliser l'application

Editer le fichier properties/web/status.xml : chaque statut correspond à un <bean>. Chaque bean est défini de la manière suivante :

 <bean
        id="[ID bean]"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >       
        <property name="key" value="[ID message du label]"/>
        <property name="value" value="[ID status]"/>
</bean> 

Avec :

  • [ID bean] : identifiant du <bean> du statut utilisé dans les autres fichiers de configuration pour y faire référence
  • [ID message du label] : identifiant du message correspondant au label du statut. Pour plus d'informations sur les messages, consulter la partie dédiée.
  • [ID statut] : identifiant unique du statut utilisé uniquement durant l'interaction entre les pages

Déclaration des procédures accessibles

Editer le fichier properties/web/controllers.xml et repérer les propriétés listBeanProcedureWithCas et listBeanProcedureWithoutCas. Ces propriétés définissent respectivement la liste des procédures accessibles en cas d'accès authentifié et en cas d'accès non-authentifié à l'application. Chaque procédure est référencée en fonction de l'identifiant du bean correspondant défini dans le fichier properties/web/process.xml :

<bean
        id="[ID bean procedure]"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >
        <property name="key" value="[ID message label procedure]"/>
        <property name="value" value="[ID procedure]"/>
</bean>

Avec :

  • [ID bean procedure] : identifiant du bean utilisé pour y faire référence
  • [ID message label procedure] : identifiant du message correspondant au label de la procédure
  • [ID procedure] : identifiant applicatif de la procédure. Actuellement les identifiants des procédures disponibles sont :
    • Activation de son compte : activation
    • Réinitialisation de son mot de passe : reinitialisation
    • Changement de son mot de passe : passwordchange
    • Changement de son login : loginchange
    • Mise à jour de ses données personnelles : datachange

Note importante : Des variables de configurations ont été définies pour faciliter la référence à une procédure. Ces variables sont définies dans le fichier config.properties sous le préfixe view.procedure.

Déclaration des informations d'identification pour chacun des statuts

Editer le fichier properties/web/controllers.xml et repérer la propriété beanFieldStatus du bean accountController. Cette propriété définie pour chacun des statuts la liste des informations qui devront être saisies par l'utilisateur durant l'étape d'identification. Pour chaque statut une entrée de la liste est définie :

<entry>
        <key><ref bean="[ID bean du status]"/></key>
        <list>
                <ref bean="[ID bean du champ 1]"/>
                <ref bean="[ID bean du champ 2]"/>
        </list>
</entry>

Avec :

  • [ID bean du statut] : l'identifiant du bean du statut défini dans le fichier status.xml
  • [ID bean du champ X] : les identifiants des beans correspondant aux informations. Ces identifiants doivent correspondre aux identifiants des beans déclarés dans le fichier properties/web/infoToValidate.xml (voir section concernée).

Déclaration des informations demandées lors de l'étape 2 de l'activation

Editer le fichier properties/web/infoDataChange.xml et repérer le bean beanPersonalInfoDigest. Sa propriété listBeanField liste les informations qui seront demandées à l'utilisateur quel que soit son profil (employé, étudiant, ...). Ses propriétés beanFieldProfile et deniedBeanFieldProfile permettent respectivement de réserver des informations à un profil d'utilisateur en particulier et d'exclure des informations pour un profile particulier.

<bean id="beanPersonalInfoDigest"
        class="org.esupportail.activfo.web.beans.CategoryBeanFieldImpl"
        scope="session">
        <property name="title" value="[ID message titre étape]"/>
        <property name="name" value="personalInfo"/>
        <property name="account" ref="account"/>
        <property name="beanFieldProfile">
          <map>                   
           <entry>
             <key> 
               <ref bean="[ID bean à réserver]"/>
             </key>    
             <map>   
               <entry key="[attribut LDAP 1]">
                 <list>
                   <value>[valeur attribut LDAP 1]</value>
                 </list>         
               </entry>  
             </map>    
           </entry>        
          </map>   
        </property>
        <property name="deniedBeanFieldProfile">
        <map>                   
         <entry>
           <key> 
             <ref bean="[ID bean a exclure]"/>
           </key>    
           <map>   
             <entry key="[attribut LDAP 2]">
               <list>
                 <value>[valeur attribut LDAP 2]</value>
               </list>   
             </entry>  
           </map>    
         </entry>  
        </map>   
        </property>
        <property name="listBeanField">
         <list> 
           <ref bean="[ID bean 1]"/>
           <ref bean="[ID bean 2]"/>
           [...]   
         </list>   
        </property> 
</bean>

Avec : 

  • [ID bean 1] et [ID bean 2] : les identifiants des beans à afficher qui doivent correspondre aux ID des beans du fichier properties/web/infoPerso.xml
  • [ID bean à réserver] / [attribut LDAP 1] / [valeur attribut LDAP 1] : l'identifiant d'un bean [ID bean à réserver] à réserver aux seuls personnes ayant dans leur attribut LDAP [attribut LDAP 1] la valeur [valeur attribut LDAP 1].
  • [ID bean à exclure] / [attribut LDAP 2] / [valeur attribut LDAP 2] : l'identifiant d'un bean [ID bean à exclure] à exclure pour les personnes ayant dans leur attribut LDAP [attribut LDAP 2] la valeur [valeur attribut LDAP 2].

Note importante : Les beans réservés et exclus doivent également être listé dans la propriété listBeanField.

Déclaration des informations liées à chacun des statuts

Attention

Ces déclarations d'informations sont potentiellement utilisées dans plusieurs procédures, notamment celle d'activation du compte (étape 2) et celle de modification de ses informations personnelles. Il faut donc que vos messages, contraintes et éventuelles validateurs vous conviennent pour l'ensemble des procédures faisant références à ces beans. Si vous avez des différences d'une procédure à l'autre, il vous faut dupliquer le bean pour le spécialisé pour chaque procédure.

 

Editer le fichier properties/web/infoPerso.xml : chaque information correspond à un <bean> défini de la manière suivante :

<bean
        id="[ID bean info]"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >
        <property name="key" value="[ID message du label]"/>
        <property name="value" value="[valeur]"/> 
        <property name="name" value="[nom attribut LDAP]"/>
        <property name="validator" ref="[ID validator]"/>
        <property name="help" value="[ID message d'aide]"/>
        <property name="constraint" value="[ID message contrainte]"/>
        <property name="disgestConstraint" value="[ID message digestContrainte]"/>
        <property name="notice" value="[ID message alerte]"/>
        <property name="required" value="[obligatoire]" />
        <property name="converter" ref="[ID converter]"/>
        <property name="useConvertedValue" value="[utiliser valeur convertie]"/>
        <property name="updateable" value="[mise à jour directe dans l'annuaire]"/>
        <property name="sendMail" value="[envoi d'un email de notification de changement]"/>
</bean>

Avec :

  • [ID bean info] : identifiant du <bean> de l'information utilisée dans les autres fichiers de configuration pour y faire référence
  • [valeur] : il s'agit de la valeur par défaut de l'information. Cette propriété n'est pas obligatoire. Elle est souvent alimentée par les informations récupérées dans l'annuaire LDAP en cas de formulaire de modification des données. Sous-usage prend cependant du sens lors d'un champ de type bouton-radio.
  • [nom attribut LDAP] : le nom de l'attribut LDAP correspondant à l'information.
  • [ID validateur] : l'identifiant du validateur à utiliser pour cette information. Cet identifiant doit correspondre à un des validateurs définis dans le fichier properties/web/validators.xml
  • [ID message d'aide] : identifiant du message correspondant au message d'aide pour cette information. Ce message sera affiché lors du survole de la bulle d'aide à côté du champ de saisie de l'information. Pour plus d'informations sur les messages, consulter la partie dédiée.
  • [ID message contrainte] : identifiant du message correspondant au message de contrainte pour cette information. Ce message sera affiché sous le champ de saisie de l'information et permettra par exemple de préciser le format attendu, de fournir des exemples de valeurs ou encore de préciser que la modification de l'information sera traitée après validation par le service responsable. Pour plus d'informations sur les messages, consulter la partie dédiée.
  • [ID message digestContrainte] : FIXME
  • [ID message alerte] : identifiant de message correspondant au message d'alerte pour cette information. Ce message sera affiché lors du survole d'un icône /!\ inséré à côté du champ de saisie de l'information. Pour plus d'informations sur les messages, consulter la partie dédiée.
  • [obligatoire] : booléen définissant si l'information est obligatoire ou non. Les valeurs possibles sont "true" ou "false".
  • [ID converteur] : identifiant du convertisseur de valeur utilisé pour cette information. Cet identifiant doit correspondre à un des convertisseur définis dans le fichier properties/web/converters.xml.
  • [utiliser valeur convertie] : booléen définissant si la valeur convertie par le convertisseur doit être utilisée. Valeurs possibles : "true" ou "false"
  • [mise a jour directe dans l'annuaire] : booléen définissant si le champ peut être directement modifié par l'utilisateur dans l'annuaire (via une requête au BO) ou si au contraire il doit être modéré par les services de gestion du personnels ou des étudiants.
  • [envoi d'un email de notification de changement] : booléen définissant si la modification du champ en direct dans l'annuaire LDAP doit être notifié par email aux services de gestion du personnels ou des étudiants.

 

Note importante : Les attributs LDAP utilisés doivent être listés dans le paramètre attributes.datachange pour que les beans puissent être utilisés dans le fichier properties/web/infoDataChange.xml.

Personnalisation de la page de saisie d'un nouveau mot de passe

Cette page est gérée via le bean beanNewPassword défini dans le fichier properties/web/fieldNewPassword.xml :

<bean
        id="beanNewPassword"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >       
        <property name="key" value="[ID message label]"/>
        <property name="value" value=""/>
        <property name="validator" ref="[ID validateur]"/>
        <property name="help" value="[ID message aide]"/>
        <property name="required" value="true" />
</bean>

Avec :

  • [ID message label] : identifiant du message correspondant au label du champ de nouveau mot de passe
  • [ID message aide] : identifiant du message correspondant à l'aide de saisie du champ de nouveau mot de passe
  • [ID validateur] : l'identifiant du validateur à utiliser pour le nouveau mot de passe. Cet identifiant doit correspondre à un des validateurs définis dans le fichier properties/web/validators.xml. Par défaut il s'agit du validateur validatorPasswordAndSpace qui contrôle que le mot de passe :
    • ne contient pas d'espace
    • contiennent uniquement des caractères ASCII
    • respecte l'expression régulière du validateur validatorPassword à savoir (par défaut) : au moins 8 caractères et au moins une minuscule, une majuscule et un chiffre

Note : La page de changement du mot de passe contient un widget graphique vérifiant dynamiquement la robustesse du nouveau mot de passe saisie par l'utilisateur. Cette vérification dynamique est développée en JavaScript et le code correspondant est directement contenu dans le template JSP de la page correspondant à savoir le fichier webapp/stylesheets/accountPassword.jsp.

Gestion des messages

La gestion des messages affichés est réalisée gràce à un mécanisme facilitant l'internationalisation de l'application. Pour cela, plusieurs fichiers sont présents dans le dossier properties/i18n/bundles :

  • un fichier Messages_XX.properties avec XX le code de la langue. Exemple : fr = Français
  • un fichier Custom_XX.properties fichier de personnalisation des messages (facultatif)

Dans ces fichiers on met en correspondance des ID de messages avec les messages correspondant dans la langue du fichier.

Exemple :

ADMINISTRATORS.BUTTON.DELETE_ADMIN = Supprimer

Note importante : Par convention, on ne modifiera que les fichiers Custom_XX.properties et on laissera les fichiers Messages_XX.properties tel que livré par le projet.

 

Modification des fichiers de templates JSP

Vous pouvez modifier directement les templates JSP si vous souhaitez. Ces fichiers de templates se trouvent dans le dossier webapp/stylesheets.

Pour reconnaître le fichier de template utilisé pour une page en particulier, il suffit de remplace le suffixe ".faces" à la fin de l'URL de la page par le ".jsp".

Attention

Une partie de la logique de l'application est implémenté dans les fichiers de templates. La modification de ces fichiers peuvent entraîner dysfonctionnement de l'application.

 

 

Version d'esup activ utilisée pour la réalisation de la documentation initiale

v2.3.1 (décembre 2014)

 

 

  • Aucune étiquette