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 :

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 :

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 :

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 : 

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

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 :

 

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 :

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.

Configuration des canaux d'envoi du code de validation de la procédure de récupération du mot de passe

Les canaux d'envoi du code de validation de la procédure de récupération du mot de passe sont configurés au niveau du Back-Office dans le fichier properties/domain/domain.xml. La liste des canaux disponibles sont configurés dans la propriété channels du bean abstractDomainService :

<property name="channels">
        <list>
                <ref bean="[ID bean channel]"/>
                [...]           
        </list>
</property>

Avec :

Les beans des canaux d'envoi sont configuré dans le même fichier de la manière suivante :

<bean
        id="[ID bean channel]"
        class="[ID class channel]"
        parent="abstractChannel"
        >       
        <property name="name" value="[nom du canal]"/>
        <property name="codeDelay" value="[délai validité code]"/>
        [...]
</bean>

Avec :

Des propriétés propres au canal d'envoi du code sont également configurés :

Ces canaux sont également référencés au niveau du Front-Office dans le fichier properties/web/channels.xml :

<bean id="[ID bean channel]"
        class="org.esupportail.activfo.domain.beans.channels.ChannelImpl">
        <property name="name" value="[ID bean channel]"/>
        <property name="label" value="[ID message label]"/>
        <property name="homeMsg" value="[ID message home]"/>
        <property name="codeMsg" value="[ID message code]"/>
</bean>

Avec :

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 :

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".

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.

 

 

v2.3.1 (décembre 2014)