<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4234522992777071740</id><updated>2011-11-27T15:46:39.566-08:00</updated><category term='SharePoint'/><title type='text'>The Deluded Professional</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thedeludedpro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thedeludedpro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sriks</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4234522992777071740.post-477686749684594022</id><published>2008-07-14T06:44:00.000-07:00</published><updated>2008-07-14T06:46:01.182-07:00</updated><title type='text'>SIMPLE SHARE POINT TOOLS - 2</title><content type='html'>&lt;em&gt;&lt;strong&gt;Release 2 Release date: 07/14/2008&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;2) &lt;strong&gt;SPFarm Auditing Tool v0.1:&lt;/strong&gt; The purpose of this tool is to create a complete list of Share point Farm Features. This tool helps Administrators to keep track of Share Point installation Tool performs audits using SPServiceCollection objects and displays the list of services, features etc installed on a Share Point farm. This list can be exported to a Text file for future reference. Tool was developed using C#, and Share Point SDK.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/SpSimpleTools"&gt;Codeplex download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4234522992777071740-477686749684594022?l=thedeludedpro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedeludedpro.blogspot.com/feeds/477686749684594022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4234522992777071740&amp;postID=477686749684594022' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/477686749684594022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/477686749684594022'/><link rel='alternate' type='text/html' href='http://thedeludedpro.blogspot.com/2008/07/simple-share-point-tools-2.html' title='SIMPLE SHARE POINT TOOLS - 2'/><author><name>Sriks</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4234522992777071740.post-8594262787960847551</id><published>2008-07-11T08:32:00.000-07:00</published><updated>2008-07-11T08:34:01.236-07:00</updated><title type='text'>Simple Share Point Tools</title><content type='html'>A collection of simple Share Point tools for share point developers and administrators.  I have about 7 tools designed and developed and shall be uploading them one by one in Codeplex &lt;br /&gt;1) User Auditing Tool v0.1 - This is a simple GUI utility developed using C#, and Share Point SDK. The purpose of this tool is to enable Administrators/help desk personnel to keep track of Share Point users and perform user Audit The tool performs user audit through Application/Site collections and Websites and displays the list of group(s) owned by the user and list of group(s) he/she is member of. The tool also dumps the audit result to a text file.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/SpSimpleTools"&gt;http://www.codeplex.com/SpSimpleTools&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4234522992777071740-8594262787960847551?l=thedeludedpro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedeludedpro.blogspot.com/feeds/8594262787960847551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4234522992777071740&amp;postID=8594262787960847551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/8594262787960847551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/8594262787960847551'/><link rel='alternate' type='text/html' href='http://thedeludedpro.blogspot.com/2008/07/simple-share-point-tools.html' title='Simple Share Point Tools'/><author><name>Sriks</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4234522992777071740.post-3162159199304503935</id><published>2008-06-12T10:28:00.000-07:00</published><updated>2008-06-12T10:33:08.887-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Dynamic Share Point Custom Feature Receiver</title><content type='html'>My idea was to add few Custom Feature Receivers [menu items] to make my life easy with SharePoint.  I wanted to add links to routine tasks like Share point central admin, Features management etc.   &lt;br /&gt;&lt;br /&gt;Hence my first step to make this happen is Google! &lt;br /&gt;---------------- Cut here ------------------------------------------------------&lt;br /&gt;1998: If you are coding less than 500 lines a day you are a poor developer&lt;br /&gt;2008: If you are coding more than 50 lines, it means you don’t Google enough. &lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;On Goggling I found few very good examples which I could have used but the menus were brutally hardcoded. If I had to add new one, I had to recompile/redeploy the solution. This raised a question - how about reading the menu items from a XML file? Will share point refresh when I make changes to the Xml? -- Yes it does &lt;br /&gt;“XMLMenuFeatureReceiver” was the answer.&lt;br /&gt;&lt;br /&gt;You can download the source or the WSP solution file from Codeplex.&lt;br /&gt;&lt;a target="blank" href="http://www.codeplex.com/xmlFeatureReceiver/"&gt;http://www.codeplex.com/xmlFeatureReceiver/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4234522992777071740-3162159199304503935?l=thedeludedpro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedeludedpro.blogspot.com/feeds/3162159199304503935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4234522992777071740&amp;postID=3162159199304503935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/3162159199304503935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/3162159199304503935'/><link rel='alternate' type='text/html' href='http://thedeludedpro.blogspot.com/2008/06/dynamic-share-point-custom-feature.html' title='Dynamic Share Point Custom Feature Receiver'/><author><name>Sriks</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4234522992777071740.post-6476022511915948995</id><published>2008-06-12T10:04:00.000-07:00</published><updated>2009-02-19T20:39:30.703-08:00</updated><title type='text'>Share point Work Flow and the AD pattern</title><content type='html'>Like most modern developers or solution evangelists or preachers or Code Voodoo masters, I started to mess around with Microsoft Workflows foundation. I dived deeply into the ill fated tool that was once called as Front Page and now renamed as the Share Point designer. In no time I leant Visual Studio is the best tool to develop workflows for Share Point. &lt;br /&gt;&lt;br /&gt;The work flow are of two types &lt;br /&gt;Microsoft calls them as Sequential and State Machine.&lt;br /&gt;I call it,   &lt;br /&gt;a. Type Z - the one that could Work with mammoth effort, &lt;br /&gt;b. Type Y - the one that would Never Work regardless of your best efforts. &lt;br /&gt;&lt;br /&gt;now over to Share Point list and the AD pattern.&lt;br /&gt;&lt;br /&gt;Step 0: Create a share point List, add 2 new columns  &lt;br /&gt;a) Requestor:  (Person or Group) Make sure the display field is Email.&lt;br /&gt;b) Manager: (Text field)&lt;br /&gt;Step 1:  Code a method to read the AD. &lt;br /&gt;Ingredients: the LDAP url, login with appropriate permission and pwd.&lt;br /&gt;Our Input : Email [This need not be email, you if you read the following code carefully   you will find a way to change it]&lt;br /&gt;&lt;br /&gt;public static string getManager(string userName)&lt;br /&gt;{&lt;br /&gt;string domain = "ldap://yourcompanyLdap.company.com";&lt;br /&gt;string login = "[a speical admin account designated for this purpose]";&lt;br /&gt;string password = "[pwd]";&lt;br /&gt;string searchFor = userName;&lt;br /&gt;string returnValue = "unable to find Manager";&lt;br /&gt;string metaType = "Mail";  // ...&lt;br /&gt;&lt;br /&gt;DirectoryEntry Root = new DirectoryEntry(domain, login, password, AuthenticationTypes.Delegation);&lt;br /&gt;using (Root)&lt;br /&gt;{&lt;br /&gt;DirectorySearcher dsearcher = new DirectorySearcher(Root);&lt;br /&gt;dsearcher.Filter = metaType + "=" + searchFor;&lt;br /&gt;dsearcher.SearchScope = SearchScope.Subtree;&lt;br /&gt;SearchResult searchresult = dsearcher.FindOne();&lt;br /&gt;if (searchresult != null)&lt;br /&gt;{&lt;br /&gt;DirectoryEntry myDirectoryEntry = searchresult.GetDirectoryEntry();&lt;br /&gt;string strManagerAlias = myDirectoryEntry.Properties["manager"].Value.ToString().Trim();&lt;br /&gt;DirectoryEntry managerEntry = new DirectoryEntry(domain +"/" + strManagerAlias, login, password, AuthenticationTypes.Delegation);&lt;br /&gt;&lt;br /&gt;//domainname\samAccount , is need for the Share point Task&lt;br /&gt;returnValue = Root.Properties["name"].Value.ToString() + "\\" +managerEntry.Properties["sAMAccountName"].Value.ToString();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return returnValue;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Step 2: &lt;br /&gt;1) Go ahead and create a new Sequential Work flow using Visual Studio&lt;br /&gt;2) Drag and Drop a “OnWorkFlowActivated” Task &lt;br /&gt;3) Do the Initial rituals of assigning Correlation token etc. &lt;br /&gt;4) Assign a variable for Work-Flow  [my code calls it  “WorkflowProperties”]&lt;br /&gt;5) Add an Event and code to the code Block.&lt;br /&gt;//Visual Studio should add the below line automatically [Step 4/5]&lt;br /&gt;public Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties WorkflowProperties = new &lt;br /&gt;Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties();&lt;br /&gt;&lt;br /&gt;The above represents the initial properties of the workflow instance when it kicks in, this contains details like workflow user, the list and item to which the workflow was tied to.&lt;br /&gt;&lt;br /&gt;The following  is the event handler code to the work flow activated activity.&lt;br /&gt;&lt;font size=2 face="courier"&gt;&lt;br /&gt;public string _requestor =””;&lt;br /&gt;public string _manager=””;&lt;br /&gt;&lt;br /&gt;private void OnWorkActivated(object sender, ExternalDataEventArgs e)&lt;br /&gt;{&lt;br /&gt;            //populate the Automatic Fields &lt;br /&gt;            if (WorkflowProperties.Item["Requestor"] != null)&lt;br /&gt;            {&lt;br /&gt;                _requestor = WorkflowProperties.Item["Requestor"].ToString();&lt;br /&gt;                _requestor = _requestor.Remove(0, _requestor.IndexOf('#') + 1); &lt;br /&gt;                //the above ritual is a must  ,thanks to share point.&lt;br /&gt;                // Autopopulate the Fields.&lt;br /&gt;    _manager= getManager(_requestor)&lt;br /&gt;                WorkflowProperties.Item["Manager"] = _manager;&lt;br /&gt;               WorkflowProperties.Item.Update();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;Step 3: compile and build and deploy it as feature. , enable the feature&lt;br /&gt;Step 4, Add the workflow to the list. &lt;br /&gt;&lt;br /&gt;9 of 10 times the above should work and my is disclaimer that this is not the only method, you are welcome to post your ideas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4234522992777071740-6476022511915948995?l=thedeludedpro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedeludedpro.blogspot.com/feeds/6476022511915948995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4234522992777071740&amp;postID=6476022511915948995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/6476022511915948995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4234522992777071740/posts/default/6476022511915948995'/><link rel='alternate' type='text/html' href='http://thedeludedpro.blogspot.com/2008/06/share-point-work-flow-and-ad-pattern.html' title='Share point Work Flow and the AD pattern'/><author><name>Sriks</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
