« AD User Editor WebPart » pour SharePoint 2010 & MOSS 2007

AD User Editor(en cours de mise à jour pour la version 2.1)

AD User Editor est un WebPart for MOSS 2007 et SharePoint 2010 qui permet de modifier facilement les propriétés de profil de n'importe quelle personne dans Active Directory. Il peut également être configuré en "self-service" pour permettre aux utilisateurs de modifier leur profil uniquement.

  • 6 types de champs d'édition:
    • Lecture seule,
    • Texte simple,
    • Liste déroulante/Liste "ListBox" (avec valeurs prédéfinies),
    • Sélecteur de personnes,
    • Sélecteur de date.
  • Compatibilité Multi-domaines.
  • Quasiment toutes les propriétés Active Directory peuvent être ajoutées ou supprimées du formulaire d'édition, directement à partir des paramètres du webpart (rien de "codé en dur").
  • "look & feel" SharePoint
  • Disponible pour MOSS 2007 en AnglaisEspagnol et Français
  • Disponible pour Sharepoint 2010 en version multilingue (EN,FR,ES,NL)
Attention: Cet outil permet de modifier directement les données d'Active Directory. Prenez le temps de définir correctement les droits d'accès au webpart lorsque vous l'installez! Il a été testé et vérifié, mais je ne pourrais être tenu pour responsable de pertes de données ou autre.

Télécharger AD User Editor (CodePlex)

N'hésitez pas à laisser un commentaire pour signaler un bug, demander de nouvelles fonctionnalités, ou simplement dire merci 🙂

Installation (Sharepoint 2010)

  1. Télécharger le package wsp sur le serveur où SharePoint 2010 est installé.
  2. Dans le menu Démarrer, cliquer sur Tous les Programmes > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell
  3. Taper la commande suivante:
    Add-SPSolution -LiteralPath <CheminVersLaSolution>/ADUserEditorWebpart.wsp
  4. Sur la page Administration Centrale, cliquer sur Paramètres Système > Gestion de la Ferme > Gérer les solutions de la Ferme.
  5. Sur la page Gestion des Solutions, cliquer sur "ADUserEditorWebpart.wsp", puis sur "Déployer la Solution".
  6. Rendez-vous sur la collection de sites où vous l'avez installé.
  7. Allez sur "Actions du Site > Modifier tous les paramètres" and cliquez sur "Fonctionnalités de la Collection de Sites". Vous devriez normalement voir apparaître la fonctionnalité "AD User Editor Webpart".
  8. Appuyez sur le button "Activer" en face de celle-ci.
  9. Créez une page de webparts ou modifiez celle de votre choix et ajoutez le webpart "AD User Editor WebPart".

Installation (MOSS 2007)

  1. Téléchargez l'archive et décompressez-la sur le serveur où MOSS 2007 est installé.
  2. Ouvrez un invite de commande (menu Démarrer > exécuter > cmd) et taper la commande suivante:
    cd <CheminVersLaSolution> 
    stsadm -o addsolution -filename NomineSharePointTools.wsp
  3. Allez dans "l'Administration Centrale" de SharePoint et cliquez sur l'onglet "Opérations".
  4. Cliquez maintenant sur "Gestion des solutions" (sous le titre "Configuration globale"). Normalement, vous devriez voir apparaitre la solution que vous venez d'installer (NomineSharePointTools.wsp).
  5. Cliquez dessus, choisissez "Déployer la solution", sélectionnez l'application web voulue, et validez par "OK".
  6. Rendez-vous sur la collection de sites où vous l'avez installé.
  7. Cliquez sur "Actions du Site > Modifier tous les paramètres" puis "Fonctionnalités de la Collection de Sites". Vous devriez normalement voir apparaître la fonctionnalité "Nomine SharePoint Tools".
  8. Appuyez sur le button "Activer" en face de celle-ci.
  9. Créez une page de webparts ou modifiez celle de votre choix et ajoutez le webpart "AD User Editor".

Configuration

AD Controller(s)

Vous pouvez cliquer sur les trois points à côté de la case pour l'éditer plus facilement (voire copier-coller son contenu dans votre éditeur de texte favori).

Ce paramètre permet au webpart de savoir quel contrôleur AD contacter pour éditer un utilisateur.

Voici un exemple de configuration pour 2 domaines:

<domains>
   <domain name="MYFIRSTDOMAIN" path="LDAP://dc1.myfirstdomain.com/DC=myfirstdomain,DC=com" usr="MYFIRSTDOMAIN\adminuser1" pwd="xxxxxxxxx">
   <domain name="MYSECONDDOMAIN" path="LDAP://dc1.myseconddomain.com/DC=myseconddomain,DC=com" usr="MYSECONDDOMAIN\adminuser2" pwd="xxxxxxxxx">
</domains>

Il y a 4 paramètres:

  • name: Nom "NetBios du domaine (ex: si votre nom d'utilisateur est MYFIRSTDOMAIN\user1, le nom NetBios est MYFIRSTDOMAIN)
  • path: Adresse permettant de contacter le contrôleur AD concerné (ex: "LDAP://dc1.myfirstdomain.com/DC=myfirstdomain,DC=com").
  • usr: Identifiant du compte ayant un accès lecture/écriture à Active Directory.
  • pwd: Mot de passe de ce compte.

Propriétés Active Directory

Permet de configurer les propriétés dont vous voulez permettre l'édition.

Voici un exemple de configuration:

<?xml version='1.0' encoding='UTF-8'?>
<properties>
   <property adname='displayName' name='Nom complet' type='textbox' values='' />
   <property adname='sn' name='Nom' type='textbox' values='' />
   <property adname='givenName' name='Prénom' type='textbox' values='' />
   <property adname='manager' name='Responsable' type='person' values='' />
   <property adname='assistant' name='Assistant(e)' type='person' values='' />
   <property adname='department' name='Service' type='listbox' values="Accueil;Achats;Administration;Brevets;Ressources Humaines;Systèmes d'Information" />
   <property adname='title' name='Titre' type='textbox' values='' />
   <property adname='employeeType' name="Type d'employé" type='dropdown' values='Cadre,cadre;Technicien,technicien;Ouvrier,OE' />
   <property adname='telephoneNumber' name='Téléphone' type='textbox' values='' />
   <property adname='mobile' name='Portable' type='textbox' values='' />
   <property adname='facsimileTelephoneNumber' name='Fax' type='textbox' values='' />
   <property adname='l' name='Ville' type='dropdown' values='New-York;Washington' />
   <property adname='physicalDeliveryOfficeName' name='Bureau' type='textbox' values='' />
   <property adname='company' name='Compagnie' type='textbox' values='' />
   <property adname='accountExpires' name='Date de départ' type='date' values='' />
</properties>

Chaque item "property" a 4 différents paramètres:

  • adname: C'est le nom LDAP de la propriété à éditer.
    (Vous trouverez une liste de toutes les propriétés LDAP sur www.imibo.com)
  • name: Le nom à afficher dans le formulaire d'édition
  • type: Le type de champ d'édition:
    • textbox: Simple case texte.
    • dropdown: Liste déroulante avec un choix de valeurs prédéfinies.
    • listbox: Pour éviter d'avoir une liste déroulante trop longue, c'est la "listbox" qu'il vous faut (même fonctionnement que la "listbox")
    • person: Sélecteur de personne permettant de sélectionner n'importe quel utilisateur trouvé par SharePoint dans l'AD.
    • date: Sélecteur de date avec calendrier.
  • values: Valeurs prédéfinies pour les listes déroulantes et "listbox". Peut être défini de deux façons:
    • Valeurs séparées par un point-virgule (;)
    • OU Paire titre_affiché/valeur_insérée. Chaque élément séparée par un point-virgule (;) et chaque paire séparée par une virgule (,)

Modifier uniquement l'utilisateur courant

Cochez cette case pour rendre le webpart "self-service".

