oct.
19
2014
Depuis DotNetNuke 6, il est possible d'activer une fonction pour exiger des noms d'affichage uniques. Ceci permet aux modules sociaux tels que les blogues, forums, etc. d'afficher le nom de la personne sans pour autant exposer leur vrai Nom ni leur identifiant pour le site. Si votre site utilise des fonctions sociales, il est important que ces noms soient uniques afin qu'un utilisateur ne puisse pas se faire passer pour un autre.
En activant cette fonction dans les réglages du site, les utilisateurs ne peuvent plus s'enregistrer en utilisant un nom d'affichage déjà utilisé par un autre utilisateur. Par contre, les utilisateurs peuvent toujours aller changer leur nom d'affichage par la suite dans leur profil et les administrateurs peuvent également le faire dans l'éditeur d'utilisateurs. De plus, les noms d'affichage déjà en double avant l'activation de cette fonction ne sont pas changés automatiquement. Dans cet article, je vais vous donner ce dont vous avez besoin pour régler ces deux problèmes.
Prérequis
FAITES UNE COPIE DE SAUVEGARDE de vos fichiers et de votre base de données! Cette procédure a été écrite et testée seulement avec DotNetNuke 7.3.3, je vous recommande donc de mettre votre site à jour vers cette version avant de continuer. Si vous avez l'occasion de tester cette procédure sur d'autres versions, vos résultats seront les bienvenus dans les commentaires, mais n'oubliez pas la sauvegarde avant tout.
1. Activer la fonction
Premièrement, nous allons activer la fonction qui exige les noms d'affichage uniques.
- Connectez-vous au site en tant qu'administrateur
- Naviguez vers Admin -> Réglages du site
- Cliquez sur l'onglet Réglages des comptes utilisateurs
- Dans la section Paramètres d'inscription, cochez Nom d'affichage unique requis
- Cliquez le bouton Mise à jour au bas de la page
Maintenant, il sera impossible à de nouveaux utilisateurs d'utiliser le même nom d'affichage qu'un autre utilisateur.
2. Corriger le problème
J'ai créé un correctif qui s'applique à la version 7.3.3 pour corriger le fait que les utilisateurs et les administrateurs peuvent toujours changer le nom d'affichage après l'enregistrement. Ceci empêchera donc aux utilisateurs existants de changer leurs noms d'utilisateurs pour un déjà utilisé. J'ai soumis un rapport de trouble DNN-5874 et le correctif 160 maintenant le correctif 177 à DotNetNuke et si tout va bien ceci devrait être réglé pour la version 7.3.4, je mettrai à jour quand ce sera fait. Mise à jour le 21 octobre 2014: DotNetNuke a accepté le correctif, il devrait donc faire partie de DotNetNuke 7.3.4. 24 Octobre 2014: Le correctif 160 a été refusé mais j'ai soumis un nouveau correctif, je ne suis pas certain si il va faire partie de la version 7.3.4 ou 7.4.0...
- Mettez DotNetNuke à jour vers la version 7.3.3 (ou tentez à vos risques et commentez ci-bas)
- Téléchargez le fichier PatchDNN-5874.zip
- Extraire le fichier dans votre répertoire racine en remplaçant les fichiers trouvés en double
- (optionnel, si votre site est en plusieurs langues):
- Naviguez vers Admin->Langues
- Traduisez ce qui suit:
Fichier |
Clef |
DesktopModules/Admin/Security/App_LocalResources/EditUser.ascx.resx |
DisplayNameNotUnique.Text
|
DesktopModules/Admin/Security/App_LocalResources/User.ascx.resx
|
DisplayNameNotUnique.Text |
Maintenant nous avons réglé le problème pour l'avenir, les utilisateurs ne pourront plus changer leur nom d'affichage vers un nom déjà utilisé.
3. Gérer les noms d'affichage déjà en double
Maintenant, que nous avons corrigé le problème pour le futur, il faut corriger le problème pour le passé. Vous avez peut-être plusieurs utilisateurs existants qui ont le même nom d'affichage. Pour corriger ceci, j'ai créé un petit module qui va vous afficher tous ces doublons et qui vous permettra de les renommer en un seul clic pour que seulement le premier utilisateur garde le nom d'affichage original, les autres auront un chiffre ajouté à la fin (le UserID).
- Téléchargez DuplicateDisplayNamesFix_00.00.01_Install.zip (la source est égalemet disponible si vous êtes un développeur DuplicateDisplayNamesFix_00.00.01_Source.zip)
- Installez-le comme n'importe quel module, c'est à dire: Hôte -> Extensions -> Assistant d'installation d'extensions
- Créez une page temporaire visible uniquement par les administrateurs (ou utilisez une page existante)
- Placez-y le module Duplicte Display Names Fix
- Le module affichera une liste si des noms en double sont utilisés ou un message si ce n'est pas le cas.
- Vous pouvez exporter la liste dans Excel par exemple si vous voulez contacter les utilisateurs plus tard (le courriel est affiché dans la liste)
- Maintenant pour renommer les utilisateurs, cliquez sur le bouton GO.
(cette opération ne peut être annulée, soyez certain d'avoir une sauvegarde.)
- Si vous ne prévoyez pas réutiliser le module à l'avenir, vous pouvez maintenant le désinstaller et supprimer la page temporaire.
Vos questions ou commentaires sont les bienvenus.