Projet

Général

Profil

Actions

Feature #6156

ouvert

Ajouter la possibilité de renseigner la langue de préférence d'un utilisateur lors de sa création dans Silverpeas

Ajouté par Yohann Chastagnier il y a plus de 9 ans. Mis à jour il y a environ 6 ans.

Statut:
Feedback
Priorité:
Normal
Assigné à:
-
Catégorie:
Administration
Version cible:
-
Début:
07/01/2015
Echéance:
% réalisé:

20%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

Description

Aujourd'hui, la langue de préférence d'un utilisateur n'est pas renseignée lors de sa création dans Silverpeas.
En conséquence, lors de l'ajout d'un utilisateur dont la langue est différente de celle (par défaut) du serveur Silverpeas, ce dernier reçoit des notifications dans une autre langue que celle souhaitée.

Une façon de remédier à cette problématique est de donner la possibilité de renseigner la langue de préférence d'un utilisateur lors de la création de son compte Silverpeas.
Cependant, le renseignement de cette information ne doit pas être obligatoire et si elle n'est pas indiquée, l'enregistrement d'un utilisateur reste alors identique à celui actuel.
Enfin, cette information peut être indiquée ou prise en compte uniquement dans les cas de création d'un utilisateur et pas, par exemple, dans le cas de la mise à jour.

Il existe plusieurs façons de créer un utilisateur :
  • depuis l'écran de création d'un compte utilisateur (dans la partie administration)
  • depuis la fonctionnalité d'importation massive de comptes utilisateur via un fichier CSV (dans la partie administration)
  • depuis les fonctionnalités de synchronisation de comptes utilisateur d'un domaine Silverpeas avec un annuaire LDAP
  • depuis l'écran de création d'un compte utilisateur accessible depuis l'écran de connexion d'un utilisateur au serveur Silverpeas
    (cette fonctionnalité n'est pas activée par défaut, pour ce faire, il faut positionner la valeur true pour le paramètre newRegistrationEnabled contenu dans le fichiers de paramètres authentication/settings/authenticationSettings.properties)
  • depuis la fonctionnalité de création d'un compte utilisateur basée sur un compte Facebook ou LinkedIn, accessible depuis l'écran de connexion d'un utilisateur au serveur Silverpeas
    (cette fonctionnalité n'est pas activée par défaut, pour ce faire, il faut positionner la valeur true pour les paramètres facebook.enable et/ou linkedIn.enable contenus dans le fichiers de paramètres social/settings/socialNetworkSettings.properties)

Cette évolution ne cible pas le cas de la création de comptes utilisateur dans Silverpeas depuis les fonctionnalités de synchronisation LDAP.

Ecran de création d'un compte utilisateur :
Dans le bloc Information principales de cet écran, il s'agit d'ajouter à la suite des champs de saisi existants une liste de choix de langues (celles gérées par Silverpeas) permettant de renseigner optionnellement la langue de préférence de l'utilisateur.
Le libellé pourrait être Langue de préférence. Par défaut, la langue sélectionnée dans la liste de choix est celle par défaut du serveur Silverpeas.

Importation massive de comptes utilisateur via un fichier CSV :
Le fichier CSV permettant d'importer des utilisateurs est structuré de la manière suivante :
  • les colonnes fixes : toujours le même nombre
  • les colonnes variables : à la suite des colonnes fixes et leur nombre est variable entre selon les fichiers

L'information de la langue de préférence d'un utilisateur fera partie des colonnes fixes de ce fichier et sera en dernière position.
Elle doit correspondre au sigle de la langue, c'est à dire aujourd'hui fr, en ou de.
Si l'information de langue n'est pas renseignée, ou si la langue renseignée ne correspond pas à une de celles gérées par le serveur Silverpeas, alors la langue par défaut du serveur Silverpeas est choisie et aucune erreur n'est générée.
Un warning dans les fichiers de logs peut être cependant enregistré dans le cas d'une langue renseignée mais non gérée par le serveur.

ATTENTION, dans le cas de la mise à jour d'un utilisateur, cette information de langue de préférence doit être ignorée.

Ecran de création d'un compte utilisateur accessible depuis l'écran de connexion d'un utilisateur au serveur Silverpeas :
Il s'agit d'ajouter ici, à la suite des 3 autres, une liste de choix de langues.
Le comportement vis-à-vis de ce nouveau champ serait le même que celui décrit pour Ecran de création d'un compte utilisateur.

Ecran de création d'un compte utilisateur accessible depuis une première connexion via un compte Facebook ou LinkedIn :
Il s'agit d'ajouter ici, à la suite des 3 autres, une liste de choix de langues.
Le comportement vis-à-vis de ce nouveau champ serait le même que celui décrit pour Ecran de création d'un compte utilisateur.


D'un point de vue technique, les langues de préférences possibles pour un utilisateur sont celles fournies par la classe DisplayI18NHelper :
  • getDefaultLanguage : fournie donc la langue par défaut
  • getLanguages : founie la liste des sigles des langues gérées par le serveur Silverpeas

Dans Silverpeas, un utilisateur peut changer sa langue de préférence depuis son profil dans son espace personnel (onglet Préférence).
La page JSP associée à cette gestion est myProfileTabSettings.jsp est peut servir de base pour comprendre comment gérer la liste de choix de langues attendue.

Mis à jour par Yohann Chastagnier il y a environ 9 ans

  • Description mis à jour (diff)

Mis à jour par Yohann Chastagnier il y a environ 9 ans

  • % réalisé changé de 0 à 20

A l'occasion des développements réalisées pour #6169, l'écran de création d'un utilisateur a été modifié pour notamment intégrer l'information de langue de préférence, dans le respect des spécifications détaillées de cette fiche.


D'un point de vue technique, un nouveau TAG a été créé : userPreferredLanguageSelector.tag
Il centralise la production du code HTML permettant de sélectionner la langue de préférence d'un utilisateur.
En exemple d'appel sur un écran de création d'un utilisateur :

<%@ taglib tagdir="/WEB-INF/tags/silverpeas/util" prefix="viewTags" %>
...
<viewTags:userPreferredLanguageSelector user="${not empty userDetail.id ? userDetail : null}" 
                                        readOnly="${not empty userDetail.id}"/>

Mis à jour par Miguel Moquillon il y a environ 6 ans

  • Statut changé de New à Feedback

On en est où avec cette feature ?

Actions

Formats disponibles : Atom PDF