Changelog

  • 2.1.4
    • Self service authentication change from "System.Security.Principal.WindowsIdentity.GetCurrent().Name" to "SPContext.Current.Web.CurrentUser.LoginName"
    • Fix typo in default german and spanish default configuration causing errors with xml parsing
  • 2.1.3
    • NEW: German translation, thanks to Danuueel
  • 2.1.2
    • NEW: Dutch translation, thanks to maarteng
  • 2.1.1
    • enhancement: displayName instead of distinguishedName (CN=xxx,DC=xxx) in read only fields like "manager"
    • enhancement: read only field can now display multiple values
    • bugfix: no more exception trying to display errors (sic)
    • enhancement: message displayed when webpart hasn't yet been configured
    • bugfix: having multiple multitextbox fields is now possible
  • 2.1.0
    • NEW: image field type (image upload resizing & cropping to 128x128px, jpg only)
    • NEW: new field types for multivalued attributes: checkboxlist, multi-textbox
  • 2.0.1
    • NEW: compatibilité avec le mode "claims based authentication" de SharePoint 2010 (supprime 'i:0#.w|' du login)
    • enhancement: message d'erreur compréhensible si le domaine requis est absent de la configuration (à la place de keyNotFoundException)
    • enhancement: majuscule auto pour le nom de domaine NetBios (-> limite les erreurs de configuration)
    • enhancement: meilleur remplissage du "Sélecteur de personnes" ('DOMAIN\username' à la place de 'username' seulement)
    • bugfix: formulaire à nouveau aux couleurs de SharePoint
  • 2.0.0
    • NEW: Compatibilité SharePoint 2010 !
    • NEW: Multilingue: Anglais, Français et Espagnol.
  • 1.1.0
    • NEW: champ "Lecture Seule"
    • bugfix: plus d'édition de la config en mode "vue personnalisée"
    • enhancement: plus besoin d'attribut "values" vide dans config xml
    • enhancement: plus de message "utilisateur trouvé" en mode self-service
  • 1.0.1
    • bugfix: correction d'un problème avec le champ "Sélecteur de personne"
  • 1.0.0
    • Première publication

Sources

Je me suis inspiré de quantité d'articles et code sources trouvés au gré de mes recherches. Voici les plus importants:

Commentaires (8)

  • david

    |

    bonjour,
    tout d’abord merci pour votrewebpart

    j’ai installé User Editor,
    et j’ai modifié Contrôleur Active Directory et Propriétés Active Directory
    mais j’ai maintenant cette erreur à chaque fois que je veux charger la page qui contient la webpart :

    Server Error in ‘/’ Application.
    ‘?’ is an unexpected token. The expected token is  »> ». Line 1, position 37.

    je suis assez perdu là, si vous pouviez m’aider 🙂 merci

    Répondre

    • alexis

      |

      Bonjour David,

      vous avez sans doute oublié un « > » dans le fichier de config mais c’est bizarre que cela fasse planter le webpart…
      Essayez d’ouvrir votre page avec SharePoint Designer et supprimez le webpart pour essayer de « sauver » votre page.

      J’espère que cela résoudra votre problème. Tenez moi au courant.
      Cordialement,

      Alexis

      Répondre

  • tony

    |

    Bonjour,

    Pouvez-vous m’aider à paramétrer comme il faut SVP ?

    voilà comment je procède mais j’ai l’erreur ci-dessous.

    Merci

    Erreur

    Une erreur inattendue s’est produite.

    Page de maintenance des composants WebPart : Si vous y êtes autorisé, vous pouvez utiliser cette page pour fermer temporairement des composants WebPart ou supprimer des paramètres personnels. Pour plus d’informations, contactez l’administrateur de votre site.

    Résoudre les problèmes liés à Microsoft SharePoint Foundation.

    ID de corrélation : 8368bb0f-f3a7-49f4-a59e-a0d19c92056e

    Date et heure : 14/02/2013 14:01:14

    Répondre

    • Alexis Nominé

      |

      Bonjour,

      Désolé pour cette réponse tardive. Le bug que vous avez rencontré devrait être réglé dans la v2.1.1

      Cordialement

      Répondre

  • PAtrick

    |

    Bonjour,
    Est ce c’est possible de l’installer sur sharepoint 2013 ??
    Merci

    Répondre

    • Alexis Nominé

      |

      C’est surement possible, bien que je n’ai pas encore eu l’occasion de le tester.

      Répondre

  • Stéphane

    |

    Pourquoi réinventer la roue: c’est exactement ce qu’il me faut!
    Le seul point gênant est la saisie « en dur » du compte/pwd dans le paramétrage du webpart
    Avez-vous pensé à récupérer les identifiants d’une autre manière? Par exemple, du single sign-on?

    Répondre

    • Alexis Nominé

      |

      Je suis conscient de ce stockage des identifiants n’est pas au top et l’amélioration de cette partie fera sûrement partie de la prochaine version 🙂 (J’étudie entre autres l’option Secure Store)

      Répondre

Laisser un commentaire