<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SharePointChick.com</title>
        <link>http://sharepointchick.com/Default.aspx</link>
        <description>Adventures in SharePoint by Mirjam van Olst</description>
        <language>en-GB</language>
        <copyright>Mirjam</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <image>
            <title>SharePointChick.com</title>
            <url>http://sharepointchick.com/images/RSS2Image.gif</url>
            <link>http://sharepointchick.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Site Definitions vs. WebTemplates</title>
            <category>dotnetmag</category>
            <category>SharePoint 2010</category>
            <link>http://sharepointchick.com/archive/2010/06/15/site-definitions-vs.-webtemplates.aspx</link>
            <description>&lt;p&gt;The site definition vs. webtemplate vs custom code discussion is a very old and ever returning discussions. There are at least four different approaches:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Creating full blown custom site definitions &lt;/li&gt;    &lt;li&gt;Creating custom empty or blank site definitions and provisioning those with (stapled) features and code &lt;/li&gt;    &lt;li&gt;Creating site templates &lt;/li&gt;    &lt;li&gt;Using custom code &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I think it is safe to say that the first option is a bit out of date. Creating full blown site definitions requires writing a lot of tedious XML in the onet.xml and schema.xml files. Microsoft has advised against this approach for some time now and that message has gotten a lot stronger with SharePoint 2010 and the new WebTemplate feature.&lt;/p&gt;  &lt;p&gt;The second option is still a valid option. This option means you strip a site definition to its bear minimum. All list instances, modules and web parts will be removed from the onet.xml to make the onet.xml as small and readable as possible. The functionality can be added to the empty site by using features in the site definition, stapled features or code in a feature receiver. The best options are the stapled features and the code in the feature receiver. A combination of the two can also be a good solution. &lt;/p&gt;  &lt;p&gt;When choosing between defining a feature in the onet.xml and stapling a feature to a site definition you might want to consider the provisioning order of a site definition:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create the url for the site &lt;/li&gt;    &lt;li&gt;Provision the GLOBAL onet.xml &lt;/li&gt;    &lt;li&gt;When creating a new site collection - Activate site collection (SPSite) scoped features that are defined in the onet.xml, when creating a new sub site – verifying that all site collection scoped features are activated &lt;/li&gt;    &lt;li&gt;Activate site collection scoped stapled features in random order &lt;/li&gt;    &lt;li&gt;Activate sub site (SPWeb) scoped features that are defined in the onet.xml &lt;/li&gt;    &lt;li&gt;Activate sub site scoped stapled features in random order &lt;/li&gt;    &lt;li&gt;Create list instances defined in onet.xml &lt;/li&gt;    &lt;li&gt;Create modules defined in onet.xml &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The third option is using site templates. In SharePoint 2007 site templates could only be created by using the “save site as template” option from user interface of the site settings menu. Saving a site as a template would create a .stp file, which was called a site template. In SharePoint 2010 we can still save sites as templates, but now it will create a .wsp file. Yep, that’s right, saving a site as a template creates a real SharePoint solution. The generated .wsp solution can be imported into Visual Studio 2010 and edited from there, but unfortunately the imported solution will contain all content types, site columns and properties that were available within the site, even if they weren’t actually used. This creates a lot of clutter and a pretty unmanageable solution. The novelty that makes saving a site as a .wsp solution possible is the WebTemplate feature element. &lt;/p&gt;  &lt;p&gt;The WebTemplate feature element can also be used to create your own web templates, without saving a site as a template. Just like site definitions, site templates in SharePoint 2010 require an onet.xml file. However, instead of the webtemp.xml file you will use a feature with the WebTemplate element. In the WebTemplate element you will define a BaseTemplateName, a BaseTemplateID and a BaseConfigurationID. In the example below the BaseTemplateName is STS, the BaseTemplateID is 1 and the BaseConfigurationID is 0. Die-hard SharePointeers will recognize the template name and configuration id and know that the basis for the site template we’re creating is the Team Site. The name and title of this site template will be My Fancy Web Template, so this is what will be displayed as the title of the template when you’re creating a new site. The category where you can find the site template in is Fancy Sites. A lot of the other properties can be left out if you’re creating your own site template, I just wanted to list them all in here for your reference.&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;Elements&lt;/span&gt; &lt;span style="color: red"&gt;xmlns&lt;/span&gt;="&lt;span style="color: blue"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;WebTemplate&lt;/span&gt;
    &lt;span style="color: red"&gt;AdjustHijriDays&lt;/span&gt;="&lt;span style="color: blue"&gt;0&lt;/span&gt;"
    &lt;span style="color: red"&gt;AlternateCssUrl &lt;/span&gt;="&lt;span style="color: blue"&gt;"
    &lt;span style="color: red"&gt;AlternateHeader &lt;/span&gt;="&lt;span style="color: blue"&gt;"
    &lt;span style="color: red"&gt;BaseConfigurationID &lt;/span&gt;="&lt;font color="#0000ff"&gt;0&lt;/font&gt;"
    &lt;span style="color: red"&gt;BaseTemplateID &lt;/span&gt;="&lt;span style="color: blue"&gt;1&lt;/span&gt;"
    &lt;span style="color: red"&gt;BaseTemplateName &lt;/span&gt;="&lt;span style="color: blue"&gt;STS&lt;/span&gt;"
    &lt;span style="color: red"&gt;CalendarType &lt;/span&gt;="&lt;span style="color: blue"&gt;1&lt;/span&gt;"
    &lt;span style="color: red"&gt;Collation&lt;/span&gt;="&lt;span style="color: blue"&gt;25&lt;/span&gt;"
    &lt;span style="color: red"&gt;ContainsDefaultLists &lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;"
    &lt;span style="color: red"&gt;CustomizedCssFiles&lt;/span&gt;="&lt;span style="color: blue"&gt;"
    &lt;span style="color: red"&gt;CustomJSUrl&lt;/span&gt;="&lt;span style="color: blue"&gt;"
    &lt;span style="color: red"&gt;Description&lt;/span&gt;="&lt;span style="color: blue"&gt;Site with a lot of fancy features.&lt;/span&gt;"
    &lt;span style="color: red"&gt;DisplayCategory&lt;/span&gt;="&lt;span style="color: blue"&gt;Fancy Sites&lt;/span&gt;"
    &lt;span style="color: red"&gt;ExcludeFromOfflineClient&lt;/span&gt;="&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;"
    &lt;span style="color: red"&gt;ImageUrl&lt;/span&gt;="&lt;span style="color: blue"&gt;"
    &lt;span style="color: red"&gt;Locale&lt;/span&gt;="&lt;span style="color: blue"&gt;1033&lt;/span&gt;"
    &lt;span style="color: red"&gt;Name&lt;/span&gt;="&lt;span style="color: blue"&gt;My Fancy Web Template&lt;/span&gt;"
    &lt;span style="color: red"&gt;ParserEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;"
    &lt;span style="color: red"&gt;PortalName&lt;/span&gt;="&lt;span style="color: blue"&gt;" 
    &lt;span style="color: red"&gt;PortalUrl&lt;/span&gt;="&lt;span style="color: blue"&gt;" 
    &lt;span style="color: red"&gt;PresenceEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;ProductVersion&lt;/span&gt;="&lt;span style="color: blue"&gt;" 
    &lt;span style="color: red"&gt;QuickLaunchEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;Subweb&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;SyndicationEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;Time24&lt;/span&gt;="&lt;span style="color: blue"&gt;TRUE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;TimeZone&lt;/span&gt;="&lt;span style="color: blue"&gt;272&lt;/span&gt;" 
    &lt;span style="color: red"&gt;Title&lt;/span&gt;="&lt;span style="color: blue"&gt;My Fancy Web Template&lt;/span&gt;" 
    &lt;span style="color: red"&gt;TreeViewEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;" 
    &lt;span style="color: red"&gt;UIVersionConfigurationEnabled&lt;/span&gt;="&lt;span style="color: blue"&gt;FALSE&lt;/span&gt;" &lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;    
  &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;WebTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;Elements&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;A web template feature can be site or farm scoped. If it is site scoped it can be deployed as a sandboxed solution. This way you can easily create sub sites based on the site template. If a site collection has to be based on the site template and you still want to deploy the site template as a sandboxed solution you can use the following steps:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You can first create the site collection without a template by selecting Select template later in the Custom template category &lt;/li&gt;

  &lt;li&gt;After creating the site, browsing to the site will redirect you to the template selection page &lt;/li&gt;

  &lt;li&gt;At the bottom of the settings page a link to the Solution Gallery is displayed &lt;/li&gt;

  &lt;li&gt;Click on the link and upload the sandboxed solution containing the site template &lt;/li&gt;

  &lt;li&gt;Activate the solution &lt;/li&gt;

  &lt;li&gt;The site template can now be selected and the site creation will be finished &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The good thing about web templates is that they are based on one of the standard SharePoint site definitions and that they are stored in the database. This means that they will be easier to upgrade then a site definition would probably be. Another advantage of site templates is that they can be deployed as sandboxed solutions. These should be your main drivers for using site templates.&lt;/p&gt;

