Pages enfant
  • Personnalisation

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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

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

Remarque
titleAttention

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 :

Bloc de code
languagexml
<bean
        id="[ID bean info]
Bloc de code
languagexml
<bean
        id="[ID bean info]"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        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="requireddisgestConstraint" value="[obligatoireID message digestContrainte]" />
        <property name="converternotice" refvalue="[ID message converteralerte]"/>
        <property name="useConvertedValuerequired" value="[utiliser valeur convertieobligatoire]" />
</bean>

Avec :

        <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'
  • [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.
  • [obligatoire] :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 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"

 

Remarque
iconfalse

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 :

  • [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.

 

Remarque
iconfalse

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 :

Bloc de code
languagexml
<bean
Bloc de code
languagexml
<bean
        id="beanNewPassword"
        class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >       
        <property name="key" valueid="[ID message label]"/>beanNewPassword"
        <property name="value" value=""/>class="org.esupportail.activfo.web.beans.BeanFieldImpl"
        scope="session"
        >       
        <property name="validatorkey" refvalue="[ID message validateurlabel]"/>
        <property name="value" value="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
Remarque
iconfalse

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 :

Bloc de code
ADMINISTRATORS.BUTTON.DELETE_ADMIN = Supprimer

...

/>
        <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
Remarque
iconfalse

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 :

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

Avec :

  • [ID bean channel] : identifiant du bean correspondant au canal d'envoi

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

Bloc de code
languagexml
<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 :

  • [ID bean channel] : identifiant du bean correspondant au canal d'envoi
  • [ID class channel] : identifiant de la classe JAVA implémentant ce canal d'envoi. Les classes fournis sont :
    • org.esupportail.activbo.domain.beans.channels.MailPersoChannel : Envoi du code via l'adresse email personelle de l'utilisateur
    • org.esupportail.activbo.domain.beans.channels.Mail2GestChannel : Envoi du code par email à un service de support
    • org.esupportail.activbo.domain.beans.channels.SMSUChannel : Envoi du code via SMSU sur le numéro de mobile de l'utilisateur
    • org.esupportail.activbo.domain.beans.channels.CodeChannel : faux canal d'envoi utilisé si l'utilisateur dispose déjà d'un code et qu'il souhaite simplement le saisir
    • org.esupportail.activbo.domain.beans.channels.Mail2SMSChannel : Envoi du code via une passerelle mail2SMS
  • [nom du canal] : le nom du canal d'envoi

  • [délai validité code] : le délai de validité du code envoyé par ce canal

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

  • MailPersoChannel :
    • smtpService : identifiant du bean correspondant au service d'envoi de mail à utilisé. Le beansmtpService est classiquement utilisé. Ce bean est configuré dans le fichier properties/smtp/smtp.xml
    • attributeMailPerso : le nom de l'attribut LDAP correspondant à l'adresse mail personnelle de l'utilisateur
    • attributeDisplayName : le nom de l'attribut LDAP correspondant au nom d'affichage de l'utilisateur
    • mailCodeSubject : le sujet du mail
    • mailCodeBody : le contenu du mail. Ce contenu sera formaté en remplacant les mots clés suivants :
      • {0} : le nom d'affichage de l'utilisateur
      • {1} : le code de validation
      • {2} : la date de fin de validité du code de validation
  • Mail2GestChannel :
    • smtpService : identifiant du bean correspondant au service d'envoi de mail à utilisé (cf. MailPersoChannel)
    • mailGest : l'adresse email pour joindre le service support correspondant
    • attributeDisplayName : le nom de l'attribut LDAP correspondant au nom d'affichage de l'utilisateur
    • Propriétés access et deny : permet de filtrer l'accès à ce canal. La propriété access permet d'autorisé le canal sur la base de valeurs discrimitantes d'un attribut LDAP [ID attribut1]. De la même manière, la propriété deny permet d'interdire le canal sur la base de valeurs discrimitantes d'un attribut LDAP [ID attribut2]. Ces deux propriétés peuvent éventuellement être cumulé : les valeurs interdites seront alors analysées avant les valeurs autorisées. La configuration de ces propriétés se fait de la manière suivante :

      Bloc de code
      languagexml
      <property name="access">
            <map>   
                  <entry key="[ID attribut1]">
                          <list>  
                                  <value>[valeur attribut1]</value>
                                  [...]   
                          </list> 
                  </entry>
            </map>  
      </property>
      <property name="deny">
            <map>   
                  <entry key="[ID attribut2]">
                          <list>  
                                  <value>[valeur attribut2]</value>
                                  [...]   
                          </list>
                  </entry>
            </map>
      </property>
    • mailCodeSubject : le sujet du mail
    • mailCodeBody : le contenu du mail. Ce contenu sera formaté en remplacant les mots clés suivants :
      • {0} : l'identifiant de l'utilisateur
      • {1} : le code de validation
      • {2} : la date de fin de validité du code de validation
      • {3} : le nom d'affichage de l'utilisateur
  • Mail2SMSChannel :
    • smtpService : identifiant du bean correspondant au service d'envoi de mail à utilisé (cf. MailPersoChannel)
    • attributePager : le nom de l'attribut LDAP correspondant au numéro de mobile de l'utilisateur
    • mailCodeSubject : le sujet du mail à envoyé à la passerelle SMS
    • mailSMS : l'adresse email de la passerelle SMS
    • mailCodeBody : le contenu du mail à envoyé à la passerelle SMS. Ce contenu sera formaté en remplacant les mots clés suivants :
      • {0} : le numéro de mobile de l'utilisateur
      • {1} : le code de validation
      • {2} : la date de fin de validité du code de validation
  • SMSUChannel :
    • attributePager : le nom de l'attribut LDAP correspondant au numéro de mobile de l'utilisateur
    • urlWS : l'URL du webservice de SMSU
    • usernameCredentials : le nom d'utilisateur a utilisé pour se connecter à SMSU
    • passwordCredentials : le mot de passe a utilisé pour se connecter à SMSU
    • messageBody : le contenu du SMS à envoyé par SMSU. Ce contenu sera formaté en remplacant le mot clés {0} par le numéro de mobile de l'utilisateur

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

Bloc de code
languagexml
<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 :

  • [ID bean channel] : identifiant correspondant au canal d'envoi côté Back-Office
  • [ID class channel] : identifiant de la classe JAVA implémentant ce canal d'envoi (côté Front-Office cet fois). Les classes fournis sont :
    • org.esupportail.activfo.domain.beans.channels.ChannelImpl : classe générique
    • org.esupportail.activfo.domain.beans.channels.ChannelMailPerso : classe spécifique pour l'envoi du code via l'adresse email personnelle de l'utilisateur. Cette classe permet de faire en sorte que le message home soit composé en remplacant le mot clé {0} à l'aide de valeur caviardée de l'adresse email personnelle de l'utilisateur.
    • org.esupportail.activfo.domain.beans.channels.ChannelPager : classe spécifique pour l'envoi du code via le numéro de mobile de l'utilisateur. Cette classe permet de faire en sorte que le message home soit composé en remplacant le mot clé {0} à l'aide de valeur caviardée du numéro de mobile de l'utilisateur.
  • [ID message label] : l'idendifiant du message utilisé comme label du canal dans la liste affiché à l'utilisateur pour choisir

  • [ID message home] : l'idendifiant du message associé au canal affiché à l'utilisateur sur la page de choix du canal

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 :

Bloc de code
ADMINISTRATORS.BUTTON.DELETE_ADMIN = Supprimer
Remarque

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

Avertissement
titleAttention

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.

 

 

...

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

v2.3.1 (décembre 2014)

...