<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Ari Ijäs' Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ijasari/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ijasari/feed.xml</link>
    <description>The Point of Sharing</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:47:46 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>SharePoint 2010 Search Service Application: Crawl Configuration for Anonymous SharePoint Site</title>
      <link>https://docs.microsoft.com/archive/blogs/ijasari/sharepoint-2010-search-service-application-crawl-configuration-for-anonymous-sharepoint-site</link>
      <pubDate>Fri, 15 Apr 2011 06:55:00 GMT</pubDate>
      <dc:creator><![CDATA[Ari Ijäs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ijasari/2011/04/15/sharepoint-2010-search-service-application-crawl-configuration-for-anonymous-sharepoint-site/</guid>
      <description><![CDATA[After having a bit of a struggle with configuring crawling for anonymous SharePoint site I decided...]]></description>
      <content:encoded><![CDATA[<p>After having a bit of a struggle with configuring crawling for anonymous SharePoint site I decided to put a couple of points here in my blog.</p>
<p>Some sources recommend that if you need to crawl anonymous SharePoint site, you should create a content source with type 'Web Site'. This is not really the best way because you will loose the intelligent incremental crawl. 'Web Site'-type can have incremental crawl scheduled but it will still crawl through the whole site creating unnecessary load. If you use 'Web Site'-type you also need to create crawl rules to include the content you want to be crawled.</p>
<p>What you should do is create content sources with type 'SharePoint Sites'. This way crawling will happen using SharePoint's web services and incremental crawl has a better understanding what has changed by investigating timestamp information from the content.&nbsp;Also you don't have to create any crawl rules to make the crawling work. You can create them if you need to for example to&nbsp;exclude something from being crawled.&nbsp;Authentication configurations are a bit different for 'SharePoint Sites'-typed content sources, and if these configurations are wrong, they can easily lead to the infamous 'Access denied'-errors in crawl logs. Here are the basic requirements for the authentication configurations when using 'SharePoint Sites'-typed content sources:</p>
<h3>Enable Windows Authentication for SharePoint web application in anonymous zone</h3>
<p>First of all anonymous SharePoint-site should have Windows Authentication enabled. Make sure that you enabled it for the web application in CA:</p>
<ol>
<li>Open&nbsp;SharePoint 2010 Central Administration</li>
<li>Click <strong>Manage web applications</strong> under <strong>Application Management</strong>-section</li>
<li>Select your web application's row</li>
<li>Click <strong>Authentication Providers</strong> from ribbon</li>
<li>Click <strong>Internet</strong>-zone (or what ever is defined for your anonymous site)</li>
<li>Make sure that <strong>Enable Windows Authentication</strong> and <strong>Integrated Windows authentication</strong> are checked</li>
<li>
<h3>Click OK</h3>
</li>
</ol>
<h3>Enable Windows Authentication for anonymous IIS web site</h3>
<p>Second thing you need to check is the configuration of you anonymous web site under <strong>IIS</strong>. You need to check that <strong>Windows Authentication</strong> is enabled for your IIS web site. You have to perform this task to <strong>all crawl servers.</strong></p>
<p>For IIS 7:</p>
<ol>
<li>Click <strong>Start</strong> -&gt; <strong>Administrative Tools</strong> -&gt; <strong>Internet Information Services (IIS) Manager</strong></li>
<li>Click <strong>Sites</strong></li>
<li>Select your anonymous site</li>
<li>Double-click <strong>Authentication</strong> under IIS-section in the <strong>Features View</strong></li>
<li>
<p>Select <strong>Windows Authentication</strong> and click <strong>Enable from the Actions</strong>-pane on the right side of the window</p>
</li>
</ol>
<h3>Give full read access to default content access account</h3>
<p>You should have&nbsp;a dedicated domain account that is used as a default content access account. This is important since this account is used by the crawler in any of the servers in your farm that has been assigned as crawl servers.</p>
<p>Default content access account needs to have Full Read-permissions to the SharePoint web application you are crawling.</p>
<ol>
<li>Open <strong>SharePoint 2010 Central Administration</strong></li>
<li>Click <strong>Manage web applications</strong> under <strong>Application Management</strong>-section</li>
<li>Select your web application's row</li>
<li>Click <strong>User Policy</strong> from the ribbon</li>
<li>Click <strong>Add Users</strong></li>
<li>Click <strong>Next</strong></li>
<li>Input your default content access account to <strong>Users</strong>-box</li>
<li>Select <strong>Full Read</strong> under <strong>Permissions</strong></li>
<li>Click <strong>Finish</strong></li>
</ol>
<h3>Set default content access account in Search Administration</h3>
<p>You need to define a default content access account in the Search Administration.</p>
<ol>
<li>Open <strong>SharePoint 2010 Central Administration</strong></li>
<li>Click <strong>Manage&nbsp;service applications</strong>&nbsp;under <strong>Application Management</strong>-section</li>
<li>Click <strong>Search Service Application</strong> to open <strong>Search Administration</strong></li>
<li>In <strong>System Status</strong>-panel you will see Default content access account. Click on the right side of that row to define an suitable account</li>
<li>Input your default content access account and password and&nbsp;click <strong>OK</strong></li>
</ol>
<p>That's it! Start a full crawl for your content source and you should see anonymous items crawled successfully.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Visual Studio 2010 Load Testing with SharePoint - Configuring Web Performance Tests Part 1: Working With Data Sources</title>
      <link>https://docs.microsoft.com/archive/blogs/ijasari/visual-studio-2010-load-testing-with-sharepoint-configuring-web-performance-tests-part-1-working-with-data-sources</link>
      <pubDate>Tue, 12 Apr 2011 00:38:00 GMT</pubDate>
      <dc:creator><![CDATA[Ari Ijäs]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ijasari/2011/04/12/visual-studio-2010-load-testing-with-sharepoint-configuring-web-performance-tests-part-1-working-with-data-sources/</guid>
      <description><![CDATA[In these article series I'm going to talk about configuring web performance tests for common content...]]></description>
      <content:encoded><![CDATA[<p>In these article series I'm going to talk about configuring web performance tests for common content management and collaboration SharePoint-scenarios. You should have basic knowledge about creating web/load tests since I'll skip the basics and focus on specific subjects.</p>
<p>First we'll see how data sources can be used. For load testing it is not that necessary to create complex test scripts. All we need to do is create load to the system. Easiest way to do this is to give a web test a data source with fixed URLs to most used pages in the tested SharePoint-environment. Front page and section front pages usually have a lot of web parts that lift content like news or latest documents to the front page for easy access, so these are good candidates. Bombard these URLs with your load test and you will get relatively realistic results.</p>
<h3><span style="font-weight: bold;">Adding Data Source to Web Test</span></h3>
<p><span style="font-weight: bold;"></span>Using data sources with web tests comes pretty handy when you want to maintain requested URLs in seperate configuration files instead of making web test recordings. They are especially good when you need to do authenticated requests to web applications like intranets.</p>
<p>We have different options to use as a data source for web performance tests. These are Database, CSV- and XML-file. In this article I will only cover CSV- and XML-files.</p>
<p><span style="font-weight: bold;">CSV</span></p>
<p><span style="font-weight: bold;"></span>We can add URLs for testing using CSV (Comma Seperated Values)-file. All we need to do is put each URL in a seperate line in a text file and save the file as .csv.</p>
<p>E.g.&nbsp;</p>
<p><a href="https://internet.contoso.com/">https://internet.contoso.com/</a></p>
<p><a href="https://internet.contoso.com/AboutCompany">https://internet.contoso.com/AboutCompany</a></p>
<p><a href="https://internet.contoso.com/Contact">https://internet.contoso.com/Contact</a></p>
<p>If you need credentials to access the URLs defined in the CSV-file, you should add the credentials after the URL seperated by commas.</p>
<p>E.g.</p>
<p><a href="https://intranet.contoso.com/,contoso/user1,password1">https://intranet.contoso.com/,contoso\user1,password1</a></p>
<p><a href="https://intranet.contoso.com/News,contoso/user1,password1">https://intranet.contoso.com/News,contoso\user1,password1</a></p>
<p><a href="https://intranet.contoso.com/HR,contoso/user1,password1">https://intranet.contoso.com/HR,contoso\user1,password1</a></p>
<p><span style="font-weight: bold;">XML</span></p>
<p><span style="font-weight: bold;"></span>XML-file are a bit more complicated but very easy nevertheless. One of the benefits of using XML-file is that you can create seperate tables and group your requests. The term table can be a bit misleading when talking about XML-files, but basically a table means all the nodes under the root node that have the same name.&nbsp;</p>
<p>Here is an example of XML-file data source that is grouped to anonymous and autheticated requests:</p>
<p><span style="font-family: courier new,courier;">&lt;?xml version="1.0" encoding="utf-8" ?&gt;</span></p>
<p><span style="font-family: courier new,courier;">&lt;Pages&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;AnonymousPage&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Url&gt;https://internet.contoso.com/&lt;/Url&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;/AnonymousPage&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;AnonymousPage&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Url&gt;https://internet.contoso.com/AboutCompany&lt;/Url&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;/AnonymousPage&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;AnonymousPage&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Url&gt;https://internet.contoso.com/Contact&lt;/Url&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;/AnonymousPage&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;PrivatePage&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Url&gt;https://intranet.contoso.com/PartnerMaterials&lt;/Url&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Username&gt;contoso\administrator&lt;/Username&gt;</span></p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">&lt;Password&gt;pass@word1&lt;/Password&gt;</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&lt;/PrivatePage&gt;</span></p>
<p><span style="font-family: courier new,courier;">&lt;/Pages&gt;</span></p>
<p>As you can see there are two kinds of nodes under Pages-node; AnonymousPage and PrivatePage.<span style="mso-spacerun: yes;">&nbsp; </span>These nodes are considered as tables in web test configuration. AnonymousPage-table has three rows and PrivatePage-table has one row.</p>
<p>Node names are pretty self-explanatory. URLs point to either pages that have anonymous access enabled or pages using Windows Authentication. Now that you have two tables of URLs, you can create two data binded requests to the web performance test and assign each to use one of the tables. Each request will request URLs defined in the chosen table.</p>
<p>PrivatePage-node has also Username- and Password-nodes defined. These nodes are used to tell the web test what credentials it should use for the requests to the given URLs.</p>
<h3><span style="font-weight: bold;">Step-By-Step: Adding URL Data Source To A Web Test</span></h3>
<p><span style="font-weight: bold;"></span>Here is an step-by-step example of adding data source of authenticated URLs to use with the web test. This example uses the XML-data from the above chapter. You can add similar data source for anonymous URLs following the same steps. Only difference is the table you choose in the step 4. Of course you might want to create a seperate web tests for anonymous and authenticated users and add the apporiate data sources to each of them for flexibility. More of the benefits of this later...</p>
<table>
<tbody>
<tr>
<td valign="top" style="width: 50px;">1.</td>
<td valign="top">
<p>From web test designer, click <strong>Add Data Source </strong>from the toolbar.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/5658.AddDataAnonymousDataSource1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/5658.AddDataAnonymousDataSource1.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">2.</td>
<td valign="top">
<p>Give data source a suitable name (e.g. URLs) and select <strong>XML File</strong>. Click <strong>Next</strong>.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/2806.AddDataAnonymousDataSource2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/2806.AddDataAnonymousDataSource2.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">3.</td>
<td valign="top">
<p>You don't have to select the table in this view. This view is only for preview. Click <strong>Next</strong>.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/6404.AddDataAnonymousDataSource3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/6404.AddDataAnonymousDataSource3.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">4.</td>
<td valign="top">
<p>In this view you can select what table you want to use as a data source. Select <strong>PrivatePage</strong> so we can make authenticated requests. Click <strong>Finish</strong> when your done.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/6825.AddDataAnonymousDataSource4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/6825.AddDataAnonymousDataSource4.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">5.</td>
<td valign="top">
<p>After clicking through the wizard, you can see the added data source in the web test designer.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/3681.AddDataAnonymousDataSource5.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/3681.AddDataAnonymousDataSource5.png" border="0" /></p>
</td>
</tr>
</tbody>
</table>
<p>You are all done adding data source to the web test!</p>
<h3><span style="font-weight: bold;"></span>&nbsp;</h3>
<h3><span style="font-weight: bold;">Step-By-Step: Adding Data Source Binded Request To Web Test</span></h3>
<p><span style="font-weight: bold;"></span>Let's continue making the use of the data source we added in the previous chapter. Now we will add a request to the web test and bind it's <span style="font-weight: bold;">URL</span>-property to our data source. This will make your web test do a request to each of the URLs in the data source. You can edit your data source-file and add or remove URLs as much as you want and the binded request in the web test will update automatically.</p>
<table>
<tbody>
<tr>
<td valign="top" style="width: 50px;">1.</td>
<td>
<p>Right-click the root node of the web test hierachy in the web test designer and click Add Request.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/0825.AddRequestToWebTest.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/0825.AddRequestToWebTest.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">2.</td>
<td>
<p>New node <a href="https://localhost">https://localhost</a> should appear in the web test designer. Select that and take a look at the Properties-window.&nbsp; Click the dropdown for the URL-property and you will a selector for data sources in your web test. Expand the hierachy and select the Url-column. If your data source is different from mine, select the field that contains URLs that you want to bind to the request.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/2046.BindAnonymousDataSourceToRequest.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/2046.BindAnonymousDataSourceToRequest.png" border="0" /></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td>3.</td>
<td>
<p>That's it! Next we will bind user credentials from the data source to the web test.</p>
</td>
</tr>
</tbody>
</table>
<h3><span style="font-weight: bold;"></span>&nbsp;</h3>
<h3><span style="font-weight: bold;">Step-By-Step: Binding User Credentials To Web Test</span></h3>
<table>
<tbody>
<tr>
<td valign="top" style="width: 50px;">1.</td>
<td>
<p>Click Set Credentials-button on the tool bar in the web test designer.</p>
<img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/2553.BindCredentialsToWebTest1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/2553.BindCredentialsToWebTest1.png" border="0" />
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">2.</td>
<td>
<p>Click Bind...-button for Name- and Password-values and select columns containing credentials information for the requests.</p>
<img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/5187.BindCredentialsToWebTest2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/5187.BindCredentialsToWebTest2.png" border="0" />
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">3.</td>
<td>
<p>Click OK.</p>
<img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/7140.BindCredentialsToWebTest3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/7140.BindCredentialsToWebTest3.png" border="0" />
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">4.</td>
<td>
<p>If you take a look at the web test Properties-window, you can see the selected credentials bindings there.</p>
<img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/43/66/5710.WebTestProperties.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-43-66/5710.WebTestProperties.png" border="0" /></td>
</tr>
</tbody>
</table>
<p>Now your user credentials are binded to your data source and the request made from the web test will use credential information from the data source if they are defined.</p>
<h3>Adding Proxy Binding for Web Test Requests</h3>
<p>You can bind web test's Proxy-property to your data source as well. My example data source doesn't have any proxy information but you can easily add it there if needed. To bind the Proxy-property, just select your data source from the web test Properties-window.</p>
<h3>Conclusion</h3>
<p>Hope you enjoyed this article.&nbsp;In the future articles I'll talk about how to configure test mixes and performance counters in load tests.</p>]]></content:encoded>
    </item>
  </channel>
</rss>