&lt;p&gt;There are a couple of things that you can use in site definitions that aren’t available in site templates. &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Module elements 
    &lt;br /&gt;     * This means you can’t provision aspx pages by using the modules element in the onet.xml. Instead you can use features and feature receivers to provision your aspx pages and place web parts on them. This is a best practice anyway. Using features for you modules gives you more flexibility and also enables you to control the provisioning better. It will for instance enable you to make sure that adding the default.aspx page to the site isn’t the last step in the site creation process. Since using features is a great alternate approach for the modules in the site definition not being able to use modules in site templates is not a big deal. &lt;/li&gt;

  &lt;li&gt;Components elements. The components element can contain two child elements that are both optional and cannot appear more than once. Both elements are rarely used, so not being able to use them in site templates won’t be a problem for most people. 
    &lt;br /&gt;     * FileDialogPostProcessor – this is a class that is used to modify the file open and save dialogs on a document library. If you save a file directly from Office to a document library you will get a web interface and in the FileDialogPostProcessor you can declare a class that modifies that interface. 

    &lt;br /&gt;     * ExternalSecurityProvider – represents an interface that returns custom information about the security used in Microsoft SharePoint Foundation for indexing by a search crawler on a portal. &lt;/li&gt;

  &lt;li&gt;ServerEmailFooter 
    &lt;br /&gt;     * This element can be used to define a footer section for email sent from the server. This element is also rarely used, so not being able to use it won’t be a big disturbance. &lt;/li&gt;

  &lt;li&gt;Stapled features 
    &lt;br /&gt;     * Now this one is a bit nasty. When creating site definitions the advice is to use stapled features for adding features and functionality to sites that are created based on the site definition. The nice thing about this is that you don’t have to add the features to the onet.xml, you can simply create a stapling feature and link the site definition and the features in there. You can’t do this in site templates. I really hope this will be made possible later on, but for now we will have to add the features directly to the onet.xml of the site template.  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because of these limitations the provisioning order of a site template will be:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Create the url for the site &lt;/li&gt;

  &lt;li&gt;Provision the GLOBAL onet.xml &lt;/li&gt;

  &lt;li&gt;When creating a new site collection - Activate site collection (SPSite) scoped features that are defined in the onet.xml, when creating a new sub site – verifying that all site collection scoped features are activated &lt;/li&gt;

  &lt;li&gt;Activate sub site (SPWeb) scoped features that are defined in the onet.xml &lt;/li&gt;

  &lt;li&gt;Create list instances defined in onet.xml &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The fourth option is to not create any custom site definitions and site templates and provision the whole site by using code. The nice thing about this is that it means not having to write any XML. Of course it does mean that you have to write a lot of custom code. You also need a way to trigger the code that will provision your site. This can be done in a feature receiver of a feature that is for instance added to the blank site definition (keep in mind that you can’t staple to the out of the box site definition). You can also create a custom site creation page that users will use to create their sites and that will fire of your code. 
  &lt;br /&gt;The all custom code approach is often used when sites are created by an automated process like a workflow, or for instance by a trigger from an external application. At Macaw we see a lot of use cases where the site creation process is triggered by a button or a change in Microsoft CRM. &lt;/p&gt;

&lt;p&gt;
  &lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Creating full blown site definitions and writing a lot of XML for the onet.xml file is not the best option. One of the reasons for this is of course that writing a lot XML is no fun, difficult to debug and very error prone. Another, perhaps even better reason, is that site definitions like this will almost certainly give you a headache when you want to upgrade to the next SharePoint version. Microsoft has been warning people for a while that eventually they will stop supporting site definitions. And it definitely looks like with the WebTemplate feature, they made the first step in that direction.&lt;/p&gt;

&lt;p&gt;Using minimal site definitions with features and feature receivers is still an option that can be used. A reason for choosing this approach over the site templates approach could be if you need to use a lot of stapled features.&lt;/p&gt;

&lt;p&gt;With the new WebTemplate feature in SharePoint 2010, the use of site templates will dramatically increase. If you are not bothered too much by the limitations of the site template this is a better bet than using site definitions. Mainly because it will make a future upgrade easier. The fact that you can deploy a site template as a sandboxed solution and thus only make a template available within a certain site collection can also be a benefit.&lt;/p&gt;

&lt;p&gt;The custom code solution is also a valid approach. I would personally mainly use this when sites are created using automated processes. Of course approach two and three can also use custom code in feature receivers to add functionality to a site. A good reason to use this would be if you need to create list instances and add content types to them. I feel it is way easier to do this in code than to write that out using XML.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;So..still not a clear and definitive answer, but I hope I was able to clarify the considerations for the different options in this post.&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/89.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/06/15/site-definitions-vs.-webtemplates.aspx</guid>
            <pubDate>Tue, 15 Jun 2010 16:19:16 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/89.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/06/15/site-definitions-vs.-webtemplates.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/89.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/89.aspx</trackback:ping>
        </item>
        <item>
            <title>SharePoint Community Stuff Updates</title>
            <category>Conferences</category>
            <category>DIWUG</category>
            <category>dotnetmag</category>
            <link>http://sharepointchick.com/archive/2010/06/07/sharepoint-community-stuff-updates.aspx</link>
            <description>&lt;p&gt;It has been a bit quiet over the last few weeks here, while I was in Redmond, undertaking the SharePoint 2010 Microsoft Certified Master training.   &lt;br /&gt;I’m back now, so I hope you enjoyed the silence while it lasted…&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DIWUG eMagazine     &lt;br /&gt;&lt;/strong&gt;While I was hiding in Redmond, Marianne finished the work on the second DIWUG eMagazine. A big heads-up for Marianne for taking on a lot of the work on her own for this one. The magazine has turned out great again, with a lot of very cool SharePoint articles:&lt;/p&gt;  &lt;p&gt;Web Content Management the SharePoint Server 2010 way - &lt;a href="http://blog.mastykarz.nl/" target="_blank"&gt;Waldek Mastykarz&lt;/a&gt;    &lt;br /&gt;Themes in SharePoint 2010 - &lt;a href="http://www.wictorwilen.se/" target="_blank"&gt;Wictor Wilen&lt;/a&gt;    &lt;br /&gt;Suggestions for Social and Search in SharePoint 2010 - &lt;a href="http://awdhaan.blogspot.com/" target="_blank"&gt;Andries den Haan&lt;/a&gt;    &lt;br /&gt;Community Kit for SharePoint Development Tools Edition - &lt;a href="http://weshackett.spaces.live.com/blog/" target="_blank"&gt;Wes Hackett&lt;/a&gt;    &lt;br /&gt;How to manage your Feature Lifecycle using Feature Versioning - &lt;a href="http://andersrask.spoint.me/" target="_blank"&gt;Anders Rask&lt;/a&gt;    &lt;br /&gt;Architecting Service Applications - &lt;a href="http://octavievanhaaften.wordpress.com/" target="_blank"&gt;Octavie van Haaften&lt;/a&gt;    &lt;br /&gt;Incorporating External Data in SharePoint 2010 using WCF - &lt;a href="http://mstecharchitect.blogspot.com/" target="_blank"&gt;Raghavan Ramadurai&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Be sure the download the new magazine &lt;a title="Download DIWUG eMagazine" href="http://information-worker.org/freemagazine.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We are already working on the next magazine, which will be released at the end of September. If you want to sponsor the magazine or write an article for it, please let us know.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint Featured MVPs on TechNet&lt;/strong&gt;    &lt;br /&gt;I’m one of the 9 MVPs featured on TechNet at the moment. Very cool!    &lt;br /&gt;The page can be found &lt;a title="SharePoint Featured MVPs on TechNet" href="http://technet.microsoft.com/en-gb/sharepoint/ff400167.aspx" target="_blank"&gt;here&lt;/a&gt;. Each MVP’s page contains a bio, links to blogs and articles, SharePoint forum posts and tweets.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint Best Practices Conference&lt;/strong&gt;    &lt;br /&gt;From August 24 till August 27 the SharePoint Best Practices Conference will be held again in Washington DC.    &lt;br /&gt;This year the keynote will be different. It won’t be a cool story by a SharePoint celebrity, it will be 6 MCMs (Microsoft Certified Masters) sharing what they think it the coolest new thing in SharePoint 2010. I’m very excited to be one of the MCMs presenting on the keynote!    &lt;br /&gt;Of course I’m not just flying to Washington for the keynote, I’ll also be presenting and I’ll be on the Ask the Experts panel.    &lt;br /&gt;The topics I’ll be presenting on in Washington are:    &lt;br /&gt;&lt;a href="https://www.bestpracticesconference.com/Agenda.aspx#iw09"&gt;Scaling SharePoint from small libraries to massive distributed archives&lt;/a&gt;    &lt;br /&gt;&lt;a href="https://www.bestpracticesconference.com/Agenda.aspx#iw10"&gt;SharePoint 2010 Developer’s Mythbusters&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more information on other speakers, presentations and registration take a look at the &lt;a title="Best Practices Conference website" href="https://www.bestpracticesconference.com/" target="_blank"&gt;Best Practices Conference website&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;That’s it for now, but without a doubt there will be new events added to the list. Just stay tuned if you want to know how you can find or avoid me.&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/88.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/06/07/sharepoint-community-stuff-updates.aspx</guid>
            <pubDate>Mon, 07 Jun 2010 14:25:12 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/88.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/06/07/sharepoint-community-stuff-updates.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/88.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/88.aspx</trackback:ping>
        </item>
        <item>
            <title>SharePoint Evolution Conference 2010 wrap up and slide decks</title>
            <category>SharePoint 2010</category>
            <category>dotnetmag</category>
            <category>Conferences</category>
            <link>http://sharepointchick.com/archive/2010/05/07/sharepoint-evolution-conference-2010-wrap-up-and-slide-decks.aspx</link>
            <description>&lt;p&gt;I had the honour of speaking at the SharePoint Evolution Conference this year. The original plan was to fly to London on Saturday afternoon and to present on “Using SharePoint search to develop custom solutions” on Wednesday. Because of the infamous volcanic ash cloud that Iceland so kindly send in our (or basically in every) direction things worked out a little bit differently.   &lt;br /&gt;On the Saturday afternoon I took the train from Rotterdam Central Station to Brussels Midi and from Brussels Midi I took the Eurostar train to London St. Pancras. I must say that this wasn’t an unpleasant experience at all. It was a bit more expensive than my plane tickets were and it’s a bit of pain to carry around your bags across the train station, but other than that it was quite pleasant and smooth.&lt;/p&gt;  &lt;p&gt;Since there’s not train from the US to London and not one from Norway to London either unfortunately several speakers and friends couldn’t make it. Luckily a lot of great speakers did make it and stepped up to fill in for those who couldn’t make it. Thanks to great work in rearranging schedules and getting as many people as possible to the conference in London from the whole Combined Knowledge crew and in particular Steve and Zoe the conference was a great success, ash cloud or no ash cloud.&lt;/p&gt;  &lt;p&gt;Here are the slides from my presentations at the SharePoint Evolution Conference:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/presentations/UsingSharePointSearchToDevelopCustomSolutions.pdf" target="_blank"&gt;DEV105 - Using SharePoint search to develop custom solutions&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/presentations/SandboxedSolutions.pdf" target="_blank"&gt;ITPRO106 - What, Why, When and How? Sandboxed Solutions&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/presentations/SharePointSearchForEndUsers.pdf" target="_blank"&gt;IW109 - What’s new in SharePoint Search 2010 for end users&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/presentations/GrowingToMassiveArchives.pdf" target="_blank"&gt;DD113 - Growing SharePoint from small libraries to large scale repositories and massive archives&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Thanks to all the attendees that made the extra effort to get to London and made this conference an incredible and unforgettable event. I really hope to be there again next year and to see all of you there again as well of course. &lt;/p&gt;  &lt;p&gt;Also again, thanks to Steve and Zoe and the rest of the Combined Knowledge crew. You all did a great and very impressive job at making this show a great success again. I hugely enjoyed it.&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/87.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/05/07/sharepoint-evolution-conference-2010-wrap-up-and-slide-decks.aspx</guid>
            <pubDate>Fri, 07 May 2010 01:03:37 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/87.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/05/07/sharepoint-evolution-conference-2010-wrap-up-and-slide-decks.aspx#feedback</comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/87.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/87.aspx</trackback:ping>
        </item>
        <item>
            <title>Configuring claims and forms based authentication for use with a SQL provider in SharePoint 2010</title>
            <category>SharePoint 2010</category>
            <category>#SP2010NL</category>
            <category>dotnetmag</category>
            <category>Authentication</category>
            <link>http://sharepointchick.com/archive/2010/05/07/configuring-claims-and-forms-based-authentication-for-use-with-a.aspx</link>
            <description>&lt;p&gt;Today I worked on configuring forms based authentication for SharePoint 2010. Using forms based authentication automatically means using claims based authentication in Sharepoint 2010. &lt;br /&gt;
