<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3997826521443705114</atom:id><lastBuildDate>Wed, 29 Aug 2018 16:57:39 +0000</lastBuildDate><category>MOSS</category><category>MOSS Branding</category><category>CMS to MOSS migration</category><category>SharePoint Conference 2011</category><category>SharePoint migration</category><category>Content deployment</category><category>Custom navigation provider</category><category>SharePoint 2010</category><category>User Profiles</category><category>About me</category><category>Accessing document hits</category><category>Administration</category><category>Case Studies</category><category>Change MOSS site URL</category><category>Comments</category><category>DST and SP1</category><category>Debugging code in MOSS - SharePoint 2007</category><category>IIS</category><category>Infopath</category><category>MOSS 2007 MySites</category><category>MOSS 2007 SSP access denied</category><category>MOSS 2007 Service accounts</category><category>MOSS 2007 navigation treeeview</category><category>MOSS Document Importer</category><category>MOSS Migration option</category><category>MOSS Search</category><category>MOSS URL Rewriting</category><category>Microsoft VPC 2004 development</category><category>Patterns and Practices</category><category>PnP</category><category>Presentations</category><category>SSL on MOSS 2007</category><category>SharePoint 2010 Install</category><category>SharePoint Certification</category><category>Sharepoint 2003 deleting orphans</category><category>Traversing list heirarchies</category><category>Upgrade</category><category>VPC 2007</category><category>Vista windows update</category><category>VseWSS</category><category>Web Part page template</category><category>Workflows</category><category>install</category><category>stsadm</category><category>uploading site templates</category><category>vacation</category><title>Faraz Khan&#39;s SharePoint blog</title><description>Faraz&#39;s tips and tricks on SharePoint and other technologies.</description><link>http://faraz-khan.blogspot.com/</link><managingEditor>noreply@blogger.com (Faraz)</managingEditor><generator>Blogger</generator><openSearch:totalResults>73</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-2934572146745393305</guid><pubDate>Tue, 02 Apr 2013 15:47:00 +0000</pubDate><atom:updated>2013-04-02T09:47:24.357-06:00</atom:updated><title>Access Denied When trying to crawl MySites</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;This happened to me recently. I was configuring a SharePoint 2013 farm with an auto installer. Had the configuration almost complete, and then I noticed that Search was throwing an error crawling my sites by looking at the crawl log.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #e06666;&quot;&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=3997826521443705114&quot;&gt;sps3://&lt;/a&gt;[MySiteUrl]&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Calibri; font-size: 11.0pt; margin: 0in;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #e06666;&quot;&gt;Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has &quot;Full Read&quot; permissions on the SharePoint Web Application being crawled. ( HttpStatusCode Unauthorized The request failed with HTTP status 401: Unauthorized. )&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I took a peak around the site and everything looked ok. I then looked at the Manage Web Applications screen in Central Admin. To do this, select the web application, then click on User Policy in the ribbon. Make sure that the search crawl account has a full read on all web applications that you want it to index. In my case, even this was set correctly.&lt;br /&gt;&lt;br /&gt;I then started poking around some more and went to the User Profile Service application and I found my answer. To do this, go to the service applications screen, highlight the User Profile Service application (not the proxy), by clicking to the right of the link. Once highlighted, click on the Administrators link in the ribbon, then add the search crawl account to this list and give it the &#39;Retrieve People Data for Search Crawlers&#39;. Hit ok and do a full crawl. Your People search should work now. Happy SharePointing.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-CzMazX_v-Ho/UVr9Vy29sBI/AAAAAAAAAM8/XY36pcltgWM/s1600/search.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;372&quot; src=&quot;http://1.bp.blogspot.com/-CzMazX_v-Ho/UVr9Vy29sBI/AAAAAAAAAM8/XY36pcltgWM/s640/search.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2013/04/access-denied-when-trying-to-crawl.html</link><author>noreply@blogger.com (Faraz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-CzMazX_v-Ho/UVr9Vy29sBI/AAAAAAAAAM8/XY36pcltgWM/s72-c/search.png" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-7097643631299429473</guid><pubDate>Wed, 12 Sep 2012 20:45:00 +0000</pubDate><atom:updated>2012-09-12T14:45:32.400-06:00</atom:updated><title>How to Correctly Backup and Restore Term Store DB, Content Type Hub and Content Database</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I have run across this scenario a few times so I thought I would write a guide for others to follow. The need for this comes up when companies have multiple environments such as Prod, Staging, Test, Dev etc. Almost invariably, I have seen that the Prod environments are the most up to date, not only in terms of content but also in terms of configuration of the SharePoint farm.&lt;br /&gt;&lt;br /&gt;So lets assume that your organization is using the Content Type Hub to syndicate and push content types to the different subscribing site collections. This involves the use of the Managed Metadata Service which directs the publishing of the content types and also allows for the term sets to be used in the various SharePoint web sites. Lets also assume that your sites use Managed Metadata columns that are mapped to the term sets in the term store. Every once in a while, you want to pull data back to your other environments for periodic refreshes and testing. I have been asked how to do this by a few clients so I will lay it out here.&lt;br /&gt;&lt;br /&gt;To do this correctly, you will need to back up at least 3 databases from your production farm, depends on how many databases your hub and content sites are using. I am assuming 1 per web application here. So, backup the Hub database, the content database or databases which you want to bring back, and the managed metadata database that contains all the term sets and terms. What is the managed metadata database, you ask. To find that out, you have to go to Service Applications, highlight the Managed Metadata Service application and then click properties. You will see the name of the database on this screen.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-z4LcpLqCjb8/UFDvz4GGyTI/AAAAAAAAALY/HCtLNAeWBvM/s1600/MMSDatabase.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;135&quot; src=&quot;http://1.bp.blogspot.com/-z4LcpLqCjb8/UFDvz4GGyTI/AAAAAAAAALY/HCtLNAeWBvM/s320/MMSDatabase.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Bring those backed up databases to the target environment SQL Server, ready to be restored. As a best practice first I make backups of all three or more databases in the target environment that I am about to replace. Then I turn of the SP Timer service to make sure the timer jobs don&#39;t try to push stuff while I am restoring term sets and the Hub. Then I override the MMS destination database with the MMS database I just backup from Prod. This brings back all the term sets and terms. I also disconnect the Hub and the target web application content databases using CA or stsadm or powershell.&lt;br /&gt;&lt;br /&gt;Note: To view this go back to the properties screen we were just on for the Managed Metadata Service Application. This brings back the connection to the content type hub in production, which is what we don&#39;t want. We want this URL to point to our target environment (Staging, Test etc). It is not possible to change this URL from the UI, we have to change it using powershell.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-xOaIn8sCqQg/UFDxuq-cxFI/AAAAAAAAALg/LtREzfHjM_s/s1600/ContentTypeHubSetting.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;43&quot; src=&quot;http://1.bp.blogspot.com/-xOaIn8sCqQg/UFDxuq-cxFI/AAAAAAAAALg/LtREzfHjM_s/s320/ContentTypeHubSetting.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The Powershell command is as follows:&lt;br /&gt;&lt;br /&gt;&lt;code class=&quot;plain&quot; style=&quot;background-color: white; background-image: none !important; border: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 12px; height: auto !important; left: auto !important; line-height: 13.183333396911621px; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;Set-SPMetadataServiceApplication -Identity &quot;&amp;lt;&lt;/code&gt;&lt;code class=&quot;keyword&quot; style=&quot;background-color: white; background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 12px; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 13.183333396911621px; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;ServiceApplication&lt;/code&gt;&lt;code class=&quot;plain&quot; style=&quot;background-color: white; background-image: none !important; border: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 12px; height: auto !important; left: auto !important; line-height: 13.183333396911621px; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt;&quot; -HubURI &quot;&amp;lt;&lt;/code&gt;&lt;code class=&quot;keyword&quot; style=&quot;background-color: white; background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 12px; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 13.183333396911621px; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;HubURI&lt;/code&gt;&lt;code class=&quot;plain&quot; style=&quot;background-color: white; background-image: none !important; border: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace !important; font-size: 12px; height: auto !important; left: auto !important; line-height: 13.183333396911621px; margin: 0px !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&amp;gt;&quot;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Once the managed metadata service looks good and all the term sets and terms have come through, then we can move on to the hub and content databases. Restore the hub and content databases as different names on the target farm so they dont override. Make sure that the permissions match on the newly restored database and the old database that we just disconnected. This is just a practice I follow. Then attach the hub web application to the newly restored hub database from prod. You might have to redo permissions on the newly restored site collections through CA so you can access them.&lt;br /&gt;&lt;br /&gt;Finally, restore and attach all the content databases that you need to. After all this is done, do an IISReset and start the timer service. This will start the two timer jobs that push and subscribe to the content types from the new hub.&lt;br /&gt;&lt;br /&gt;There you go, all done! Verify to make sure that your MMS columns work correctly in your web applications and that your content types are being pushed down correctly from your local hub.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2012/09/how-to-correctly-backup-and-restore.html</link><author>noreply@blogger.com (Faraz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-z4LcpLqCjb8/UFDvz4GGyTI/AAAAAAAAALY/HCtLNAeWBvM/s72-c/MMSDatabase.png" height="72" width="72"/><thr:total>32</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5645048141869370841</guid><pubDate>Wed, 11 Jan 2012 19:33:00 +0000</pubDate><atom:updated>2012-01-11T12:33:06.054-07:00</atom:updated><title>Remember password with ISA Server</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Here was a scenario I ran into recently. &amp;nbsp;A client had an ISA server 2006 deployment and used forms authentication against AD for logging in their customers. A long time request had been that users did not want to enter their username and password every time, they wanted the browser to remember their credentials.&lt;br /&gt;&lt;br /&gt;After talking the customer through the fact that this was not a good idea from a security standpoint and not succeeding in&amp;nbsp;dissuading&amp;nbsp;them, I started to look for the solution. We took a look at the ISA settings on the server, but couldn&#39;t find anything in this regard. I was chatting to a colleague about this who had been making modifications to the ISA server login page to customize the HTML the end user would see, and he pointed out that there is a form option on the login page that turns auto complete on or off. Here is the piece of HTML that causes this:&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;font-family: monospace; text-align: -webkit-auto; white-space: pre-wrap;&quot;&gt;form &lt;span class=&quot;webkit-html-attribute-name&quot;&gt;autocomplete&lt;/span&gt;=&quot;&lt;span class=&quot;webkit-html-attribute-value&quot;&gt;off&lt;/span&gt;&quot; &lt;span class=&quot;webkit-html-attribute-name&quot;&gt;id&lt;/span&gt;=&quot;&lt;span class=&quot;webkit-html-attribute-value&quot;&gt;logonForm&lt;/span&gt;&quot; &lt;span class=&quot;webkit-html-attribute-name&quot;&gt;method&lt;/span&gt;=&quot;&lt;span class=&quot;webkit-html-attribute-value&quot;&gt;post&lt;/span&gt;&quot; &lt;span class=&quot;webkit-html-attribute-name&quot;&gt;action&lt;/span&gt;=&quot;&lt;span class=&quot;webkit-html-attribute-value&quot;&gt;/CookieAuth.dll?Logon&lt;/span&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: monospace; text-align: -webkit-auto; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;webkit-html-tag&quot; style=&quot;font-family: monospace; text-align: -webkit-auto; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Setting autocomplete=&quot;on&quot; then allows the browser to save the username and password credentials. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2012/01/remember-password-with-isa-server.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5018180222766242337</guid><pubDate>Mon, 24 Oct 2011 18:11:00 +0000</pubDate><atom:updated>2011-11-10T15:52:35.758-07:00</atom:updated><title>A pattern for building custom forms in SharePoint 2010</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Recently, I have been working on a pretty large enterprise intranet project on SharePoint 2010 that involves building a few modules that meet the business needs. These modules each involve a few related content types. The way we architected these was to have a main core content type for each module – and have a few other content types have a lookup column back to that core content type. There were some one-one relationships as well as one-many relationships in the mix. Given that there were these related entities, there is no OOB way to allow for a seamless experience for an end user to go through the entire process of creating the core entity and all related entities without needing to know how they are stored in custom lists. There were also event receivers that needed to be created in these modules that would do sub-tasks, set permissions on items, send email etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;One of our key design goals from the onset was to make the user experience as friendly as possible while at the same time accounting for any changes/additions to fields to the content types after the project was delivered. So we did not want to build fully custom forms, because those would be tied strongly to the schema as we knew it during development and would need a UI change and deployment to add any new field to the custom pages&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Here is an example of content types in one specific (relatively simple) module:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-WpIAP6wzw5U/TqWpr_X6TzI/AAAAAAAAAJc/0JeWvmK9f58/s1600/ContentTypes.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;247&quot; src=&quot;http://2.bp.blogspot.com/-WpIAP6wzw5U/TqWpr_X6TzI/AAAAAAAAAJc/0JeWvmK9f58/s320/ContentTypes.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The approach we took was making extensive use of list field iterators in SP 2010. These are available in the SP API and are fairly easy to use once you get the hang of these. So these would allow us to point the ListFieldIterator to a list in SharePoint and set its mode to New, Edit or Display. What this would do is open up the list item in one of those modes. The iterator iterates through all the fields in that list and surfaces them to you, just like in an OOB SharePoint list form. If we needed to edit or display we would also bind the list item ID to the iterator and set the corresponding mode. If the user did not have permissions to edit the list item, we would show the iterator in the display mode. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Here is how the new/edit form looked with the iterators.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;We used the Tab control in the AjaxControlToolkit to manage the UI using different iterators in the tabs. We also employed the modal framework quite extensively to manage sub types as shown below. Here is the management screen for audit tracking.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-e1ABhtSGATc/TrxSFcwWv9I/AAAAAAAAAJo/K_W_GNXrEmE/s1600/auditMain.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;http://1.bp.blogspot.com/-e1ABhtSGATc/TrxSFcwWv9I/AAAAAAAAAJo/K_W_GNXrEmE/s320/auditMain.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;On clicking new audit tracking entry, the user would get this screen as show below. Notice the Tab control and how the result looks like an OOB list form. It is easy to bind the iterator to the list and the item and set its mode (New, Edit or Display). The buttons below are custom and thus the saving has to be done by you as well.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-PFXRmiyByqs/TrxSO3lFksI/AAAAAAAAAJw/jzoUvSeufXg/s1600/auditDetail.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;http://3.bp.blogspot.com/-PFXRmiyByqs/TrxSO3lFksI/AAAAAAAAAJw/jzoUvSeufXg/s320/auditDetail.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You can click the new Audit Finding link to create a new sub type. Here is that screen.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-GqItXFVRdhY/TrxSxRMJpGI/AAAAAAAAAJ4/M7RfG-8pnnY/s1600/finding.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;273&quot; src=&quot;http://2.bp.blogspot.com/-GqItXFVRdhY/TrxSxRMJpGI/AAAAAAAAAJ4/M7RfG-8pnnY/s320/finding.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As you can see above, this really is a SharePoint modal dialog showing yet two more sub content types in their own lists and related to the main core Audit content type. The modal framework is really handy for doing these sort of things and improving the user experience vastly. Imagine if the user had to go to 5-6 different lists to create a new audit, to say that would not fly would be an understatement!&lt;br /&gt;&lt;br /&gt;Here is some code that highlights how to bind these. Here is the code to declare the iterator.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;contentSection&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In the code behind, this is how you bind it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SPList AuditTrackingList = SPContext.Current.Web.Lists[Constants.AUDIT_CORE_LIST_NAME];&lt;br /&gt;ListFieldIteratorAuditTracking.ListId = AuditTrackingList.ID;&lt;br /&gt;//Set the mode as well depending on whether you are opening an existing one to display or new one. lets go with new for here&lt;br /&gt;ListFieldIteratorAuditTracking.ControlMode =&amp;nbsp;SPControlMode.New;&lt;br /&gt;//Could also be&amp;nbsp;SPControlMode.Edit or&amp;nbsp;SPControlMode.Display&lt;br /&gt;&lt;br /&gt;Voila, your iterator binds to the list item and shows it just like SharePoint would.&lt;br /&gt;&lt;br /&gt;To update/save, in your Button_Save event (obviously this is oversimplified):&lt;br /&gt;&lt;br /&gt;&amp;nbsp;protected void ButtonSave_Click(object sender, EventArgs e)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (this.Page.IsValid)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPItem item = ListFieldIteratorAuditTracking.Item;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; item.Update();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;Enjoy!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/10/pattern-for-building-custom-forms-in.html</link><author>noreply@blogger.com (Faraz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-WpIAP6wzw5U/TqWpr_X6TzI/AAAAAAAAAJc/0JeWvmK9f58/s72-c/ContentTypes.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5286858086922415661</guid><pubDate>Mon, 24 Oct 2011 17:57:00 +0000</pubDate><atom:updated>2011-10-24T11:57:53.730-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Comments</category><title>Blog Comments were not posting</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;My apologies, I just realized there were many blog comments that were awaiting moderation. For some reason, blogger did not email me about these so I could not reply. I will try to answer the ones that are still relevant, and I am going to take off moderation for now until I start getting spam on the comments.&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/10/blog-comments-were-not-posting.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-1140671675880039851</guid><pubDate>Fri, 07 Oct 2011 22:43:00 +0000</pubDate><atom:updated>2011-10-07T16:43:29.327-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint Conference 2011</category><title>SharePoint Conference 2011 - Final Thoughts</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So here I am, sitting at the airport going back to Denver. It’s been a whirlwind week here in Anaheim, CA. We had the RBA consulting private party last night which was attended by quite a few clients as well as Microsoft folks. Jared Spataro, who delivered the keynote at the conference and Matt Berg who ran the conference, was also in attendance which was pretty cool. I did chat for quite a while with Bill Baer from Microsoft, who owns the SharePoint Foundation product. We talked about Remote Blob Storage strategies (he had just presented earlier that evening on that topic), as well as where SharePoint is and where it is going. I also had the opportunity to talk with Ted Pattison, Andrew Connell and Todd Baginskiwho apart from being MVP’s have been involved with SharePoint for a while.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So here are my personal thoughts about the writing on the wall at this year’s conference. The next wave of SharePoint is going to be a revolution, not an evolution in terms of how we do things and think about the development paradigm and practices. Code/customizations you do in the current release will continue to work in the next release, but they will not utilize the benefits of the new platform. So what technologies can you sharpen your skills on to get ready for the next release? The few areas in my mind are: &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;1.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;SharePoint Online + Azure&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;There were some good sessions on SharePoint Online and its integration with Azure. With Azure, you can host your custom applications and databases up in the Microsoft cloud and access them that way. Another major advantage of the Azure model is that it has a service bus that can interact with data into your organization’s data center. This, coupled with the ability of SharePoint Online to talk to Azure provides you a model to get back into your data sitting back in your datacenter. This also leads into #2 below, because the way to connect with Azure is through client side object model (sandboxed code cannot call outside the site collection). &lt;b&gt;Another big announcement was that BCS will be supported in the public cloud soon.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;2.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;jQuery/Javascript and other client side technologies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;jQuery is a literally a set of Javascript libraries that allow you to do things way more efficiently than just using plain Javascript. jQuery also works across browsers seamlessly – so you write it once and it works as expected. There were a few sessions that talked about jQuery (with HTML5, best practices etc.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;3.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;!--[endif]--&gt;&lt;b&gt;Social Aspects&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;There were a few sessions that talked about the social features of SP 2010. I didn’t have the opportunity to attend any of these but this is one area that Microsoft will continue to invest heavily in – so this will keep getting better and better.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;b&gt;A note on HTML5 vs Silverlight&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;Ted Pattison covered a session on jQuery with HTML5. HTML5 looks pretty promising with its ability to build pretty cool UX elements – but in terms of the browser experience it still has quite ways to go. The HTML5 specifications are not fully developed yet, so you have to embed different tags for every browser. Plus, if you want to target older browsers then it’s even more effort required. So bottom line, this is coming but not ready for primetime for the browser experience.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-sfFfz9ZytW4/To-Ai8mG47I/AAAAAAAAAJU/Or8xCGEHruY/s1600/spataro.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;http://3.bp.blogspot.com/-sfFfz9ZytW4/To-Ai8mG47I/AAAAAAAAAJU/Or8xCGEHruY/s320/spataro.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/10/sharepoint-conference-2011-final.html</link><author>noreply@blogger.com (Faraz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-sfFfz9ZytW4/To-Ai8mG47I/AAAAAAAAAJU/Or8xCGEHruY/s72-c/spataro.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-1578616959075801374</guid><pubDate>Wed, 05 Oct 2011 21:38:00 +0000</pubDate><atom:updated>2011-10-05T15:38:54.801-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint Conference 2011</category><title>SharePoint Conference 2011 Day 2</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Day 2 of the SharePoint conference was more of the same as day 1, except that it was jam packed with sessions all day. There were three notable sessions that I attended that I want to talk about.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The first session was our very own Phil Wicklund’s session on &lt;i&gt;SharePoint in the Cloud: Architecture. &lt;/i&gt;This session was very informative and talked about the different cloud architectures supported by Microsoft, from the SharePoint Online shared to SharePoint Online Dedicated (which is hosted by Microsoft), to a hybrid scenario where some of your SharePoint installation could be hosted on premise and some in the cloud. Phil made very interesting points about which scenario you would address your business needs. He also talked about the search experience and how to store your user profiles and tag clouds so they are aggregated and available. Great session to understand what feature set is supported in each scenario. Tomorrow Phil presents on managing identity in SharePoint online so that will be a great session as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Another session I attended was Ted Pattison’s &lt;i&gt;JQuery and HTML5. &lt;/i&gt;This session also contained good information about how to get started in jQuery and provided some examples of how effective it is. Ted had a demo built out of different things that can be done with it and showed some code samples for the same. The interesting part is that jQuery works on every browser just the same so you only have to code it once. Ted also talked about HTML5 and where this is heading vis-à-vis Silverlight. From the session I gathered that HTML5 is not ready for prime time yet, there is work required to make it work with the different latest browsers (due to lack of standards), but it is even more work to make it function in older browsers. So, Silverlight is still the way to go for a delightful user experience, but HTML is the far future in terms of browsers. Using HTML5 for building mobile apps across the different mobile platforms, that is another question altogether..&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Another session I attended was Todd Bleeker’s &lt;i&gt;Building a custom service application in SharePoint 2010. &lt;/i&gt;I have to admit it was one of the most animated technical presentations I have ever attended. He was very excited about what he was presenting, so much so that it was really hard to not get caught up in it. He did a great job explaining the details and the plumbing behind building service applications in SP 2010. It was a very technical session and I thoroughly enjoyed the content and the presentation of that content.&lt;span&gt;&amp;nbsp; &lt;/span&gt;I would definitely recommend checking Todd out for understanding the service application model and building a custom service application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Going to the SPC 2011 conference at Disneyland tonight (the happiest and most magical place on earth). More till later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/10/sharepoint-conference-2011-day-2.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5905940703216163622</guid><pubDate>Wed, 05 Oct 2011 21:37:00 +0000</pubDate><atom:updated>2011-10-05T15:37:18.341-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint Conference 2011</category><title>SharePoint Conference 2011</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;We are at the SharePoint Conference 2011 this week, also known as SPC 2011. It is hosted in Anaheim this year. It is a mid-release conference so we didn’t expect to hear many surprises at the keynote or at the sessions. The keynote was hosted by Jeff Spataro, who is the senior director of SharePoint Product management. Though an engaging speaker, the one thing that struck me about the keynote was that there were no surprises, no announcements etc. The most interesting part of the keynote was a demonstration of new failover capabilities of SharePoint 2010 and SQL Server “Denali”. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;After the keynote I attended a couple of sessions that day. One of them was titled &lt;i&gt;Documents are boring but document solutions are not&lt;/i&gt;. It was a pretty good session and the speaker showed off information panel within a word document with an Infopath form embedded in the document. He also showed how fields in the word document can be tied to columns on the document library, and Word will update these everytime it is opened. The interesting part is that these fields could also be bound to information from external sources via the BCS.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The speaker also showed content controls, quick parts, co-authoring of documents and how Word detects and informs users that another person is editing the document. Another good technique is to always render a field code with a link to a picture or chart stored in the library. This way the image/chart is not stored in the document but can be refreshed from the library at any time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The other engaging session I attended was Andrew Connell’s &lt;i&gt;Out of the sandbox and into the cloud: Build you next SharePoint app on Azure&lt;/i&gt;. It does seem like that is one of the directions Microsoft is not only investing heavily in but also starting to push to the developer community. It was a real engaging session and AC talked about the different ways of interfacing Azure data in SharePoint 2010. The session was very informative and engaging. Definitely recommend checking out his presentation over video if you have the time. Scott Key from Microsoft also presented on the next topic the very next day. The key takeaway is that you can store your custom applications and custom databases in Azure (it is easier and cheaper) and build hooks into SharePoint to consume/surface that.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Todd Baginski also presented that evening about building SharePoint apps for the Windows phone. That was also a highly engaging session and Todd covered a lot of material and shared what he has been working on lately. If you are interested in that topic definitely recommend checking out his talk. He also laid out the process of interfacing with Twitter/Facebook/Linkedin etc fromyour custom apps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So all in all, it was a good first day. There were tons of parties/happy hours/ packed together so we were out till the wee hours of the morning. More on the conference soon.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/10/sharepoint-conference-2011.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-3029692231371542029</guid><pubDate>Mon, 21 Feb 2011 20:19:00 +0000</pubDate><atom:updated>2011-02-21T13:19:39.391-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint 2010</category><title>View Application Error on SharePoint page</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;When working with SharePoint 2010, when there is an error in the application you may come across the generic SharePoint error page that states to turn the customErrors tag to RemoteOnly or Off in the web.config. So you diligently locate the web.config file for the web app, and turn the customErrors to one of those settings based on your level of comfort.&lt;br /&gt;&lt;br /&gt;The generic page still does not go away, and you can&#39;t see the error. What gives? Well, it appears that there is another web.config file in the LAYOUTS directory that has the customErrors set to On. This is overriding the web application web.config setting. So setting this customErrors to Off or RemoteOnly will show you the real error so you can take action on it!&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2011/02/view-application-error-on-sharepoint.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-9050221702169855817</guid><pubDate>Fri, 20 Aug 2010 02:52:00 +0000</pubDate><atom:updated>2010-08-19T20:56:58.638-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint 2010 Install</category><title>After Installing SharePoint 2010 Farm, it says Web Server needs to be upgraded</title><description>I came across this a couple of times recently so I figured I would blog about it. I&#39;ve been working quite a bit on SharePoint 2010 projects, and usually I am called upon to do farm installs. I recommend that clients always do least privileged installs, so that means advising them on the accounts they need to create for their (dev/test/uat/prod farms) and best practices regarding those. Here is the list of accounts recommended for use on technet for a least privileged install.&lt;br /&gt;&lt;br /&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;br /&gt;Account&lt;/th&gt;&lt;th&gt;&lt;br /&gt;Purpose&lt;/th&gt;&lt;th&gt;&lt;br /&gt;Requirements&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;SQL Server service account&lt;/td&gt;&lt;td&gt;&lt;br /&gt;The SQL Server service account is used to run SQL Server. It is the service account for the following SQL Server services:&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;MSSQLSERVER&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;SQLSERVERAGENT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;If you do not use the default SQL Server instance, in the Windows Services console, these services will be shown as the following:&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;MSSQL$InstanceName&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;SQLAgent$InstanceName&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;Use either a Local System account or a domain user account.&lt;br /&gt;If you plan to back up to or restore from an external resource, permissions to the external resource must be granted to the appropriate account. If you use a domain user account for the SQL Server service account, grant permissions to that domain user account. However, if you use the Network Service or the Local System account, grant permissions to the external resource to the machine account (domain_name\SQL_hostname$).&lt;br /&gt;The instance name is arbitrary and was created when Microsoft SQL Server was installed.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;Setup user account&lt;/td&gt;&lt;td&gt;&lt;br /&gt;The Setup user account is used to run the following:&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Setup&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;SharePoint Products Configuration Wizard&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Domain user account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Member of the Administrators group on each server on which Setup is run.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;SQL Server login on the computer that runs SQL Server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Member of the following SQL Server security roles:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;securityadmin&lt;/strong&gt; fixed server role&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;dbcreator&lt;/strong&gt; fixed server role&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;If you run Windows PowerShell cmdlets that affect a database, this account must be a member of the &lt;strong&gt;db_owner&lt;/strong&gt; fixed database role for the database.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;Server farm account or database access account&lt;/td&gt;&lt;td&gt;&lt;br /&gt;The server farm account is used to perform the following tasks:&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Configure and manage the server farm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Act as the application pool identity for the SharePoint Central Administration Web site.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Run the Microsoft SharePoint Foundation Workflow Timer Service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;Domain user account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Additional permissions are automatically granted for the server farm account on Web servers and application servers that are joined to a server farm.&lt;br /&gt;The server farm account is automatically added as a SQL Server login on the computer that runs SQL Server. The account is added to the following SQL Server security roles:&lt;br /&gt;&lt;ul&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;dbcreator&lt;/strong&gt; fixed server role&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;securityadmin&lt;/strong&gt; fixed server role&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=&quot;unordered&quot;&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;db_owner&lt;/strong&gt; fixed database role for all SharePoint databases in the server farm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Ok, makes sense. So you login to the app server with the setup account, and install SharePoint. Then you do the same on one or more Web Servers. Now go back to the app server and run the Configuration Wizard and set up the farm and Central Admin. After some configuration (setting up services, the first site collection), you come back to the Web Servers and attempt to add them to the farm. The whole process goes smoothly and the Web Server connects to the farm. Great, now you go to the Servers in Farm page in Central Admin, and to your dismay the Web Server line item shows an error and that it needs upgrading.&lt;br /&gt;&lt;br /&gt;What?? So you run the &#39;stsadm -o localupgradestatus&#39; on the Web Server and it shows you as everything being ok. Hmm..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;br /&gt;The way I found to get around this is to remove the Web Server from the farm, then log off the Web Server. Log back on using the Server farm account, not the setup account. Now run the Configuration Wizard and add the Web Server back to the farm. This works well and now when you go to the &#39;Servers in Farm&#39; page, everything looks good!</description><link>http://faraz-khan.blogspot.com/2010/08/after-installing-sharepoint-2010-farm.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-191094030373456023</guid><pubDate>Thu, 01 Jul 2010 20:15:00 +0000</pubDate><atom:updated>2010-07-01T14:15:17.139-06:00</atom:updated><title>SharePoint Guidance V3 release on MSDN</title><description>The SharePoint Guidance V3 has been released on MSDN. Here is an overview:&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3f529c; font-family: &#39;Segoe UI&#39;, Verdana, Arial;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 26px;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;font-family: &#39;Segoe UI&#39;, Verdana, Arial; font-size: 13px;&quot;&gt;Developing Applications for SharePoint 2010 contains guidance documentation, detailed examples, and a reusable class library. These resources are designed to help solution developers and architects make the right decisions and follow proven practices when designing and developing applications for SharePoint 2010. The guidance focuses primarily on the building blocks that every developer needs to understand to become an effective SharePoint developer or architect. The following diagram shows the key areas that are covered within the guidance documentation, reference implementations, and reusable class library.&lt;/div&gt;&lt;div style=&quot;font-family: &#39;Segoe UI&#39;, Verdana, Arial; font-size: 13px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &#39;Segoe UI&#39;, Verdana, Arial; font-size: 13px;&quot;&gt;&lt;/div&gt;The guidance documentation is divided into four core sections.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff798371.aspx&quot; style=&quot;color: #1364c4; text-decoration: none;&quot;&gt;Application Foundations for SharePoint 2010&lt;/a&gt;. This section describes approaches you can use to address the challenges of testability, flexibility, configuration, logging and exception handling, and maintainability; it also explains how to use the SharePoint Guidance Library components in these areas.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff798421.aspx&quot; style=&quot;color: #1364c4; text-decoration: none;&quot;&gt;Execution Models in SharePoint 2010&lt;/a&gt;. This section provides deep technical insights into the mechanics of the full-trust execution environment, the sandbox execution environment, and various hybrid approaches to executing code in SharePoint applications.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff798364.aspx&quot; style=&quot;color: #1364c4; text-decoration: none;&quot;&gt;Data Models in SharePoint 2010&lt;/a&gt;. This section explains new list and external data functionality, key design decision points that can help you to choose between standard SharePoint lists and external lists, and techniques and patterns to address large lists and list aggregation.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff798452.aspx&quot; style=&quot;color: #1364c4; text-decoration: none;&quot;&gt;Client Application Models in SharePoint 2010&lt;/a&gt;. This section provides guidance on how best to use the new client-side functionality to access data and build richer client experiences with Silverlight and Ajax.&lt;/li&gt;&lt;/ul&gt;Each section also contains a set of how-to topics. These explain how to perform specific tasks that the team found challenging to discover.&lt;br /&gt;&lt;br /&gt;Go take a look and learn from the Guidance. It is available &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff770300.aspx&quot;&gt;here&lt;/a&gt;.</description><link>http://faraz-khan.blogspot.com/2010/07/sharepoint-guidance-v3-release-on-msdn.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-19645227871548058</guid><pubDate>Thu, 01 Jul 2010 20:10:00 +0000</pubDate><atom:updated>2010-07-01T14:10:23.157-06:00</atom:updated><title>Visual Studio 2010 cannot find SharePoint 2010 site</title><description>I realize I haven&#39;t blogged in a while, but hopefully I should be back on here blogging about all the stuff I am doing in SharePoint 2010. It&#39;s a great platform, and I have been working on it for a few months.&lt;br /&gt;&lt;br /&gt;So here is the scenario:&lt;br /&gt;You are using Windows 7 x64 bit and have installed SharePoint 2010 on it. You are building great solutions in VS 2010 for SharePoint 2010. You spin up a quick Console Application to try some stuff out against your local instance of SharePoint and your program throws up an error at this line, indicating that the site cannot be found.&lt;br /&gt;&lt;br /&gt;using (SPSite site = new SPSite([your local URL]))&lt;br /&gt;&lt;br /&gt;This happens because Visual Studio is configured to build for x86 by default. To get past this error, right click on the solution file in Visual Studio --&amp;gt; click on properties, on the top right click on Configuration manager and add a x64 configuration. Then go to project properties --&amp;gt; Build --&amp;gt; Select x64 as the target platform.&lt;br /&gt;&lt;br /&gt;Voila, that should all work now.</description><link>http://faraz-khan.blogspot.com/2010/07/visual-studio-2010-cannot-find.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-3131878460504011754</guid><pubDate>Wed, 24 Feb 2010 04:21:00 +0000</pubDate><atom:updated>2010-02-23T21:21:09.416-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">SharePoint 2010</category><title>SharePoint 2010 Farm Databases</title><description>So I was just installing a new SharePoint 2010 Enterprise RC farm just recently and while I was waiting for the services page to finish creating the services, I took a quick peek at the DB server to figure what was going on in the backend. I have installed the SP 2010 beta version a couple of times before, but have to admit never looked in the database to see what was going on.&lt;br /&gt;&lt;br /&gt;It appears that all the services are not segregated in their own databases, instead of the SSP database managing the services as in the 2007 version. Here is a snapshot of the available databases. DBA&#39;s, be forewarned :).&lt;br /&gt;&lt;br /&gt;Here are the two screenshots. The first shows the Farm configuration wizard after the services have been configured. The second shows the databases that have been created.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_r8BZcH_g0j0/S4SoU6d-d9I/AAAAAAAAAGg/4QeD-48c1gE/s1600-h/sp2010services.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://4.bp.blogspot.com/_r8BZcH_g0j0/S4SoU6d-d9I/AAAAAAAAAGg/4QeD-48c1gE/s640/sp2010services.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_r8BZcH_g0j0/S4So1QBc9nI/AAAAAAAAAGo/rPP-YZhjnwI/s1600-h/sp2010databases.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://4.bp.blogspot.com/_r8BZcH_g0j0/S4So1QBc9nI/AAAAAAAAAGo/rPP-YZhjnwI/s640/sp2010databases.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2010/02/sharepoint-2010-farm-databases.html</link><author>noreply@blogger.com (Faraz)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_r8BZcH_g0j0/S4SoU6d-d9I/AAAAAAAAAGg/4QeD-48c1gE/s72-c/sp2010services.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5745220927242091531</guid><pubDate>Tue, 26 Jan 2010 17:12:00 +0000</pubDate><atom:updated>2010-01-26T10:15:46.138-07:00</atom:updated><title>Slashing Costs with SharePoint 2010</title><description>Just wanted to let you guys know that AIC is doing an event in Denver next week - called &quot;Slashing Costs with SharePoint 2010 in the Real World&quot;.  Come attend to learn more about this very insightful presentation.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Join Analysts International (AIC), SoftwareONE and AmeriTeach for a luncheon  with Anthony Lopez, Vice President, Information Technology at RE/MAX  International, Inc. Anthony will discuss how RE/MAX International partnered with  AIC to reduce their costs by 75% using Microsoft SharePoint.&lt;br /&gt;&lt;br /&gt;In conjunction with Anthony’s  presentation, there will be discussion of the features and functionalities of  SharePoint 2010 along with how these new features enable IT to continue to  deliver business solutions and reduce cost simultaneously. Additionally, the  team will highlight the various licensing options and will guide you through the  deployment and hosting options available. Lastly, we will discuss the options  available for assisting your upgrade or implementation of SharePoint through  training your team, as well as, how to leverage Software Assurance benefits to  do so effectively. &lt;br /&gt;&lt;br /&gt;Whether  you are currently running SharePoint or not, understand the power of SharePoint  2010 and engage with your peers who currently are experiencing the business  benefits that SharePoint has to offer, including;&lt;br /&gt;&lt;br /&gt;- Lower Administrative and Maintenance Costs&lt;br /&gt;- Platform Consolidation&lt;br /&gt;- Tool  Consolidation&lt;br /&gt;- Process Improvement&lt;br /&gt;- Collaboration Efficiencies&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Click &lt;a href=&quot;https://www.clicktoattend.com/invitation.aspx?code=143932&quot;&gt;here&lt;/a&gt; to sign up and attend. See you there!&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2010/01/slashing-costs-with-sharepoint-2010.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-6427318383303298389</guid><pubDate>Thu, 01 Oct 2009 18:27:00 +0000</pubDate><atom:updated>2009-10-01T12:33:21.439-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Infopath</category><category domain="http://www.blogger.com/atom/ns#">Workflows</category><title>Using InfoPath Task Forms in Visual Studio 2008 Workflows for SharePoint</title><description>I was recently creating a SharePoint workflow within Visual Studio 2008 and needed to use InfoPath forms as task forms instead of the default task forms that you get as default. Well, I found a great article explaining how to do this in great detail - which saved me quite a bit of time figuring this out myself. So for others looking to do the same, I would highly recommend this blog post by Fodi Dervidis &lt;a href=&quot;http://sharepointgear.wordpress.com/2009/03/22/simple-sharepoint-workflow-with-infopath-task-form/&quot;&gt;here&lt;/a&gt;.</description><link>http://faraz-khan.blogspot.com/2009/10/using-infopath-task-forms-in-visual.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>11</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-7196866954379471394</guid><pubDate>Thu, 01 Oct 2009 18:04:00 +0000</pubDate><atom:updated>2009-10-01T12:07:56.854-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SharePoint Certification</category><title>Passed the MOSS Configuration Exam 70-630</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; color: rgb(51, 51, 51); line-height: 20px; &quot;&gt;I just passed the MOSS Configuration exam 70-630 yesterday. I had heard it was an easier exam than the 70-631 and I found out why. I didn&#39;t spend too much time studying for it and got a perfect score in most of the sections. Looking forward to SharePoint 2010 now.&lt;/span&gt;</description><link>http://faraz-khan.blogspot.com/2009/10/passed-moss-configuration-exam-70-630.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-6547886450767179759</guid><pubDate>Thu, 17 Sep 2009 20:03:00 +0000</pubDate><atom:updated>2009-09-17T14:11:04.651-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Administration</category><title>SharePoint Server Disable LoopbackCheck</title><description>This is a scenario I have come across a few times now, especially working on Windows Server 2008 boxes. It seems that this is a security fix that Microsoft introduced since Windows Server 2003 SP1. Basically what it fixes (breaks in SharePoint) is explained below.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. You create a Web application in SharePoint that uses a host header that you intend to make available to end users. Lets say http(s)://www.company.com.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. You can browse to this URL file from the other machines or over the Web.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. You remote into the server to make some changes - and you decide to open a browser and type http://www.company.com in the address. You usually get asked to login multiple times and after three tries it will usually show you a blank screen with a 401.1 access denied error. Note that this only happens when you are trying to access the website on the same server as you are logged into.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enter the DisableLoopBackCheck setting in the Registry. Spencer Harbar wrote up a great article about the same that I ran across as I was writing this post, so I will just pass you on to his splendid explanation and resolution of this problem &lt;a href=&quot;http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2009/09/sharepoint-server-disable-loopbackcheck.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-3510717524889738599</guid><pubDate>Tue, 15 Sep 2009 15:57:00 +0000</pubDate><atom:updated>2009-09-15T09:59:52.938-06:00</atom:updated><title>Setting the default Active Directory in SharePoint People Picker</title><description>If you need to specify a default Active Directory that a People Picker control should find users from - and not to use any other trusted domains in its search, here is a nifty stsadm command for the following.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:LucidaGrande;font-size:85%;&quot;&gt;&quot;C:\Program Files\Common  Files\Microsoft Shared\Web Server Extensions\12\BIN\stsadm&quot; -o  setsiteuseraccountdirectorypath -path &quot;DC=www,DC=company,DC=com&quot; -url  https://[your site url here]&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2009/09/setting-default-active-directory-in.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-5112324695864352835</guid><pubDate>Tue, 15 Sep 2009 15:38:00 +0000</pubDate><atom:updated>2009-09-15T09:55:43.982-06:00</atom:updated><title>Exposing SharePoint List Data using Data View Web Part</title><description>Recently I had the need to create a new view when a user clicked on a list item. This view was formatted like a HTML page, and looked nothing like the default DispForm.aspx that SharePoint shows you by default. Well, I ended up implementing a nifty solution that my colleague at work had used before.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Instead of replacing or customizing DispForm.aspx for the list (which you need to be really careful about), I actually created a new WebPart page in a document library on that site. I cracked open SharePoint designer and threw a Data View/Form Web Part (or the Swiss Army knife as it is sometimes called) and added a URL Querystring parameter to provide me with the ID of the item I was showing. Then I customized the design of the page inside the XSL to show me the view that I wanted.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The last part was to wire up the click event on the list to this new page. I browsed to DispForm.aspx and opened it up in edit mode. Some of you might wonder how is it possible to edit an administrative page? The answer lies in the querystring parameters you provide it in the URL. If you append a querystring &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Segoe UI&#39;; font-size: 13px; line-height: 17px; &quot;&gt;?PageView=Shared&amp;amp;ToolPaneView=2 &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia; font-size: 16px; line-height: normal; &quot;&gt;to the page, then it will open it up in Edit view. From here on, I just hid the list view Web Part and added a content editor Web Part that contained some javascript to redirect to the page in my document library that had the Data View Web Part with the formatting I needed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2009/09/exposing-sharepoint-list-data-using.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-8082929216708642313</guid><pubDate>Thu, 03 Sep 2009 18:36:00 +0000</pubDate><atom:updated>2009-09-03T12:42:59.677-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Case Studies</category><title>Microsoft case study on RE/MAX Extranet</title><description>Please check out the recently released Microsoft case study on RE/MAX which is a project I was involved in from the beginning and worked on for a little less than a year. It was a great suceess and we used a lot of cool features in MOSS to build the extranet, meet the business needs and exceed expectations. &lt;a href=&quot;http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000004961&quot;&gt;Here&lt;/a&gt; is the case study.</description><link>http://faraz-khan.blogspot.com/2009/09/microsoft-case-study-on-remax-extranet.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-8363846888151887521</guid><pubDate>Thu, 03 Sep 2009 18:26:00 +0000</pubDate><atom:updated>2009-09-03T12:36:46.466-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Patterns and Practices</category><title>SharePoint Guidance v2 released</title><description>The second version of the SharePoint guidance was just released recently. Be sure to have a look and to incorporate the guidance and the architectural decisions that can help you in your SharePoint implementation projects. Here is the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd203468.aspx&quot;&gt;MSDN&lt;/a&gt; site. Here is the project site on &lt;a href=&quot;http://www.codeplex.com/spg/&quot;&gt;codeplex&lt;/a&gt;. Enjoy!</description><link>http://faraz-khan.blogspot.com/2009/09/sharepoint-guidance-v2-released.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-1920591204382310329</guid><pubDate>Thu, 20 Aug 2009 15:33:00 +0000</pubDate><atom:updated>2009-08-20T09:37:12.680-06:00</atom:updated><title>Passed the Windows SharePoint Services Configuration 70-631 exam</title><description>So I just passed the Windows SharePoint Configuration exam 70-631 yesterday. There were a few tough questions about NLBs and ISA server, but overall I think it was a pretty easy exam, especially because the some of the multiple choices were way off.</description><link>http://faraz-khan.blogspot.com/2009/08/passed-windows-sharepoint-services.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-307874391893664389</guid><pubDate>Fri, 24 Jul 2009 22:13:00 +0000</pubDate><atom:updated>2009-08-06T10:24:49.311-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MOSS</category><title>SharePoint User Group Presentation Slide Deck July 2009</title><description>I wanted to take the time to thank everyone who attended the User Group Presentation last week where we presented last week. Here is the slide deck as promised. Enjoy!</description><link>http://faraz-khan.blogspot.com/2009/07/sharepoint-user-group-presentation.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-8938634358252364409</guid><pubDate>Fri, 12 Jun 2009 19:19:00 +0000</pubDate><atom:updated>2009-06-12T13:33:07.866-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VseWSS</category><title>Visual Studio Extensions: How to Change Base Type of Content Type</title><description>Recently I came across an interesting challenge. I needed to create some custom fields on my custom Page Layout for a client. I needed to add about 3 fields in addition to the fields in the existing page layouts (MetsKeywords, MetaDescription and a PageContent2 which were multi-line, multi-line and HTML fields respectively).&lt;br /&gt;&lt;br /&gt;I went ahead and tried to create a custom content type in the VSEWSS and it popped open the Base Type dialog box. I wanted the Article Page to be my base type, but I didn&#39;t find it in the dropdown. I figured it would be easy to change later and so I picked Item as my base. &lt;br /&gt;&lt;br /&gt;The first piece that was puzzling is that even though I picked a base as part of creating the content type, there was no reference to that base in the xml file. There is an attribute in the content type xml called BaseType which I figured I could set to the ctype ID of the actual base type I wanted (you can go to your SharePoint site, go to site settings, content types, and click on the content type you wish to inherit from - you will notice the ctype id in the URL. I copied and pasted it in the BaseType attribute and deployed and it still did not work.&lt;br /&gt;&lt;br /&gt;After some digging around, I realized that the BaseType does not define the parent type. The parent type ID has to be the first part of the ID of the current content type. What I do now is copy the parent ID into the ID of the content type - and add 0D after that to specify the association.</description><link>http://faraz-khan.blogspot.com/2009/06/visual-studio-extensions-how-to-change.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>109</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3997826521443705114.post-6221232942500177771</guid><pubDate>Fri, 08 May 2009 16:14:00 +0000</pubDate><atom:updated>2009-05-13T13:39:55.423-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Upgrade</category><title>SharePoint SP2 is out</title><description>I don&#39;t know if any of you know this, but the SP2 for SharePoint was released on April 28.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following text is from the Microsoft blog post&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;color: rgb(51, 51, 51);   line-height: 15px; font-family:Verdana;font-size:12px;&quot;&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;&lt;b&gt;Benefits&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;Customers can be benefited from the following enhancements with Service Pack 2.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Performance and Availability Improvements&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;Service Pack 2 includes many fixes and enhancements designed to improve performance, availability, and stability in your server farms, including:&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;New Timer job automatically rebuilds content database index to improve database performance.&lt;/li&gt;&lt;li&gt;When a content database is marked as read-only, the user interface will be modified so users cannot perform tasks that require writing to the database.&lt;/li&gt;&lt;li&gt;Performance enhancement across nearly all the components. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Improved Interoperability&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;Service Pack 2 continues to improve SharePoint interoperability with other products and platforms.&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Broader support of browsers &lt;br /&gt;Internet Explorer 8 is added into Level 1 browser support. &lt;br /&gt;FireFox 3.0 is added into Level 2 browser support. (Firefox 2.0 is no longer supported by Mozilla)&lt;/li&gt;&lt;li&gt;Provide improved client integration user experience with Form Based Authentication. Now the client application can store user credentials instead of asking for them every time. For more technical details please refer to the updated articles on TechNet. &lt;br /&gt;Configure forms-based authentication (Office SharePoint Server &lt;br /&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc262201.aspx&quot; mce_href=&quot;http://technet.microsoft.com/en-us/library/cc262201.aspx&quot; style=&quot;font-weight: bold; text-decoration: none; color: rgb(0, 107, 173); &quot;&gt;http://technet.microsoft.com/en-us/library/cc262201.aspx&lt;/a&gt; &lt;br /&gt;Configure forms-based authentication (Windows SharePoint Services) &lt;br /&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc288043.aspx&quot; mce_href=&quot;http://technet.microsoft.com/en-us/library/cc288043.aspx&quot; style=&quot;font-weight: bold; text-decoration: none; color: rgb(0, 107, 173); &quot;&gt;http://technet.microsoft.com/en-us/library/cc288043.aspx&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Getting Ready for SharePoint Server 2010&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; &quot;&gt;A new &lt;b&gt;preupgradecheck&lt;/b&gt; operation is added to stsadm tool. It can be used to scan your server farm to establish whether it is ready for upgrade to SharePoint Products and Technologies &quot;14&quot;. It identifies issues that could present obstacles to the upgrade process. It checks for several SharePoint Products and Technologies &quot;14&quot; system requirements, including the presence of Microsoft® Windows Server® 2008 and a 64-bit hardware, and provides feedback and best practice recommendations for your current environment, together with information on how to resolve any issues that the tool discovers. &lt;/p&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Along with all the improvements, the preupgrade check is going to be handy for analyzing the  upgrade path to Office 14. I actually went ahead and installed the Service Pack 2 on a SharePoint server which only had SP1 installed on there and no updates after that. The upgrade process went smoothly with no hiccups. The one thing to note is that SP2 is available as a separate download for both WSS and MOSS. The SharePoint Products and Technologies Configuration wizard will pop up as soon as you finish installing the WSS SP2. It will save time to exit out of that (if you have MOSS installed), then install the SP2 for MOSS and then run the wizard. This wizard modifies database schema, so it saves time to run it once for both. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SP2 can be installed on any build before before Fenruary 2009, which means that you could install it on a SharePoint server that has no service packs installed yet, just SP1, or the infrastructure update and builds after that but before February 2009.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This means that the newly released April &quot;uber&quot; package that Stefan talks about &lt;a href=&quot;http://blogs.technet.com/stefan_gossner/archive/2009/05/01/the-april-cumulative-update-for-wss-v3-and-moss-2007-has-been-released-yesterday.aspx&quot;&gt;here&lt;/a&gt; is not included in SP2. The &quot;uber&quot; package will need to be installed after SP2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just to be safe, please try installing SP2 on a test/stage environment before unleashing it on production to make sure it will work for you :).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(255, 0, 0);&quot;&gt;Update:&lt;/span&gt; I installed the SP2 as mentioned above, but ran into an issue right after where I could not authenticate to SharePoint using IE7 or SP Designer. I tried getting all the latest updates but that did not help either. I tried authenticating with Firefox and it authenticated just fine. So in case any of you come across this authentication with IE issue, here is what I found after some looking around.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Verdana;font-size:11px;&quot;&gt;&lt;ol style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; list-style-type: none; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; margin-left: 3em; &quot;&gt;&lt;li color=&quot;initial&quot; style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border- margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;Click &lt;strong class=&quot;uiterm&quot;&gt;Start&lt;/strong&gt;, click &lt;strong class=&quot;uiterm&quot;&gt;Run&lt;/strong&gt;, type &lt;span class=&quot;userInput&quot;&gt;regedit&lt;/span&gt;, and then click &lt;strong class=&quot;uiterm&quot;&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;In Registry Editor, locate and then click the following registry key:&lt;div class=&quot;indent&quot;&gt;&lt;strong class=&quot;uiterm&quot;&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa&lt;/strong&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;Right-click &lt;strong class=&quot;uiterm&quot;&gt;Lsa&lt;/strong&gt;, point to &lt;strong class=&quot;uiterm&quot;&gt;New&lt;/strong&gt;, and then click &lt;strong class=&quot;uiterm&quot;&gt;DWORD Value&lt;/strong&gt;.&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;Type &lt;span class=&quot;userInput&quot;&gt;DisableLoopbackCheck&lt;/span&gt;, and then press ENTER.&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;Right-click &lt;strong class=&quot;uiterm&quot;&gt;DisableLoopbackCheck&lt;/strong&gt;, and then click &lt;strong class=&quot;uiterm&quot;&gt;Modify&lt;/strong&gt;.&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;In the &lt;strong class=&quot;uiterm&quot;&gt;Value data&lt;/strong&gt; box, type &lt;span class=&quot;userInput&quot;&gt;1&lt;/span&gt;, and then click &lt;strong class=&quot;uiterm&quot;&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li style=&quot;border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; list-style-type: decimal; &quot;&gt;Quit Registry Editor, and then restart your computer.&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I tried this out and it worked wonderfully.&lt;/div&gt;</description><link>http://faraz-khan.blogspot.com/2009/05/moss-sp2-is-out.html</link><author>noreply@blogger.com (Faraz)</author><thr:total>0</thr:total></item></channel></rss>