{"id":15,"date":"2009-08-12T20:44:35","date_gmt":"2009-08-12T18:44:35","guid":{"rendered":"http:\/\/alexis.nomine.fr\/en\/?page_id=15"},"modified":"2015-12-16T12:34:50","modified_gmt":"2015-12-16T11:34:50","slug":"ad-user-editor-webpart-sharepoint-2010-moss-2007","status":"publish","type":"page","link":"https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/","title":{"rendered":"&#8220;AD User Editor WebPart&#8221; for SharePoint 2010 &#038; MOSS 2007"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignright\" alt=\"AD User Editor\" src=\"\/en\/files\/2009\/08\/adusereditor.png\" \/><\/p>\n<p><strong>AD User Editor\u00a0<\/strong>is a WebPart for SharePoint 2010 &amp; MOSS 2007 to easily edit any user profile attribute in Active Directory trough an entirely customizable form.<\/p>\n<ul class=\"check\">\n<li><strong>Nearly any Active Directory attribute\u00a0<\/strong>can be edited trough this webpart<\/li>\n<li><strong>Edit form entirely customizable<\/strong>\u00a0via XML configuration (nothing \"hard-coded\")<\/li>\n<li><strong>9 field types<\/strong>:\n<ul>\n<li>Photo (upload &amp; resize),<\/li>\n<li>Read-Only,<\/li>\n<li>Single TextBox,<\/li>\n<li>Multiple TextBox,<\/li>\n<li>DropDownList (with preset values),<\/li>\n<li>ListBox (with preset values),<\/li>\n<li>People Picker,<\/li>\n<li>Date Picker,<\/li>\n<li>Checkboxes (with preset values, multivalued)<\/li>\n<\/ul>\n<\/li>\n<li><strong>Multi-domain<\/strong>\u00a0compatible<\/li>\n<li><strong>2 edit modes:\u00a0<\/strong>Self-service\u00a0or user picker<\/li>\n<li><strong>SharePoint \"look &amp; feel\"<\/strong><\/li>\n<li>Available for Sharepoint 2010 in\u00a0<a href=\"https:\/\/nominesptools.codeplex.com\/releases\/view\/107079\">multilanguage version (EN, FR, ES, NL)<\/a><\/li>\n<li>Still available for MOSS 2007 in\u00a0<a href=\"http:\/\/nominesptools.codeplex.com\/releases\/view\/52442\">English<\/a>,\u00a0<a href=\"http:\/\/nominesptools.codeplex.com\/Release\/ProjectReleases.aspx?ReleaseId=31562#DownloadId=94326\">Spanish<\/a>\u00a0and\u00a0<a href=\"http:\/\/nominesptools.codeplex.com\/Release\/ProjectReleases.aspx?ReleaseId=31562#DownloadId=79650\">French<\/a>\u00a0(Without photo, checkboxes &amp; multi-textbox fields)<\/li>\n<\/ul>\n<div class=\"box-warning\">Warning:\u00a0This tool modify data in Active Directory. Be careful setting the user access rights. It has been tested and verified, but I cannot be held responsible for any loss of data - use at your own risk.<\/div>\n<p class=\"box-download\"><a href=\"http:\/\/nominesptools.codeplex.com\/\">Download AD User Editor<\/a>\u00a0(CodePlex)<\/p>\n<p class=\"box-hint\" style=\"vertical-align: top;\">Feel free to use the\u00a0comment form to point out bugs, ask for features, or just say thanks \ud83d\ude42<\/p>\n<h2 style=\"clear: both;\">Installation (Sharepoint 2010)<\/h2>\n<ol>\n<li>Download the wsp package to the server where SharePoint 2010 is installed.<\/li>\n<li>On the Start menu, click All Programs &gt; Microsoft SharePoint 2010 Products &gt; SharePoint 2010 Management Shell<\/li>\n<li>Type the following command:\n<pre class=\"brush: powershell;\">Add-SPSolution -LiteralPath &lt;SolutionPath&gt;\/ADUserEditorWebpart.wsp<\/pre>\n<\/li>\n<li>On the Central Administration Home page, click System Settings &gt; Farm Management &gt; Manage farm solutions.<\/li>\n<li>On the Solution Management page, click the \"ADUserEditorWebpart.wsp\", then click \"Deploy Solution\".<\/li>\n<li>Go the site collection where you installed it.<\/li>\n<li>Go to \"Site Actions&gt;Modify all parameters\" and click on \"Site Collection Features\". If everything went well, you should find the feature you've just installed (AD User Editor Webpart).<\/li>\n<li>Push the button \"Activate\" in front of it.<\/li>\n<li>Create a new webpart page or modify the one you want and add the webpart \"AD User Editor Webpart\".<\/li>\n<\/ol>\n<h2>Installation (MOSS 2007)<\/h2>\n<ol>\n<li>Download and unzip the installation package to the server where MOSS 2007 is installed.<\/li>\n<li>Open a console (Start menu&gt;execute&gt;cmd) and type in the following instructions:\n<pre class=\"brush: powershell;\">cd &lt;path to installer&gt; \r\nstsadm -o addsolution -filename NomineSharePointTools.wsp<\/pre>\n<\/li>\n<li>Go to your SharePoint \"Central Administration\" and click on the tab \"Operations\".<\/li>\n<li>There, you should click on the link named \"Solution Management\" under the title \"Global Configuration\". If everything went well, you should find the solution you've just installed (NomineSharePointTools.wsp).<\/li>\n<li>Click it, choose \"Deploy Solution\", select the Web Application you want it to be deployed to and then click \"OK\".<\/li>\n<li>Go the site collection where you installed it.<\/li>\n<li>Go to \"Site Actions&gt;Modify all parameters\" and click on \"Site Collection Features\". If everything went well, you should find the feature you've just installed (Nomine SharePoint Tools).<\/li>\n<li>Push the button \"Activate\" in front of it.<\/li>\n<li>Create a new webpart page or modify the one you want and add the webpart \"AD User Editor\".<\/li>\n<\/ol>\n<h2>Configuration<\/h2>\n<div class=\"box-content\">\n<h3>AD Controller(s)<\/h3>\n<p class=\"box-info\">You can click the three dots to view it better (and maybe copy-paste it to your favourite text editor).<\/p>\n<p>This is for the webpart to understand which domain controller it should connect in order to edit an user.<\/p>\n<p>Here is an example configuration for 2 domains:<\/p>\n<pre class=\"language-markup\"><code>&lt;domains&gt;\r\n   &lt;domain name=\"MYFIRSTDOMAIN\" path=\"LDAP:\/\/dc1.myfirstdomain.com\/DC=myfirstdomain,DC=com\" usr=\"MYFIRSTDOMAIN\\adminuser1\" pwd=\"xxxxxxxxx\"&gt;\r\n   &lt;domain name=\"MYSECONDDOMAIN\" path=\"LDAP:\/\/dc1.myseconddomain.com\/DC=myseconddomain,DC=com\" usr=\"MYSECONDDOMAIN\\adminuser2\" pwd=\"xxxxxxxxx\"&gt;\r\n&lt;\/domains&gt;<\/code><\/pre>\n<p>There are 4 parameters:<\/p>\n<ul>\n<li><strong>name<\/strong>: It is the Netbios domain name (the netbios name is what you type before your login. eg: if you type\u00a0<strong>MYFIRSTDOMAIN<\/strong>\\user1, then the netbios name is MYFIRSTDOMAIN)<\/li>\n<li><strong>path<\/strong>: It's the path to connect to the corresponding Active Directory controller (eg: \"LDAP:\/\/dc1.myfirstdomain.com\/DC=myfirstdomain,DC=com\").<\/li>\n<li><strong>usr<\/strong>: Username of an account that has\u00a0<strong>Read\/Write<\/strong>\u00a0access to this Active Directory controller.<\/li>\n<li><strong>pwd<\/strong>: Password of this account.<\/li>\n<\/ul>\n<\/div>\n<div class=\"box-content\">\n<h3>AD Properties<\/h3>\n<p>Here you can configure all the profile attributes that you want to appear in the edit form.<\/p>\n<p>Here is an example configuration:<\/p>\n<pre class=\"language-markup\"><code>&lt;properties&gt;\r\n   &lt;property adname=\"displayName\" name=\"Full Name\" type=\"readonly\" \/&gt;\r\n   &lt;property adname=\"thumbnailPhoto\" name=\"Photo\" type=\"image\" \/&gt;\r\n   &lt;property adname=\"sn\" name=\"Last Name\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"givenName\" name=\"First Name\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"manager\" name=\"Manager\" type=\"person\" \/&gt;\r\n   &lt;property adname=\"assistant\" name=\"Assistant\" type=\"person\" \/&gt;\r\n   &lt;property adname=\"department\" name=\"Service\" type=\"listbox\" values=\"IT;Human Resources;Bio;Security\" \/&gt;\r\n   &lt;property adname=\"title\" name=\"Title\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"employeeType\" name=\"Employee Type\" type=\"dropdown\" values=\"Technician,tech;Manager,mgr;Director,dir\" \/&gt;\r\n   &lt;property adname=\"telephoneNumber\" name=\"Telephone number\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"otherTelephone\" name=\"Other phone numbers\" type=\"multitextbox\" values=\"4\" \/&gt;\r\n   &lt;property adname=\"mobile\" name=\"Mobile\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"facsimileTelephoneNumber\" name=\"Fax\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"l\" name=\"Town\" type=\"dropdown\" values=\"New-York;Washington\" \/&gt;\r\n   &lt;property adname=\"physicalDeliveryOfficeName\" name=\"Office\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"company\" name=\"Company\" type=\"textbox\" \/&gt;\r\n   &lt;property adname=\"accountExpires\" name=\"Departure Date\" type=\"date\" \/&gt;\r\n   &lt;property adname=\"extensionCustomAttribute1\" name=\"Certifications\" type=\"checkboxlist\" values=\"Cisco,CIS;Microsoft,MIC;Oracle,ORA\" \/&gt;\r\n&lt;\/properties&gt;<\/code><\/pre>\n<p>A \"property\" field has 4 different properties:<\/p>\n<ul>\n<li><strong>adname<\/strong>: The LDAP name of the attribute you want to modify.<br \/>\n(You can find a list of all LDAP attribute names on\u00a0<a href=\"http:\/\/www.imibo.com\/imius\/User-Detailed-Tabs.htm#Detailed_User_Data\" target=\"_blank\">www.imibo.com<\/a>)<\/li>\n<li><strong>name<\/strong>: The name you want to display in the edit form<\/li>\n<li><strong>type<\/strong>: Which type you want the field to be:\n<ul>\n<li><em>textbox<\/em>: Simple text-box. Common way of editing things.<\/li>\n<li><em>dropdown<\/em>: Dropdown list with a choice of predefined values.<\/li>\n<li><em>listbox<\/em>: If a dropdown list would be too long, this is the best solution. It works as \"dropdown\".<\/li>\n<li><em>person<\/em>: People Picker to select any people that SharePoint will find in Active Directory.<\/li>\n<li><em>date<\/em>: Date Picker with calendar.<\/li>\n<li><em>readonly<\/em>: Read only field<\/li>\n<li><em>photo<\/em>: Picture upload for the \"thumbnailPhoto\" attribute (photo will be resized &amp; cropped to 128x128px)<\/li>\n<li><em>checkboxlist<\/em>: Checkboxes with a choice of predefined values.<\/li>\n<li><em>multitextbox<\/em>: Multiple textboxes<\/li>\n<\/ul>\n<\/li>\n<li><strong>values<\/strong>:\n<ul>\n<li>For ListBox, DropDownList\u00a0and CheckBoxList:<br \/>\nvalues separated by semicolons(;)<br \/>\nOR<br \/>\npair of displayed_title,inserted_value (comma (,) between title and value and semicolon(;) between items)<\/li>\n<li>For MultiTextBox:<br \/>\nindicates the number of fields (ex: values=\"4\" indicates that you want 4 textboxes)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"box-content\">\n<h3>Edit current user only<\/h3>\n<p>Check the box to activate \"self-service mode\": logged-in users can only edit their own profile.<\/p>\n<\/div>\n<h2>Changelog<\/h2>\n<ul>\n<li>2.1.4\n<ul>\n<li>Self service authentication change from \"System.Security.Principal.WindowsIdentity.GetCurrent().Name\" to \"SPContext.Current.Web.CurrentUser.LoginName\"\n<\/li>\n<li>Fix typo in default german and spanish default configuration causing errors with xml parsing\n<\/li>\n<\/ul>\n<\/li>\n<li>2.1.3\n<ul>\n<li>NEW: German translation, thanks to Danuueel<\/li>\n<\/ul>\n<\/li>\n<li>2.1.2\n<ul>\n<li>NEW: German translation, thanks to Danuueel<\/li>\n<\/ul>\n<\/li>\n<li>2.1.2\n<ul>\n<li>NEW: Dutch translation, thanks to maarteng<\/li>\n<\/ul>\n<\/li>\n<li>2.1.1\n<ul>\n<li>enhancement: displayName instead of distinguishedName (CN=xxx,DC=xxx) in read only fields like \"manager\"<\/li>\n<li>enhancement: read only field can now display multiple values<\/li>\n<li>bugfix: no more exception trying to display errors (sic)<\/li>\n<li>enhancement: message displayed when webpart hasn't yet been configured<\/li>\n<li>bugfix: having multiple multitextbox fields is now possible<\/li>\n<\/ul>\n<\/li>\n<li>2.1.0\n<ul>\n<li>NEW: image field type (image upload resizing &amp; cropping to 128x128px, jpg only)<\/li>\n<li>NEW: new field types for multivalued attributes: checkboxlist, multi-textbox<\/li>\n<\/ul>\n<\/li>\n<li>2.0.1\n<ul>\n<li>NEW: compatibility with SP2010 \"claims based authentication\" (strips 'i:0#.w|' from the username)<\/li>\n<li>enhancement: meaningful error message if required domain missing from xml config (instead of keyNotFoundException)<\/li>\n<li>enhancement: auto uppercase domain NetBios name (-&gt; less config errors)<\/li>\n<li>enhancement: better \"person field\" handling ('DOMAIN\\username' instead of just 'username' when filling the field)<\/li>\n<li>bugfix: edit form now with the current theme style<\/li>\n<\/ul>\n<\/li>\n<li>2.0.0\n<ul>\n<li>NEW: Now for SharePoint 2010 !<\/li>\n<li>NEW: Multilingual: English, French and Spanish.<\/li>\n<\/ul>\n<\/li>\n<li>1.1.0\n<ul>\n<li>NEW: \"readonly\" field type added<\/li>\n<li>bugfix: no more editing config in personal view<\/li>\n<li>enhancement: no more need to add empty \"values\" attribute in xml config<\/li>\n<li>enhancement: no more \"user found\" message in self-service mode<\/li>\n<\/ul>\n<\/li>\n<li>1.0.1\n<ul>\n<li>bugfix: solved issue with \"person\" field type<\/li>\n<\/ul>\n<\/li>\n<li>1.0.0\n<ul>\n<li>Initial release<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Sources<\/h2>\n<p>I picked a lot of infos and get inspirated by some bits of source code googling the web. My most important sources of inspiration and help were:<\/p>\n<ul>\n<li><a href=\"http:\/\/adselfservice.codeplex.com\/\">ActiveDirectoryTools<\/a>\u00a0of Burke Holland<\/li>\n<li>SharePoint solution created by the\u00a0<a href=\"http:\/\/codeplex.com\/stsdev\">STSDEV<\/a>\u00a0utility<\/li>\n<li>Right way of coding webpart on\u00a0<a href=\"http:\/\/www.sharepoint-tips.com\/2007\/03\/server-side-controls-and-data-binding.html\">Ishai Sagi's blog<\/a><\/li>\n<li>Sharepoint Web Controls (User picker, Date picker) from\u00a0<a href=\"http:\/\/karinebosch.wordpress.com\/sharepoint-controls\/\">Karine Bosch's blog<\/a><\/li>\n<li>Photo resizing &amp; cropping from\u00a0<a href=\"http:\/\/www.britishdeveloper.co.uk\/2011\/05\/image-resizing-cropping-and-compression.html\">British Developer<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>AD User Editor\u00a0is a WebPart for SharePoint 2010 &amp; MOSS 2007 to easily edit any user profile attribute in Active Directory trough an entirely customizable form. Nearly any Active Directory attribute\u00a0can be edited trough this webpart Edit form entirely customizable\u00a0via XML configuration (nothing &#8220;hard-coded&#8221;) 9 field types: Photo (upload &amp; resize), Read-Only, Single TextBox, Multiple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>&quot;AD User Editor WebPart&quot; for SharePoint 2010 &amp; MOSS 2007 - Nomine Web Creations<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/ad-user-editor-webpart-sharepoint-2010-moss-2007\\\/\",\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/ad-user-editor-webpart-sharepoint-2010-moss-2007\\\/\",\"name\":\"\\\"AD User Editor WebPart\\\" for SharePoint 2010 & MOSS 2007 - Nomine Web Creations\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#website\"},\"datePublished\":\"2009-08-12T18:44:35+00:00\",\"dateModified\":\"2015-12-16T11:34:50+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/ad-user-editor-webpart-sharepoint-2010-moss-2007\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/\",\"name\":\"Nomine Web Creations\",\"description\":\"Websites creation, development, web design\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\"AD User Editor WebPart\" for SharePoint 2010 & MOSS 2007 - Nomine Web Creations","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/","url":"https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/","name":"\"AD User Editor WebPart\" for SharePoint 2010 & MOSS 2007 - Nomine Web Creations","isPartOf":{"@id":"https:\/\/alexis.nomine.fr\/en\/#website"},"datePublished":"2009-08-12T18:44:35+00:00","dateModified":"2015-12-16T11:34:50+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alexis.nomine.fr\/en\/ad-user-editor-webpart-sharepoint-2010-moss-2007\/"]}]},{"@type":"WebSite","@id":"https:\/\/alexis.nomine.fr\/en\/#website","url":"https:\/\/alexis.nomine.fr\/en\/","name":"Nomine Web Creations","description":"Websites creation, development, web design","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alexis.nomine.fr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":5,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/pages\/15\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/media?parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}