I tried using both an LDAP provider and a SQL provider. My initial goal was to get them both working in the same environment, but after a lot of hours of staring at XML in web.config files I gave up on that one. Instead I created separate environments for using LDAP and SQL providers. Because of this I will also write two separate blog posts. This one will explain how to set up forms based authentication while using a SQL provider. &lt;br /&gt;
If you want to configure forms based authentication for use with an LDAP provider check out my other post &lt;a href="http://www.sharepointchick.com/archive/2010/05/06/configuring-claims-and-forms-based-authentication-for-use-with-an.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Using a SQL provider with forms based authentication means that users will use usernames and passwords that are stored in SQL Server Database. They will use a sign-in page to fill in their credentials and log in. &lt;/p&gt;
&lt;p&gt;You can of course create your own database for storing credentials, but if you want one to be set up for you very quickly you can create the ASPNETDB by performing these steps:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Go to the SQL Server database server &lt;/li&gt;
    &lt;li&gt;On the database server, open Windows Explorer. &lt;/li&gt;
    &lt;li&gt;Navigate to the path %System Drive%\Windows\Microsoft.NET\Framework\v2.0.50727. &lt;/li&gt;
    &lt;li&gt;To start the ASP.NET SQL Server Setup Wizard, double-click aspnet_regsql.exe. &lt;/li&gt;
    &lt;li&gt;Complete the wizard &lt;/li&gt;
    &lt;li&gt;Make sure the Application Pool accounts of the web application(s) and the Central Administration web site have access to the database &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In order to load up your database with test data you can use the membership seeder tool from CodePlex&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Download the MembershipSeeder tool from &lt;a href="http://www.codeplex.com/CKS/Release/ProjectReleases.aspx?ReleaseId=7450"&gt;http://www.codeplex.com/CKS/Release/ProjectReleases.aspx?ReleaseId=7450&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;To run the MembershipSeeder tool &lt;br /&gt;
         * Start the MembershipSeeder tool. &lt;br /&gt;
         * Click Configure. &lt;br /&gt;
         * In the dialog box that opens, type the name of the computer running SQL Server that hosts your SQL membership database. &lt;br /&gt;
         * Save your changes, and then restart MembershipSeeder so that it will use the new server name. &lt;/li&gt;
    &lt;li&gt;To create users for testing purposes &lt;br /&gt;
         * In the User Prefix field, type a value. &lt;br /&gt;
         * In the Password field, type the password you want each user to have. &lt;br /&gt;
         * In the # of Users field, select the number of users to create. &lt;br /&gt;
         * Click Create to create users where the user name is the value of the User Prefix field with an incrementing number added to the end &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;These are the steps you will need to take to set up the forms based authentication: &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Create a new web application&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Go to Central Administration &lt;/li&gt;
    &lt;li&gt;Go to Application Management &lt;/li&gt;
    &lt;li&gt;Click on Manage Web Applications &lt;/li&gt;
    &lt;li&gt;Click New &lt;/li&gt;
    &lt;li&gt;Select Claims Based Authentication &lt;/li&gt;
    &lt;li&gt;Identity Providers &lt;br /&gt;
         * Check the Enable Windows Authentication box or you won’t be able to crawl the site &lt;br /&gt;
         * Check the Enable ASP.NET Membership and Role Provider checkbox &lt;br /&gt;
              * In the Membership provider name edit box, type SqlMember &lt;br /&gt;
              * In the Role provider name edit box, type SqlRole &lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;  &lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="CreateWebAppSql" border="0" alt="CreateWebAppSql" width="608" height="309" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_147B9/CreateWebAppSql_4bf1d89a-a211-4fb4-b74a-bc1ca6c315a2.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
Create a new site collection&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Go to Central Administration &lt;/li&gt;
    &lt;li&gt;Go to Application Management &lt;/li&gt;
    &lt;li&gt;Click Create site collections &lt;/li&gt;
    &lt;li&gt;Select the newly created web application &lt;/li&gt;
    &lt;li&gt;Fill in a name and select a template &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adjust the web.config of the Central Administration site&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Open the Central Administration site's web.config file &lt;/li&gt;
    &lt;li&gt;Find the &amp;lt;/configSections&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Paste the following XML directly below it &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;"&lt;br /&gt; &lt;span style="COLOR: red"&gt;connectionString&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;data source=sql.sharepoint.com;Integrated Security=SSPI;Initial Catalog=aspnetdb&lt;/span&gt;" &lt;br /&gt;&lt;span style="COLOR: red"&gt; providerName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Data.SqlClient&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Find the &amp;lt;system.web&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Paste the following XML directly below it &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt; &lt;span style="COLOR: red"&gt;enabled&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cacheRolesInCookie&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;.ASPXROLES&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieTimeout&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;30&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookiePath&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieRequireSSL&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieSlidingExpiration&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieProtection&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;All&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;defaultProvider&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetWindowsTokenRoleProvider&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;createPersistentCookie&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;maxCachedResults&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;25&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlRole&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0,&lt;br /&gt; Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetWindowsTokenRoleProvider&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0,&lt;br /&gt; Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt; &lt;span style="COLOR: red"&gt;defaultProvider&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;userIsOnlineTimeWindow&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;15&lt;/span&gt;" &lt;span style="COLOR: red"&gt;hashAlgorithmType&lt;/span&gt;=""&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;enablePasswordRetrieval&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;enablePasswordReset&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;requiresQuestionAndAnswer&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;passwordAttemptWindow&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;10&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;requiresUniqueEmail&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;passwordFormat&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;Hashed&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0,&lt;br /&gt; Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Double check whether the &amp;lt;membership&amp;gt; and &amp;lt;rolemanager&amp;gt; entries only exist ones. Delete any double entries. &lt;/li&gt;
    &lt;li&gt;Paste the following XML below the &amp;lt;PeoplePickerWildcards&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;%&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;font color="#0000ff"&gt;%&lt;/font&gt;"/&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlRole&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;font color="#0000ff"&gt;%&lt;/font&gt;"/&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adjust the web.config of the Security Token Service (STS) virtual directory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NB: you will need to make the changes to the Security Token Service virtual directory on each server hosting either Central Administration or the claims based web application&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Open the Security Token Service (STS) virtual directory's web.config file &lt;/li&gt;
    &lt;li&gt;Find the &amp;lt;/system.net&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Paste the following XML directly below it &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;"&lt;br /&gt; &lt;span style="COLOR: red"&gt;connectionString&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;data source=sql.sharepoint.com;Integrated Security=SSPI;Initial Catalog=aspnetdb&lt;/span&gt;" &lt;br /&gt;&lt;span style="COLOR: red"&gt; providerName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Data.SqlClient&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Add a &amp;lt;system.web&amp;gt; entry directly below the &amp;lt;/connectionStrings&amp;gt; &lt;/li&gt;
    &lt;li&gt;Paste the following XML directly below the &amp;lt;system.web&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
     &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;enablePasswordRetrieval&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;enablePasswordReset&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;requiresQuestionAndAnswer&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;passwordAttemptWindow&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;10&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;requiresUniqueEmail&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;passwordFormat&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;Hashed&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" 
        &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt; &lt;span style="COLOR: red"&gt;enabled&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;"&lt;br /&gt;         &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlRole&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, &lt;br /&gt;Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Add a &amp;lt;/system.web&amp;gt; entry directly below it &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adjust the web.config of the claims based web application&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Open the claims based web application's web.config file &lt;/li&gt;
    &lt;li&gt;Find the &amp;lt;/configSections&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Paste the following XML directly below it &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;"&lt;br /&gt; &lt;span style="COLOR: red"&gt;connectionString&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;data source=sql.sharepoint.com;Integrated Security=SSPI;Initial Catalog=aspnetdb&lt;/span&gt;" &lt;br /&gt;&lt;span style="COLOR: red"&gt; providerName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Data.SqlClient&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Locate the &amp;lt;membership&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Replace everything from &amp;lt;membership&amp;gt; to &amp;lt;/membership&amp;gt; with the following XML &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt; &lt;span style="COLOR: red"&gt;defaultProvider&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;i&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;userIsOnlineTimeWindow&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;15&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;hashAlgorithmType&lt;/span&gt;=""&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMemberShipProvider&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;enablePasswordRetrieval&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;enablePasswordReset&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;requiresQuestionAndAnswer&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;passwordAttemptWindow&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;10&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;requiresUniqueEmail&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;passwordFormat&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;Hashed&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" 
         &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
     &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;i&lt;/span&gt;" 
&lt;span style="COLOR: red"&gt;        type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, 
Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;membership&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Locate the &amp;lt;roleManager&amp;gt; entry &lt;/li&gt;
    &lt;li&gt;Replace everything from &amp;lt;roleManager&amp;gt; to &amp;lt;/roleManager&amp;gt; with the following XML: &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt; &lt;span style="COLOR: red"&gt;enabled&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cacheRolesInCookie&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;.ASPXROLES&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieTimeout&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;30&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookiePath&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieRequireSSL&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieSlidingExpiration&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;cookieProtection&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;All&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;defaultProvider&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;c&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;createPersistentCookie&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="COLOR: red"&gt;maxCachedResults&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;25&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
      &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
         &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
         &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;connectionStringName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMemberShipProvider&lt;/span&gt;" 
            &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
            &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlRoleProvider&lt;/span&gt;" 
            &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
         &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;applicationName&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;/&lt;/span&gt;" 
            &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlRole&lt;/span&gt;" 
            &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
         &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;name&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;c&lt;/span&gt;" &lt;span style="COLOR: red"&gt;type&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, 
Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;providers&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; 
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="COLOR: maroon"&gt;roleManager&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
    &lt;li&gt;Paste the following XML below the PeoplePickerWildcards entry &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;clear&lt;/span&gt; /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;%&lt;/span&gt;" /&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlMember&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;font color="#0000ff"&gt;%&lt;/font&gt;"/&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="COLOR: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: maroon"&gt;add&lt;/span&gt; &lt;span style="COLOR: red"&gt;key&lt;/span&gt;="&lt;span style="COLOR: blue"&gt;SqlRole&lt;/span&gt;" &lt;span style="COLOR: red"&gt;value&lt;/span&gt;="&lt;font color="#0000ff"&gt;%&lt;/font&gt;"/&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Add a user policy to the web application&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Go to Central Administration &lt;/li&gt;
    &lt;li&gt;Go to Application Management &lt;/li&gt;
    &lt;li&gt;Click on Manage Web Applications &lt;/li&gt;
    &lt;li&gt;Select the claims based web application &lt;/li&gt;
    &lt;li&gt;Click on User Policy &lt;/li&gt;
    &lt;li&gt;Click on the Add Users link &lt;/li&gt;
    &lt;li&gt;Click the Next button. &lt;/li&gt;
    &lt;li&gt;Click the Address Book icon. &lt;/li&gt;
    &lt;li&gt;Type in the NT login name or account name and click the search button. If it’s working correctly you should see at least two entries for the account – one that is for the user’s Active Directory account, and one that is for that same account but which was found using the LDAP provider. &lt;/li&gt;
    &lt;li&gt;Select the account in the User section and click the Add button &lt;/li&gt;
    &lt;li&gt;Click the OK button &lt;/li&gt;
    &lt;li&gt;Check the Full Control checkbox, then click the Finish button &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="addPolicySql" border="0" alt="addPolicySql" width="586" height="531" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_147B9/addPolicySql_a4f120a0-b50b-442c-9d33-ab8ba4099dec.png" /&gt; &lt;/p&gt;
&lt;p&gt;You can now browse to the web application and log in using forms based authentication.&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="signin" border="0" alt="signin" width="578" height="229" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_147B9/signin_fac70a4f-6594-4036-bbf5-b5240aff2a66.png" /&gt; &lt;/p&gt;
&lt;p&gt;Select Forms Authentication&lt;/p&gt;
&lt;p&gt; &lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="signin2" border="0" alt="signin2" width="586" height="240" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_147B9/signin2_120f0779-f180-4820-b12d-96721d29688e.png" /&gt; &lt;/p&gt;
&lt;p&gt;And fill in the username and password &lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;I used the following blog posts to get things working, so I would like to thank Ali for his post: &lt;br /&gt;
&lt;a title="http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx" href="http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx"&gt;http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx&lt;/a&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;I also want to thank &lt;a target="_blank" href="http://www.harbar.net"&gt;Spence&lt;/a&gt; for his help and advice.&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/86.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/05/07/configuring-claims-and-forms-based-authentication-for-use-with-a.aspx</guid>
            <pubDate>Thu, 06 May 2010 23:36:13 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/86.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/05/07/configuring-claims-and-forms-based-authentication-for-use-with-a.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/86.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/86.aspx</trackback:ping>
        </item>
        <item>
            <title>Configuring claims and forms based authentication for use with an LDAP provider in SharePoint 2010</title>
            <category>dotnetmag</category>
            <category>SharePoint 2010</category>
            <category>Authentication</category>
            <link>http://sharepointchick.com/archive/2010/05/06/configuring-claims-and-forms-based-authentication-for-use-with-an.aspx</link>
            <description>&lt;p&gt;Today I worked on configuring forms based authentication for SharePoint 2010. Using forms based authentication automatically means using claims based authentication in Sharepoint 2010.    &lt;br /&gt;I tried using both an LDAP provider and a SQL provider. My initial goal was to get them both working in the same environment, but after a lot of hours of staring at XML in web.config files I gave up on that one. Instead I created separate environments for using LDAP and SQL providers. Because of this I will also write two separate blog posts. This one will explain how to set up forms based authentication while using an LDAP provider.    &lt;br /&gt;If you want to configure forms based authentication for use with a SQL provider check out my other post &lt;a href="http://www.sharepointchick.com/archive/2010/05/07/configuring-claims-and-forms-based-authentication-for-use-with-a.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Using an LDAP provider with forms based authentication means that users will use their Windows or AD account to log in. However, because forms based authentication will be used they don’t get the usual popup, but they will use a sign-in page to log in.&lt;/p&gt;  &lt;p&gt;These are the steps you will need to take to set it up:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Create a new web application&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Go to Central Administration &lt;/li&gt;    &lt;li&gt;Go to Application Management &lt;/li&gt;    &lt;li&gt;Click on Manage Web Applications &lt;/li&gt;    &lt;li&gt;Click New &lt;/li&gt;    &lt;li&gt;Select Claims Based Authentication &lt;/li&gt;    &lt;li&gt;Identity Providers      &lt;br /&gt;     * Check the Enable Windows Authentication box or you won’t be able to crawl the site       &lt;br /&gt;     * Check the Enable ASP.NET Membership and Role Provider checkbox       &lt;br /&gt;          * In the Membership provider name edit box, type LdapMember       &lt;br /&gt;          * In the Role provider name edit box, type LdapRole       &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CreateWebAppLdap" border="0" alt="CreateWebAppLdap" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_11D1C/CreateWebAppLdap_f7100684-1845-4b55-98a4-2798de9fe780.png" width="607" height="340" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;     &lt;br /&gt;Create a new site collection&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Go to Central Administration &lt;/li&gt;    &lt;li&gt;Go to Application Management &lt;/li&gt;    &lt;li&gt;Click Create site collections &lt;/li&gt;    &lt;li&gt;Select the newly created web application &lt;/li&gt;    &lt;li&gt;Fill in a name and select a template      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Adjust the web.config of the Central Administration site&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open the Central Administration site's web.config file &lt;/li&gt;    &lt;li&gt;Find the &amp;lt;system.web&amp;gt; entry &lt;/li&gt;    &lt;li&gt;Paste the following XML directly below it &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;membership&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapMember&lt;/span&gt;" 
&lt;span style="color: red"&gt;         type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapMembershipProvider,&lt;br /&gt; Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,&lt;br /&gt; PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" 
&lt;span style="color: red"&gt;         server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
&lt;span style="color: red"&gt;         port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;" 
&lt;span style="color: red"&gt;         useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;" 
&lt;span style="color: red"&gt;         userDNAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;" 
&lt;span style="color: red"&gt;         userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;" 
&lt;span style="color: red"&gt;         userContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;" 
&lt;span style="color: red"&gt;         userObjectClass&lt;/span&gt;="&lt;span style="color: blue"&gt;person&lt;/span&gt;" 
&lt;span style="color: red"&gt;         userFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;" 
&lt;span style="color: red"&gt;         scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" 
&lt;span style="color: red"&gt;         otherRequiredUserAttributes&lt;/span&gt;="&lt;span style="color: blue"&gt;sn,givenname,cn&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;   &amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;membership&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;roleManager&lt;/span&gt; &lt;span style="color: red"&gt;enabled&lt;/span&gt;="&lt;span style="color: blue"&gt;true&lt;/span&gt;" &lt;span style="color: red"&gt;defaultProvider&lt;/span&gt;="&lt;span style="color: blue"&gt;AspNetWindowsTokenRoleProvider&lt;/span&gt;" &lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; 
&lt;span style="color: blue"&gt;   &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapRole&lt;/span&gt;"
&lt;span style="color: red"&gt;         type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapRoleProvider, &lt;br /&gt;Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;"
&lt;span style="color: red"&gt;         server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
&lt;span style="color: red"&gt;         port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;"
&lt;span style="color: red"&gt;         useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;"
&lt;span style="color: red"&gt;         groupContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;"
&lt;span style="color: red"&gt;         groupNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;cn&lt;/span&gt;"
&lt;span style="color: red"&gt;         groupNameAlternateSearchAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;samAccountName&lt;/span&gt;"
&lt;span style="color: red"&gt;         groupMemberAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;member&lt;/span&gt;"
&lt;span style="color: red"&gt;         userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;"
&lt;span style="color: red"&gt;         dnAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;"
&lt;span style="color: red"&gt;         groupFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=group)&lt;/span&gt;"
&lt;span style="color: red"&gt;         userFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;"
&lt;span style="color: red"&gt;         scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;   &amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;roleManager&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;In the above XML the server tag is the server name of the domain controller. The user and group containers are the containers in AD where the users and groups you want to use for authentication reside. If you don’t know what the path to your container is, but you do have access to AD you can find out what the container is. 
    &lt;ul&gt;
      &lt;li&gt;Go to the domain controller &lt;/li&gt;

      &lt;li&gt;Open Active Directory Users and Computers &lt;/li&gt;

      &lt;li&gt;Select a user or a group in the container &lt;/li&gt;

      &lt;li&gt;Right click and select All Tasks =&amp;gt; Resultant Set Of Policy (Planning) &lt;/li&gt;

      &lt;li&gt;Click the browse button next to Container and select the container &lt;/li&gt;

      &lt;li&gt;This will give you the path to the container &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;

  &lt;li&gt;Double check whether the &amp;lt;membership&amp;gt; and &amp;lt;rolemanager&amp;gt; entries only exist ones. Delete any double entries. &lt;/li&gt;

  &lt;li&gt;Paste the following XML below the &amp;lt;PeoplePickerWildcards&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;clear&lt;/span&gt; /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;%&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapMember&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;*&lt;/span&gt;"/&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapRole&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;*&lt;/span&gt;"/&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adjust the web.config of the Security Token Service (STS) virtual directory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB: you will need to make the changes to the Security Token Service virtual directory on each server hosting either Central Administration or the claims based web application&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Open the Security Token Service (STS) virtual directory's web.config file &lt;/li&gt;

  &lt;li&gt;Find the &amp;lt;/system.net&amp;gt; entry &lt;/li&gt;

  &lt;li&gt;Add a &amp;lt;system.web&amp;gt; entry directly below it &lt;/li&gt;

  &lt;li&gt;Paste the following XML directly below the &amp;lt;system.web&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;membership&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapMember&lt;/span&gt;" 
         &lt;span style="color: red"&gt;type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapMembershipProvider,&lt;br /&gt; Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" 
         &lt;span style="color: red"&gt;server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
         &lt;span style="color: red"&gt;port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;" 
         &lt;span style="color: red"&gt;useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;" 
         &lt;span style="color: red"&gt;userDNAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;" 
         &lt;span style="color: red"&gt;userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;" 
         &lt;span style="color: red"&gt;userContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;" 
         &lt;span style="color: red"&gt;userObjectClass&lt;/span&gt;="&lt;span style="color: blue"&gt;person&lt;/span&gt;" 
         &lt;span style="color: red"&gt;userFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;" 
         &lt;span style="color: red"&gt;scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" 
         &lt;span style="color: red"&gt;otherRequiredUserAttributes&lt;/span&gt;="&lt;span style="color: blue"&gt;sn,givenname,cn&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;membership&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;roleManager&lt;/span&gt; &lt;span style="color: red"&gt;enabled&lt;/span&gt;="&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; 
   &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapRole&lt;/span&gt;"
         &lt;span style="color: red"&gt;type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapRoleProvider,&lt;br /&gt; Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;"
         &lt;span style="color: red"&gt;server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
         &lt;span style="color: red"&gt;port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;"
         &lt;span style="color: red"&gt;useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;"
         &lt;span style="color: red"&gt;groupContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;"
         &lt;span style="color: red"&gt;groupNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;cn&lt;/span&gt;"
         &lt;span style="color: red"&gt;groupNameAlternateSearchAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;samAccountName&lt;/span&gt;"
         &lt;span style="color: red"&gt;groupMemberAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;member&lt;/span&gt;"
         &lt;span style="color: red"&gt;userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;"
         &lt;span style="color: red"&gt;dnAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;"
         &lt;span style="color: red"&gt;groupFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=group)&lt;/span&gt;"
         &lt;span style="color: red"&gt;userFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;"
         &lt;span style="color: red"&gt;scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
   &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;providers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;roleManager&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Add a &amp;lt;/system.web&amp;gt; entry directly below it &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adjust the web.config of the claims based web application&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Open the claims based web application's web.config file &lt;/li&gt;

  &lt;li&gt;Locate the &amp;lt;membership&amp;gt; entry &lt;/li&gt;

  &lt;li&gt;Paste the following XML directly below the &amp;lt;Providers&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapMember&lt;/span&gt;" 
   &lt;span style="color: red"&gt;type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapMembershipProvider, &lt;br /&gt;Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,&lt;br /&gt; PublicKeyToken=71e9bce111e9429c&lt;/span&gt;" 
   &lt;span style="color: red"&gt;server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
   &lt;span style="color: red"&gt;port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;" 
   &lt;span style="color: red"&gt;useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;" 
   &lt;span style="color: red"&gt;userDNAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;" 
   &lt;span style="color: red"&gt;userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;" 
   &lt;span style="color: red"&gt;userContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;" 
   &lt;span style="color: red"&gt;userObjectClass&lt;/span&gt;="&lt;span style="color: blue"&gt;person&lt;/span&gt;" 
   &lt;span style="color: red"&gt;userFilter=&lt;/span&gt;"&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;" 
   &lt;span style="color: red"&gt;scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" 
   &lt;span style="color: red"&gt;otherRequiredUserAttributes&lt;/span&gt;="&lt;span style="color: blue"&gt;sn,givenname,cn&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Locate the &amp;lt;roleManager&amp;gt; entry &lt;/li&gt;

  &lt;li&gt;Paste the following XML directly below the &amp;lt;Providers&amp;gt; entry &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;name&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapRole&lt;/span&gt;"
   &lt;span style="color: red"&gt;type&lt;/span&gt;="&lt;span style="color: blue"&gt;Microsoft.Office.Server.Security.LdapRoleProvider, &lt;br /&gt;Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=71e9bce111e9429c&lt;/span&gt;"
   &lt;span style="color: red"&gt;server&lt;/span&gt;="&lt;span style="color: blue"&gt;dc.sharepoint.com&lt;/span&gt;" 
   &lt;span style="color: red"&gt;port&lt;/span&gt;="&lt;span style="color: blue"&gt;389&lt;/span&gt;"
   &lt;span style="color: red"&gt;useSSL&lt;/span&gt;="&lt;span style="color: blue"&gt;false&lt;/span&gt;"
   &lt;span style="color: red"&gt;groupContainer&lt;/span&gt;="&lt;span style="color: blue"&gt;OU=SPUsers,DC=sharepoint,DC=com&lt;/span&gt;"
   &lt;span style="color: red"&gt;groupNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;cn&lt;/span&gt;"
   &lt;span style="color: red"&gt;groupNameAlternateSearchAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;samAccountName&lt;/span&gt;"
   &lt;span style="color: red"&gt;groupMemberAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;member&lt;/span&gt;"
   &lt;span style="color: red"&gt;userNameAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;sAMAccountName&lt;/span&gt;"
   &lt;span style="color: red"&gt;dnAttribute&lt;/span&gt;="&lt;span style="color: blue"&gt;distinguishedName&lt;/span&gt;"
   &lt;span style="color: red"&gt;groupFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=group)&lt;/span&gt;"
   &lt;span style="color: red"&gt;userFilter&lt;/span&gt;="&lt;span style="color: blue"&gt;(ObjectClass=person)&lt;/span&gt;"
   &lt;span style="color: red"&gt;scope&lt;/span&gt;="&lt;span style="color: blue"&gt;Subtree&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Paste the following XML below the PeoplePickerWildcards entry &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;clear&lt;/span&gt; /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;AspNetSqlMembershipProvider&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;%&lt;/span&gt;" /&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapMember&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;*&lt;/span&gt;"/&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;add&lt;/span&gt; &lt;span style="color: red"&gt;key&lt;/span&gt;="&lt;span style="color: blue"&gt;LdapRole&lt;/span&gt;" &lt;span style="color: red"&gt;value&lt;/span&gt;="&lt;span style="color: blue"&gt;*&lt;/span&gt;"/&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;
    &lt;br /&gt;Add a user policy to the web application&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Go to Central Administration &lt;/li&gt;

  &lt;li&gt;Go to Application Management &lt;/li&gt;

  &lt;li&gt;Click on Manage Web Applications &lt;/li&gt;

  &lt;li&gt;Select the claims based web application &lt;/li&gt;

  &lt;li&gt;Click on User Policy &lt;/li&gt;

  &lt;li&gt;Click on the Add Users link &lt;/li&gt;

  &lt;li&gt;Click the Next button. &lt;/li&gt;

  &lt;li&gt;Click the Address Book icon. &lt;/li&gt;

  &lt;li&gt;Type in the NT login name or account name and click the search button. If it’s working correctly you should see at least two entries for the account – one that is for the user’s Active Directory account, and one that is for that same account but which was found using the LDAP provider. &lt;/li&gt;

  &lt;li&gt;Select the account in the User section and click the Add button &lt;/li&gt;

  &lt;li&gt;Click the OK button &lt;/li&gt;

  &lt;li&gt;Check the Full Control checkbox, then click the Finish button &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="addPolicyLdap" border="0" alt="addPolicyLdap" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_11D1C/addPolicyLdap_560b9c42-af19-4f36-a5a6-d255e5da7866.png" width="585" height="529" /&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;You can now browse to the web application and log in using forms based authentication.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="signin" border="0" alt="signin" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_11D1C/signin_6209cff5-0cb4-4fca-82be-bc3b5369b7f1.png" width="578" height="229" /&gt;&lt;/p&gt;

&lt;p&gt;Select Forms Authentication in the dropdown&lt;/p&gt;

&lt;p&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="signin3" border="0" alt="signin3" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/Configuringclaimsandformsbasedauthentica_11D1C/signin3_04915db0-d1fa-41a2-980e-bb76ed1852c7.png" width="588" height="242" /&gt; &lt;/p&gt;

&lt;p&gt; And fill in the appropriate user name and password.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I used the following blog posts to get things working, so I would like to thank Steve, Ali and TechNet :-):&lt;/p&gt;
&lt;a title="http://blogs.technet.com/speschka/archive/2009/11/05/configuring-forms-based-authentication-in-sharepoint-2010.aspx" href="http://blogs.technet.com/speschka/archive/2009/11/05/configuring-forms-based-authentication-in-sharepoint-2010.aspx"&gt;http://blogs.technet.com/speschka/archive/2009/11/05/configuring-forms-based-authentication-in-sharepoint-2010.aspx&lt;/a&gt; 

&lt;br /&gt;&lt;a title="http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx" href="http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx"&gt;http://blogs.msdn.com/alimaz/archive/2009/10/30/configuring-fba-in-sharepoint-server-2010-beta-2.aspx&lt;/a&gt; 

&lt;br /&gt;&lt;a title="http://technet.microsoft.com/en-us/library/ee806890(office.14).aspx" href="http://technet.microsoft.com/en-us/library/ee806890(office.14).aspx"&gt;http://technet.microsoft.com/en-us/library/ee806890(office.14).aspx&lt;/a&gt;&lt;img src="http://sharepointchick.com/aggbug/85.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/05/06/configuring-claims-and-forms-based-authentication-for-use-with-an.aspx</guid>
            <pubDate>Thu, 06 May 2010 19:31:42 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/85.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/05/06/configuring-claims-and-forms-based-authentication-for-use-with-an.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/85.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/85.aspx</trackback:ping>
        </item>
        <item>
            <title>Wrap up: DIWUG event at VX Company</title>
            <category>DIWUG</category>
            <category>dotnetmag</category>
            <category>SharePoint 2010</category>
            <link>http://sharepointchick.com/archive/2010/04/26/wrap-up-diwug-event-at-vx-company.aspx</link>
            <description>&lt;p&gt;Last Tuesday (April 13th) we had another DIWUG evening. This one was sponsored by and hosted at &lt;a href="http://www.vxcompany.com/" target="_blank"&gt;VX Company&lt;/a&gt; in Baarn. &lt;/p&gt;  &lt;p&gt;We started out with a nice dinner with fancy sandwiches and a great sateh. After that Immanuel Kranendonk introduced us to VX Company and announced a business card draw to win one of five “Microsoft SharePoint 2010: Building Solutions for SharePoint 2010” books.&lt;/p&gt;  &lt;p&gt;After that I had the honour of presenting the first session on “Using SharePoint search to develop custom solutions” myself. I talked about extending the out of the box web part by inheriting from the public out-of-the-box  web parts, using the Federation Object Model and the SharedQueryManager. I showed a demo where I customized both the select statement and the way the results were displayed for a query on a SQL database that was crawled by the SharePoint search using the Business Connectivity Services. After that we dived into a completely custom search solution: the birthday web part. I talked about the query and administration object models and about the FullTextSqlQuery class. The slides from this presentation can be downloaded &lt;a href="http://sharepointchick.com/presentations/Using SharePoint search to develop custom solutions - DIWUG.pptx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/20100413VXCompany1_2.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Audience listening to presentations" border="0" alt="Audience listening to presentations" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/20100413VXCompany1_thumb.jpg" width="804" height="454" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The second presentation from &lt;a href="http://www.tsunami.nl" target="_blank"&gt;Roel Hans Bethlehem&lt;/a&gt; was on PowerShell. PowerShell is the new shell language that can be used to manage all Microsoft server products. With the release of SharePoint 2010, SharePoint is the next Microsoft server product that includes support for PowerShell. The PowerShell cmdlets for SharePoint can be used to manage every aspect of SharePoint, as the PowerShell cmdlets expose a superset of the Central Administration options. Roel Hans started out by explaining why in when PowerShell should/could be used with SharePoint 2010. He also talked about two different PowerShell Editors, the PowerShell Integrated Scripting Environment that is a feature of Windows Server 2008 R2 and Quest’s PowerGui. After that he showed a lot of examples and explained and dissected them. The slides for this great intro into PowerShell can be found &lt;a href="http://sharepointchick.com/presentations/DIWUG Powershell - Roel Hans Bethlehem.pptx" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/image3_2.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Roel Hans presenting" border="0" alt="Roel Hans presenting" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/image3_thumb.jpg" width="504" height="285" /&gt;&lt;/a&gt; &lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/image4_2.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Roel Hans presenting" border="0" alt="Roel Hans presenting" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatVXCompany_10657/image4_thumb.jpg" width="504" height="285" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;After the presentation Immanuel gave away the books and announced the SharePint sponsored by VX Company in the next room.    &lt;br /&gt;It was another very successful DIWUG evening.    &lt;br /&gt;Of course we would like to thanks VX Company for sponsoring and Roel Hans Bethlehem for presenting. And all the attendees for showing up, because without them a DIWUG evening would be no fun at all!    &lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/84.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/04/26/wrap-up-diwug-event-at-vx-company.aspx</guid>
            <pubDate>Mon, 26 Apr 2010 21:25:38 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/84.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/04/26/wrap-up-diwug-event-at-vx-company.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/84.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/84.aspx</trackback:ping>
        </item>
        <item>
            <title>Deploying a custom master page in SharePoint 2010</title>
            <category>SharePoint 2010</category>
            <category>dotnetmag</category>
            <link>http://sharepointchick.com/archive/2010/03/26/deploying-a-custom-master-page-in-sharepoint-2010.aspx</link>
            <description>&lt;p&gt;Lately I’ve been playing around with Visual Studio 2010 tools for SharePoint. I’ve been trying to come up with examples on how to use each of the available item templates.   &lt;br /&gt;Today I created a Module. A module can be used to deploy files to your SharePoint environment and the scenario I came up with was to use a module to deploy a master page. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I started out by creating an Empty SharePoint project. This can have any name you like and it can be both a farm and a sandboxed solution&lt;/li&gt;    &lt;li&gt;Next add an new item to the project and choose a module&lt;/li&gt;    &lt;li&gt;You can rename the module if you want to, I will leave the name at Module1&lt;/li&gt;    &lt;li&gt;After the module is created it contains an elements.xml file and a sample.txt file. The sample.txt file can be renamed to sample.master. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Project structure" border="0" alt="Project structure" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/DeployingacustommasterpageinSharePoint20_1171/projectstructure_ca3f2cd9-3ff0-43e4-950f-9b601210c127.png" width="267" height="257" /&gt;     &lt;br /&gt;&lt;em&gt;Project structure after adding a module and renaming the sample file to sample.master&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I’m not a designer, so I wasn’t interested in creating a brilliant new design (good job, because I wouldn’t be able to do that!).    &lt;br /&gt;For the purpose of this example I just took the standard SharePoint 2010 master page contents. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open up SharePoint Designer and open the site you are working on&lt;/li&gt;    &lt;li&gt;Choose Master Pages on the left side&lt;/li&gt;    &lt;li&gt;Open v4.master&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Don’t let SharePoint fool you. There is a default.master, but this is the old SharePoint 2007 master page that is used if you perform a visual upgrade. When creating a site in SharePoint 2010 the master page that will be used by default is v4.master. I know it’s a bit confusing, but if you have been working with SharePoint for a while you won’t be surprised by this.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Copy the contents of v4.master and past them in your sample.master file in Visual Studio. Make the changes you want to. &lt;/li&gt;    &lt;li&gt;Note how the elements.xml file has changed to reference the sample.master rather than the sample.txt&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Contents of the elements.xml file" border="0" alt="Contents of the elements.xml file" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/DeployingacustommasterpageinSharePoint20_1171/elements_ac027e5e-5f23-4536-bbaa-81b740f12d40.png" width="820" height="143" /&gt;  &lt;br /&gt;&lt;em&gt;The contents of the elements.xml file&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Make sure the module is added to a feature in your project that is scoped at the site (= site collection) level&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You could stop here and this solution will deploy your sample.master master page to the master page gallery of your site collection.    &lt;br /&gt;This will not apply the master page to the site collection when the feature gets activated though. It will only make it available for selection. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you the master page to be applied when the feature gets activated you right click on the Feature1 and you add an event receiver. This will add a feature receiver file to the feature.&lt;/li&gt;    &lt;li&gt;In this file we will add some code that will apply the sample.master master page when the feature gets activated and it will apply the v4.master when the feature gets deactivated.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Code used in the feature receiver" border="0" alt="Code used in the feature receiver" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/DeployingacustommasterpageinSharePoint20_1171/featurereceiver_24975c9d-5ab4-461c-89c3-142a685bf672.png" width="729" height="717" /&gt;     &lt;br /&gt;&lt;em&gt;Code used in the feature receiver&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Now if you activate the feature the code in the feature receiver will run and will apply sample.master to the site. As you can see we change both the MasterUrl and the CustomMasterUrl. The MasterUrl is used on all pages that are not publishing pages. This means it is used on the pages in the sitepages library and on the pages in the _layouts directory like the settings page for instance. The CustomMasterUrl is only used on pages that are stored in the Pages library. This library is created when the SharePoint Server Publishing Infrastructure features is activated on the site collection and the SharePoint Server Publishing feature is activated on the site.&lt;/p&gt;  &lt;p&gt;You can also use the SharePoint user interface to apply a new master page. The Site Master Page is the equivalent of the CustomMasterUrl and the System Master Page is what the object model calls the MasterUrl.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Changing the master page using the SharePoint UI" border="0" alt="Changing the master page using the SharePoint UI" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/DeployingacustommasterpageinSharePoint20_1171/applymasterpage_e0a9eb76-d150-4efa-b296-90dd8dfa2857.png" width="869" height="364" /&gt;     &lt;br /&gt;&lt;em&gt;Changing the master page using the SharePoint user interface&lt;/em&gt;&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/83.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/03/26/deploying-a-custom-master-page-in-sharepoint-2010.aspx</guid>
            <pubDate>Fri, 26 Mar 2010 00:33:50 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/83.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/03/26/deploying-a-custom-master-page-in-sharepoint-2010.aspx#feedback</comments>
            <slash:comments>12</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/83.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/83.aspx</trackback:ping>
        </item>
        <item>
            <title>Custom Search Solutions for SharePoint 2010 - FullTextSqlQuery</title>
            <category>SharePoint 2010</category>
            <category>dotnetmag</category>
            <category>#SP2010NL</category>
            <link>http://sharepointchick.com/archive/2010/03/21/custom-search-solutions-for-sharepoint-2010-fulltextsqlquery.aspx</link>
            <description>&lt;p&gt;If you are building a custom search solution based on SharePoint 2010 you might want to build your own custom query to query the SharePoint index. If you do you probably need to use the FullTextSqlQuery class, just like I am for my custom Birthday web part. While building that web part I ran into a couple of things that I might be able to spare others.&lt;/p&gt;  &lt;p&gt;First thing to note is that the FullTextSqlQuery is available in two different namespaces. There is Microsoft.SharePoint.Search.Query.FullTextSqlQuery for SharePoint Foundation and there is Microsoft.Office.Server.Search.Query.FullTextSqlQuery for SharePoint Server. Be aware of which version of SharePoint you are running and use the right one, or your query won’t return the results you expect. So if you are running SharePoint Server you need to use Microsoft.Office.Server.Search.Query.FullTextSqlQuery. &lt;/p&gt;  &lt;p&gt;Apart from this there don’t seem to be too many changes in the FullTextSqlQuery class. The SharePoint Search SQL Syntax for SharePoint2010 isn’t documented yet, but from what I saw I think Microsoft can just copy the documentation from the SharePoint 2007 version. I was particularly interested in the DATEADD clause. The DATEADD clause in SharePoint was developed to retrieve last modified documents within an environment. You could for example use WHERE LastModifiedTime &amp;lt;= DATEADD (DAY, -5, GETGMTDATE()), which would get you the documents modified within the last 5 days. &lt;/p&gt;  &lt;p&gt;My use for the DATEADD clause in my birthday web part would be to retrieve the birthdays in the next few days. So I would want to use the DATEADD clause with a positive value, for instance 7 for the birthdays in the next week. Unfortunately the SharePoint Search SQL Syntax still doesn’t support using positive values in the DATEADD clause.   &lt;br /&gt;Luckily for me at least I can use LINQ now to run this query on the resultset I get back after running my FullTextSqlQuery. :-)&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/82.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/03/21/custom-search-solutions-for-sharepoint-2010-fulltextsqlquery.aspx</guid>
            <pubDate>Sun, 21 Mar 2010 12:46:43 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/82.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/03/21/custom-search-solutions-for-sharepoint-2010-fulltextsqlquery.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/82.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/82.aspx</trackback:ping>
        </item>
        <item>
            <title>Wrap up: DIWUG event at Wortell</title>
            <category>DIWUG</category>
            <category>SDN</category>
            <category>dotnetmag</category>
            <link>http://sharepointchick.com/archive/2010/03/15/wrap-up-diwug-event-at-wortell.aspx</link>
            <description>&lt;p&gt;With over 90 visitors the first DIWUG event of 2010 was a huge success. The event was hosted in Lijnden in the Wortell office. The evening started out very well with proper Dutch food, various “stamppotten” were served!&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="751"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="374"&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Audience1.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Audience" border="0" alt="Audience" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Audience1_thumb.jpg" width="324" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="375" align="right"&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Audience2.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Audience" border="0" alt="Audience" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Audience2_thumb.jpg" width="324" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The first session of the evening was “Social Computing in SharePoint 2010” by &lt;a href="http://community.zevenseas.com/Blogs/Daniel/default.aspx" target="_blank"&gt;Daniel McPherson&lt;/a&gt;, &lt;a href="http://community.zevenseas.com/Blogs/Mark/default.aspx" target="_blank"&gt;Mark van Lunenburg&lt;/a&gt; and &lt;a href="http://community.zevenseas.com/Blogs/Robin/default.aspx" target="_blank"&gt;Robin Meuré&lt;/a&gt;. Social Computing is one of the new buzz words and a lot of sites that are considered social are hugely popular. Think about sites like YouTube, Flickr, Facebook and of course Twitter. However most of these sites are not used within the company. Some because they are not secure enough and others because they are not suitable for other reasons.     &lt;br /&gt;Daniel, Mark en Robin showed how SharePoint’s social features can help bring social computing to the enterprise. The slides from this presentation can be downloaded &lt;a href="http://sharepointchick.com/presentations/DanielMcPherson_SocialComputingOverview.pptx" target="_blank"&gt;here&lt;/a&gt;.     &lt;br /&gt;If you missed the session you &lt;a href="http://channel9.msdn.com/posts/matthijs/SharePoint-2010-Social-Computing-Overview/" target="_blank"&gt;watch it on Channel 9&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/DanielPresenting.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Daniel presenting" border="0" alt="Daniel presenting" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/DanielPresenting_thumb.jpg" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;After the break &lt;a href="http://bloggingabout.net/blogs/donald/" target="_blank"&gt;Donald Hessing&lt;/a&gt; presented on “Rich Media in SharePoint 2010”. In his session he showed how you can manage videos, images and other digital assets centrally in SharePoint 2010. Donald explained in which use cases which SharePoint 2010 features could best be used. He also did a demo on how to set up Remote Blob Storage (RBS) to off load large files from the SharePoint database to another storage system. For an end user it will seem as if the file is still stored in SharePoint, so RBS is purely a server and database management feature.  &lt;br /&gt;If you want to watch this session online it is posted &lt;a href="http://channel9.msdn.com/posts/matthijs/Managing-and-Sharing-Rich-Media-in-SharePoint-2010/" target="_blank"&gt;here on Channel 9&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/DonaldPresenting.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Donald presenting" border="0" alt="Donald presenting" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/DonaldPresenting_thumb.jpg" width="644" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Next it was time for drinks, snacks and networking. &lt;/p&gt;  &lt;p&gt;Of course we would like to thank &lt;a href="http://www.wortell.nl" target="_blank"&gt;Wortell&lt;/a&gt; for sponsoring the location, the food, the drinks and the book all DIWUG attendees got, “SharePoint 2010 op management niveau” written by one of the Wortell’s founders Danny Burlage. It was a great evening and everything was very well taken care off!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;We hope to see all of you again at one of the following events:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.devdays.nl" target="_blank"&gt;DevDays&lt;/a&gt; on March 30th and 31st in Den Haag. You can find us at the Ask the Experts booth. &lt;/li&gt;    &lt;li&gt;The next SDN event with Visual Studio 2010 theme that will be held on April 12th. &lt;/li&gt;    &lt;li&gt;The next DIWUG event that will probably be on April 15th. This date isn’t confirmed yet though, so watch &lt;a href="http://www.diwug.nl" target="_blank"&gt;the DIWUG site&lt;/a&gt; closely! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Until next time!&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="233"&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Drinks1.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Drinks" border="0" alt="Drinks" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Drinks1_thumb.jpg" width="284" height="214" /&gt;&lt;/a&gt; &lt;/td&gt;        &lt;td valign="top" width="233"&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Drinks2.jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Drinks" border="0" alt="Drinks" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Drinks2_thumb.jpg" width="284" height="214" /&gt;&lt;/a&gt; &lt;/td&gt;        &lt;td valign="top" width="233"&gt;&lt;a href="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Book..jpg" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Danny's book" border="0" alt="Danny's book" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/WrapupDIWUGeventatWortell_D1D2/Book._thumb.jpg" width="284" height="214" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://sharepointchick.com/aggbug/81.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/03/15/wrap-up-diwug-event-at-wortell.aspx</guid>
            <pubDate>Mon, 15 Mar 2010 14:25:05 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/81.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/03/15/wrap-up-diwug-event-at-wortell.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/81.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/81.aspx</trackback:ping>
        </item>
        <item>
            <title>Using the SharePoint 2010 WebTemplate Feature Element for creating Site Templates</title>
            <category>SharePoint 2010</category>
            <category>#SP2010NL</category>
            <category>dotnetmag</category>
            <link>http://sharepointchick.com/archive/2010/03/11/using-the-sharepoint-2010-webtemplate-feature-element-for-creating-site.aspx</link>
            <description>&lt;p&gt;In SharePoint 2007 it was possible to save a site as a site template with a .stp extension. Saving a site as a template can be done from the site settings user interface. The .stp file is, like most SharePoint specific file extensions, a .cab file. The .stp file contains a link to the original site definition that the saved site depended on and the delta between that site definition and the saved site.&lt;/p&gt;  &lt;p&gt;In SharePoint 2010 we can still save sites as templates in much the same way. However, saving a site as a template won’t create a .stp file, but a .wsp SharePoint Solution file! The .wsp file doesn’t just contain the delta, but it contains the onet.xml of the original site definition and all features and elements and optionally also content. What’s new in SharePoint 2010 that makes this possible is the WebTemplate Feature Element. There isn’t a lot of documentation on the WebTemplate element yet. Basically all I could find was documentation related to Sandboxed Solutions, as you can use the WebTemplate Feature Element in Sandboxed Solutions. The most elaborate description can be found here: &lt;a title="http://msdn.microsoft.com/en-gb/library/ee539417(office.14).aspx" href="http://msdn.microsoft.com/en-gb/library/ee539417(office.14).aspx"&gt;http://msdn.microsoft.com/en-gb/library/ee539417(office.14).aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In short the story is that you can use the WebTemplate element to create a site template instead of the WebTemp.xml file that you would use to create a site definition. You can create site templates by either saving an existing site as a template, or you can create a site template using Visual Studio. If you create a site template by saving a site you can import the resulting .wsp package into Visual Studio. Note that if you do this that a lot of elements, like content types, site columns and properties from the property bag get imported into Visual Studio. Fortunately you can easily adjust the contents of the imported site template. You can clean up the template, but you can also make additional adjustments to it. Another benefit of importing the site template into Visual Studio is that it’s easy to put it under source control.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="webtemplate example" border="0" alt="webtemplate example" src="http://sharepointchick.com/images/sharepointchick_com/WindowsLiveWriter/TheSharePoint2010WebTemplateFeatureEleme_13EAD/webtemplate%20example_3.png" width="848" height="276" /&gt; &lt;/p&gt;  &lt;p&gt;The image above shows an example of what the WebTemplate element could look like. The most important thing to note from the image is that the WebTemplate has to reference the Template and the Configuration of the site definition the template is based on. &lt;/p&gt;  &lt;p&gt;The debate about whether to use a site template or a site definition that was a lively one in SharePoint 2007 will probably continue to exist in SharePoint 2010. However with the introduction of .wsp site templates and the WebTemplate element site templates are now a whole lot more flexible and robust. One definite advantages of using site templates is that a site template can be deployed as a sandboxed solution. This means that the .wsp file can be deployed to the solutions gallery at site collection level. Anyone with site collection administrator rights can do this, so no access to the server is required. Only users within a site collection where the site template is deployed to can create sites based on the site template.    &lt;br /&gt;It’s also possible to deploy the same .wsp package as a farm solution to the farm’s Central Administration site. In order to do this a farm administrator that has access to the SharePoint server needs to add and deploy the solution to the farm. In this scenario the feature with the site template in it can activated on all site collections. Once the feature has been activated on a site collection users within that site collection can create sites using the template.&lt;/p&gt;  &lt;p&gt;In the near future a lot more information on the new WebTemplate feature element will probably be published, but this is at least a short primer on what the element is and how to use it.    &lt;br /&gt;Have fun!&lt;/p&gt;&lt;img src="http://sharepointchick.com/aggbug/80.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mirjam</dc:creator>
            <guid>http://sharepointchick.com/archive/2010/03/11/using-the-sharepoint-2010-webtemplate-feature-element-for-creating-site.aspx</guid>
            <pubDate>Thu, 11 Mar 2010 23:43:15 GMT</pubDate>
            <wfw:comment>http://sharepointchick.com/comments/80.aspx</wfw:comment>
            <comments>http://sharepointchick.com/archive/2010/03/11/using-the-sharepoint-2010-webtemplate-feature-element-for-creating-site.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://sharepointchick.com/comments/commentRss/80.aspx</wfw:commentRss>
            <trackback:ping>http://sharepointchick.com/services/trackbacks/80.aspx</trackback:ping>
        </item>
    </channel>
</rss>