<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Armen Kirakosyan's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/armenk/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/armenk/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:17:32 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Upload display templates to all sites in your SharePoint Server 2013 farm using PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/upload-display-templates-to-all-sites-in-your-sharepoint-server-2013-farm-using-powershell</link>
      <pubDate>Wed, 11 Dec 2013 00:23:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/12/11/upload-display-templates-to-all-sites-in-your-sharepoint-server-2013-farm-using-powershell/</guid>
      <description><![CDATA[In SharePoint Server 2013, display templates are used to control how content is displayed in the...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: 12px;">In SharePoint Server 2013, </span><em style="font-size: 12px;">display templates</em><span style="font-size: 12px;"> are used to control how content is displayed in the </span><strong style="font-size: 12px;">Content Search Web Part</strong><span style="font-size: 12px;"> and the </span><strong style="font-size: 12px;">Search Result Web Part</strong><span style="font-size: 12px;">.&nbsp; You can read more about how display templates work in the these blog post:</span></p>
<p>- <a href="http://blogs.technet.com/b/tothesharepoint/archive/2013/05/28/stage-11-upload-and-apply-display-templates-to-the-content-search-web-part.aspx">Upload and apply display templates to the Content Search Web Part</a><br /> - <a href="http://blogs.technet.com/b/tothesharepoint/archive/2013/09/04/understand-how-search-results-are-displayed-in-sharepoint-server-2013.aspx">Understanding how search results are displayed</a></p>
<p>If you have created custom display temples, you have to upload them to the SharePoint sites where you want to apply them. If you only have a few sites in your SharePoint farm, you can easily do this by <a href="http://blogs.technet.com/b/tothesharepoint/archive/2013/04/03/stage-6-upload-and-apply-a-new-master-page-to-a-publishing-site.aspx#MapNetworkDrive">mapping your network drive</a>, and dragging and dropping your custom display templates into the correct file directory. However, if you have a large number of sites in your farm, this process can be quite time consuming.</p>
<p>In this blog post, I&rsquo;ll explain how you can upload display templates to all sites in your farm by using PowerShell scripts.</p>
<h1>About the scripts</h1>
<p>All display templates are located in <strong>Master Page Gallery</strong> --&gt; <strong>Display Templates</strong>.</p>
<p>You can use one script to upload display templates to the <strong>Content Web Parts </strong>folder, and another to upload to the <strong>Search</strong> folder.</p>
<p>&nbsp;</p>
<h1>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5355.b1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5355.b1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5355.b1.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5355.b1.png" alt="" border="0" /></a></h1>
<h1>Upload display templates to the Content Web Parts folder</h1>
<p>The display templates that are located in the <strong>Content Web Parts</strong> folder are used by the <strong>Content Search Web Part</strong>.</p>
<p>To upload display templates to the <strong>Content Web Parts</strong> folder to all sites in your farm, all you have to do is modify the <em>UploadToContentWebParts</em> script so that it contains the file path to where you have stored your custom display templates.</p>
<p>&nbsp;</p>
<p>Then, run this script on the machine that hosts your SharePoint farm. Complete script is attached at bottom of the post.</p>
<p>&nbsp;</p>
<h1>Upload display templates to the Search folder</h1>
<p>The display templates that are located in the <strong>Search</strong> folder are used by the <strong>Search Results Web Part</strong>. These display templates are <a href="http://blogs.technet.com/b/tothesharepoint/archive/2013/09/04/understand-how-search-results-are-displayed-in-sharepoint-server-2013.aspx#Connections">connected to a result type</a>.</p>
<p>The <em>UploadToSearch</em> script will upload your custom display templates to the <strong>Search</strong> folder to all sites in your farm, create new result types on all sites in your farm, and connect these result types to your custom display templates.</p>
<p>To do this, you have to modify the <em>UploadToSearch </em>with the following<em>:</em></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileType match: FileType that the new result type should match.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Result type name: name of the new result type.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Full file path: full file path to where you have stored your custom display template.</p>
<p>&nbsp;</p>
<p>Then, run this script on the machine that hosts your SharePoint farm.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/4034.b2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/4034.b2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/4034.b2.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/4034.b2.jpg" alt="" border="0" /></a></p>
<p><em>&nbsp;</em></p>
<p><strong><span style="text-decoration: underline;">IMPORTANT:</span></strong> You must include minimum two custom lines for the <em>UploadToSearch </em>script to run correct.</p>
<p>&nbsp;</p>
<p>In the following example, I have modified the <em>UploadToSearch</em> script with two custom lines.<em> </em></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0576.b3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0576.b3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0576.b3.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0576.b3.jpg" alt="" border="0" /></a></p>
<p>By running this script, my two custom display templates are uploaded to all sites in my farm.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3146.b4.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3146.b4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3146.b4.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3146.b4.jpg" alt="" border="0" /></a></p>
<p>Two new result sources are created on all sites in my farm. These new result sources are connected to my custom display templates.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3652.b5.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3652.b5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3652.b5.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3652.b5.jpg" alt="" border="0" /></a></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/7024.b6.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/7024.b6.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/7024.b6.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/7024.b6.jpg" alt="" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/10/48/11/04/ScriptSample.zip" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-48-11-04/ScriptSample.zip">ScriptSample.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>“There are no addresses available for this application” error while installing SharePoint App</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/there-are-no-addresses-available-for-this-application-error-while-installing-sharepoint-app</link>
      <pubDate>Fri, 01 Nov 2013 06:30:54 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/11/01/there-are-no-addresses-available-for-this-application-error-while-installing-sharepoint-app/</guid>
      <description><![CDATA[Probably the most common error which you will see when will try install SharePoint App in on-prem...]]></description>
      <content:encoded><![CDATA[<p>Probably the most common error which you will see when will try install SharePoint App in on-prem environment is&nbsp;<strong>&ldquo;There are no addresses available for this application&rdquo;</strong></p>
<p>The reason is missing some required configuration like services and settings.</p>
<p>The error can be seen in both cases when you try to deploy app using PowerShell or Application Center.</p>
<p>Here is the powershell sample</p>
<p><strong><em>Add-PSSnapin Microsoft.SharePoint.PowerShell;</em></strong></p>
<p><strong><em>$spapp = Import-SPAppPackage -Site http://SPHVM-2906 -Path c:\temp\My_App.app -Source ([microsoft.sharepoint.administration.spappsource]::DeveloperSite);</em></strong></p>
<p><strong><em>Install-SPApp -Web 'http://SPHVM-2906' -Identity $spapp;&nbsp;</em></strong></p>
<p>&nbsp;</p>
<p>If you will try to deploy from Visual Studio you will see an error like this</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0513.31-10-2013%2014-22-33.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0513.31_2D00_10_2D00_2013-14_2D00_22_2D00_33.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0513.31-10-2013%2014-22-33.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0513.31_2D00_10_2D00_2013-14_2D00_22_2D00_33.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The main reason is that SharePoint Apps require two services: App Management Service and SharePoint Foundation Subscription Settings Service. Ensure that both are installed and running.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/6253.01-11-2013%2014-16-17.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/6253.01_2D00_11_2D00_2013-14_2D00_16_2D00_17.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/6253.01-11-2013%2014-16-17.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/6253.01_2D00_11_2D00_2013-14_2D00_16_2D00_17.png" alt="" border="0" /></a></p>
<p>Add these services if they are not in list and do not forget to start the services</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0550.24-10-2013%2016-28-26.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0550.24_2D00_10_2D00_2013-16_2D00_28_2D00_26.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0550.24-10-2013%2016-28-26.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0550.24_2D00_10_2D00_2013-16_2D00_28_2D00_26.png" alt="" border="0" /></a></p>
<p>Also check that web application is started.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5775.24-10-2013%2016-28-46.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5775.24_2D00_10_2D00_2013-16_2D00_28_2D00_46.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5775.24-10-2013%2016-28-46.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5775.24_2D00_10_2D00_2013-16_2D00_28_2D00_46.png" alt="" border="0" /></a></p>
<p>Restart IIS form UI or running IISRESET from comand line.</p>
<p>&nbsp;</p>
<p>And here is small code sample how to uninstall application&nbsp;</p>
<p><strong><em>Add-PSSnapin Microsoft.SharePoint.PowerShell;</em></strong></p>
<p><strong><em>$installedapps = Get-SPAppInstance -Web http://SPHVM-2906</em></strong></p>
<p><strong><em>$yourInstalledapp = $installedapps | where Title -eq 'My App'</em></strong></p>
<p><strong><em>$yourInstalledapp</em></strong></p>
<p><strong><em>Uninstall-SPAppInstance -Identity $yourInstalledapp&nbsp;</em></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>How dangerous can be “public const” while upgrading or fixing a component.</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/how-dangerous-can-be-public-const-while-upgrading-or-fixing-a-component</link>
      <pubDate>Fri, 01 Mar 2013 06:09:55 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/03/01/how-dangerous-can-be-public-const-while-upgrading-or-fixing-a-component/</guid>
      <description><![CDATA[During my investigation I have noticed a source of potential problem for product upgrade where dev...]]></description>
      <content:encoded><![CDATA[<p>During my investigation I have noticed a source of potential problem for product upgrade where dev team should fix a bug or upgrade a component and distribute it.</p>
<p>So what will happen when during fix/upgrade process (I will call it upgrade) a value which was declared as <strong>public const</strong> was changed. For clear understanding we should see how build process is done. Actually during build process all variables which consume <strong>const</strong> will be hardcoded. It is not a problem when it is references from the same project, component will be rebuilt anyway. But what if it is referenced from another dll? The value will remain hardcoded and will contain old value.</p>
<p><em>Tools.dll MyConstants.cs<br /> public const int DEFAULT_PORT = 80;</em></p>
<p><em>Service.dll Host.cs<br /> StartService(DEFAULT_PORT);</em></p>
<p>So after upgrade of Tools.dll and change of the DEFAULT_PORT to 8080, Service.dll still will try to start service on 80 port! That is easy to test, just build a solution, copy components to another folder, change <strong>const</strong> value, rebuild and copy only updated DLL, run an application. You will see that application will show the old value.</p>
<p>&nbsp;</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/4186.01-03-2013%2014-46-08.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/4186.01_2D00_03_2D00_2013-14_2D00_46_2D00_08.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/4186.01-03-2013%2014-46-08.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/4186.01_2D00_03_2D00_2013-14_2D00_46_2D00_08.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>To avoid troubles with component upgrade and constants it is strongly recommended to mark all constants as internal, or use them inside <strong>private</strong> or <strong>internal</strong> classes, classes which are not visible from the outside.</p>
<p>Another solution if you still want to use the same style of constant definition <strong>const</strong> should be changed to <strong>static readonly</strong>, which will create reference and value will not be hardcoded.</p>
<p><em>public static readonly int DEFAULT_PORT = 80;</em></p>
<p>Which will work correctly after component upgrade.</p>
<p>Happy coding.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2013. How to force whole list or library to be re-crawled by search</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/sharepoint-2013-how-to-force-whole-list-or-library-to-be-re-crawled-by-search</link>
      <pubDate>Tue, 12 Feb 2013 04:52:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/02/12/sharepoint-2013-how-to-force-whole-list-or-library-to-be-re-crawled-by-search/</guid>
      <description><![CDATA[It is a new feature which was presented in SharePoint 2013 which allows to force search service to...]]></description>
      <content:encoded><![CDATA[<p>It is a new feature which was presented in SharePoint 2013 which allows to force search service to re-crawl whole list or library regardless if items where changed or not. Items will be picked up by full crawl any way but if will be marked for re-crawl they will be crawled also during incremental crawl.</p>
<p>This feature is very useful when new managed property is configured or site column is modified so as a result search schema needs to be updated and list owner who initially has not access to central admin to fire full crawl which will be very expensive step for large deployment and will affect a lot of content.</p>
<p>So this cool feature can be found in list (I will not mention library anymore) settings under <strong>Advanced Settings</strong> link.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5824.12-02-2013%2013-37-12.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5824.12_2D00_02_2D00_2013-13_2D00_37_2D00_12.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/5824.12-02-2013%2013-37-12.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/200x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/5824.12_2D00_02_2D00_2013-13_2D00_37_2D00_12.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Scroll a little <strong>Advanced Settings</strong> page and pay attention to <strong>Search</strong> block where you can enable the list to appear in search results. This option should be enabled otherwise <strong>Reindex Document</strong> feature will not have any sense.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8662.12-02-2013%2013-40-23.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8662.12_2D00_02_2D00_2013-13_2D00_40_2D00_23.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8662.12-02-2013%2013-40-23.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8662.12_2D00_02_2D00_2013-13_2D00_40_2D00_23.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Only then you can press <strong>Reindex Document Library</strong> or <strong>Reindex List</strong> button</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/2480.12-02-2013%2013-42-35.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/2480.12_2D00_02_2D00_2013-13_2D00_42_2D00_35.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/2480.12-02-2013%2013-42-35.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/2480.12_2D00_02_2D00_2013-13_2D00_42_2D00_35.png" alt="" border="0" /></a></p>
<p>In popup dialog just confirm that you are sure and want to re-index list.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/6712.12-02-2013%2013-44-43.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/6712.12_2D00_02_2D00_2013-13_2D00_44_2D00_43.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/6712.12-02-2013%2013-44-43.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/6712.12_2D00_02_2D00_2013-13_2D00_44_2D00_43.png" alt="" border="0" /></a></p>
<p>Now your list will be picked up by next continuous or incremental crawl. Make a note that you do not need to scroll down on <strong>Advanced Settings</strong> page and press <strong>OK</strong>, list already marked as dirty.</p>
<p>I am not sure if someone will need to make the same using PowerShell or OM, but anyway drop a line in comment then we can discuss it.&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Teched 2013 days are announced</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/teched-2013-days-are-announced</link>
      <pubDate>Tue, 05 Feb 2013 09:29:35 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/02/05/teched-2013-days-are-announced/</guid>
      <description><![CDATA[Great news! Teched Europe and North America are announced&nbsp;
and registration will start from...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: medium;"><strong>Great news! Teched Europe and North America are announced&nbsp;</strong></span></p>
<p>and registration will start from Feb 12 2013</p>
<p>So TechEd North America will be in <strong>New Orleans, LA, June 3 - 6</strong> and</p>
<p>TechEd Europe in <strong>Madrid Spain, June 25 - 28</strong></p>
<p>&nbsp;</p>
<p>For more info visit&nbsp;<a href="http://www.msteched.com/">http://www.msteched.com/</a>&nbsp;</p>
<p>Stay connected&nbsp;<a href="https://www.facebook.com/TechEdEurope">https://www.facebook.com/TechEdEurope</a>&nbsp;and<a href="https://www.facebook.com/teched">&nbsp;https://www.facebook.com/teched</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Valid HTML markup automation, leads to better cross browser compatibility</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/valid-html-markup-automation-leads-to-better-cross-browser-compatibility</link>
      <pubDate>Thu, 24 Jan 2013 04:26:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2013/01/24/valid-html-markup-automation-leads-to-better-cross-browser-compatibility/</guid>
      <description><![CDATA[In short: Having bad HTML to look nice needs more efforts than creating valid HTML which will look...]]></description>
      <content:encoded><![CDATA[<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">In short: Having bad HTML to look nice needs more efforts than creating valid HTML which will look nice and &nbsp;be compatible.&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">It took some time for me to investigate how to force development process to increase the</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">quality of HTML markup and minimize cross browser&nbsp;compatibility issues in web UI development.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">HTML validation process always left by developer for the last point and has lowest priority.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">It is almost not done during development process and only when page or probably in many cases</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">whole web site is ready for production.&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Compatibility and accessibility testing is another duty of testers but looks like they are in general</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">more busy with other things and markup left as is with low priority and extremely high number of errors</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">and&nbsp;warnings&nbsp;in production code. So looks like it is rendered, then no one cares.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">For manual testing there are some tools available for devs and tests but I think that</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">W3C's online validator is out of&nbsp;competition. Just open&nbsp;<a href="http://validator.w3.org/">http://validator.w3.org/</a><span class="Apple-converted-space">&nbsp;</span>online validator</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">and try to validate some popular resources.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">I will be surprised if any one of them will have low number of validation errors.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">I will not publish some numbers here and will try to avoid validating software/hardware and IT service providers.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Try some popular news portals like cnn.com and&nbsp;nytimes.com .</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Number of errors is extremely high I think. To be true I do not see any reason to keep that so high</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">and the only reason it is so just web UI was not designed and developed with compatibility in mind.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Some will tell but it is rendered and looks nice. I will agree that it is working, but we should understand the price of it.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Making bad html to look good leads to extra coding and development pain.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">That means more code we need, more testing we need and more UI bugs we have.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Just some words about automation testing. There is manual tests which is well known when tester</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">tests unit like feature or page&nbsp;manually&nbsp;executing or opening it to check&nbsp;functionality.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Automation test is done using some tools which checks functionality&nbsp;problematically&nbsp; like browser simulating,</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">clicking, creating resources, managing them and disposing. Automation test just a step after small development</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">milestone which should check if feature works as expected and none of dependencies are broken.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Spend some time using your favorite search engine to find more about "Automation testing"</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">like&nbsp;<a href="http://en.wikipedia.org/wiki/Test_automation">http://en.wikipedia.org/wiki/Test_automation</a></p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Solution is not new and it is web ui automation test. Automation tests will force devs to keep HTML</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">clear and valid from the first steps of development. It will minimize tester's efforts and save a lot of time for big portal testing.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Code can be as simple as</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px 0px 20px; padding: 0px; outline: 0px; border: 0px currentColor; color: #253340; line-height: 19.01px; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; vertical-align: baseline;"><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;">[TestMethod]<br /><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;">..............<br />var result = Validator.Client.Check(new Uri("http://www.cnn.com", UriKind.Absolute));</em></em></p>
<p style="margin: 0px 0px 20px; padding: 0px; outline: 0px; border: 0px currentColor; color: #253340; line-height: 19.01px; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; vertical-align: baseline;"><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;">if(!result.Validity)</em><br /><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;">{</em><br /><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;">&nbsp; &nbsp;.... Show errors.... result.Errors</em><br /><em style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; vertical-align: baseline;"><span style="margin: 0px; padding: 0px; outline: 0px; border: 0px currentColor; font-size: 10pt; vertical-align: baseline;">}&nbsp;</span></em></p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;W3C provides API (web service) for testing. More information can be found here&nbsp;<a href="http://validator.w3.org/docs/api.html">http://validator.w3.org/docs/api.html</a></p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">API will check for markup validity and will return a list of errors with HTML fragments and comments with suggestions.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">So you can consume that API from your test code for HTML validation or use sample library which I am using for my projects,</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">it is published with sources under&nbsp;<a href="http://w3cvalidatorclient.codeplex.com/">http://w3cvalidatorclient.codeplex.com</a>/</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">So the only thing you need now is to create Test project and implement some lines of code.</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #000000; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>JavaScript scoping confuses other language developers.</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/javascript-scoping-confuses-other-language-developers</link>
      <pubDate>Wed, 12 Dec 2012 02:41:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2012/12/12/javascript-scoping-confuses-other-language-developers/</guid>
      <description><![CDATA[Developers who is writing in C#,C ++ and some other languages probably will face some bugs and...]]></description>
      <content:encoded><![CDATA[<pre>Developers who is writing in C#,C ++ and some other languages probably will <br />face some bugs and uncommon behavior when will develop in JavaScript.<br /><br />For me it was very confusing the scoping strategy in JavaScript so <br />I have decided to drop some lines here.<br /><br />First small sample about scoping in C#, this sample even will <br />not compile since MyValue local variable declaration is not allowed <br />when there is a global <br /><br />variable with the same name.<br /><br />namespace ConsoleApplication3<br />{<br />    using System;<br /><br />    class Program<br />    {<br />        static int MyValue = 10;<br />        <br />        static void Main(string[] args)<br />        {<br />            if (true)<br />            {<br />                int MyValue = 20;<br />            }<br /><br />            Console.WriteLine("Final value: {0}", MyValue);<br />            Console.ReadKey();<br />        }<br />    }<br />}<br /> <br />But equivalent in JavaScript surprisingly will work and you <br />can see that locally defined variable will have influence on global one, and<br />surprisingly (I think so) the output will be 20.&nbsp;</pre>
<pre><br />&lt;!DOCTYPE html&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;<br />&lt;title&gt;Scope test&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;input type="button" onclick="TestScope()" value="Test" /&gt;<br />&lt;script type="text/javascript"&gt;<br />var MyValue = 10;<br />function TestScope()<br />{<br />	if(true)<br />	{<br />		var MyValue = 20;<br />	}<br />	<br />	alert('Final value: ' + MyValue);<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> <br />So scopes in JavaScript sometime can be more confusing if <br />developer does not clearly understand the usage of var keyword.<br />I saw previously that developers just skip declaration of the variable <br />and use it. Sure may be that worked but what is the price of omitting var?  <br />So variable which was used without var keyword will become global variable! <br />Example will show that variable defined in Scope3 method will not <br />affect global MyValue <br /><br /></pre>
<pre>&lt;!DOCTYPE html&gt;<br />&lt;html&gt;<br /><br />&lt;head&gt;<br />&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;<br />&lt;title&gt;Scope test&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;script type="text/javascript"&gt;<br />function TestScope1()<br />{<br />	MyValue = 'Scope 1,';<br />}<br /><br />function TestScope2()<br />{<br />	MyValue += 'Scope 2';<br />}<br /><br />function TestScope3()<br />{<br />	var MyValue = 'Scope 3';<br />}<br />TestScope1();<br />TestScope2();<br />TestScope3();<br />alert(MyValue);<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</pre>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Server 2013 seminar in Armenia</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/sharepoint-server-2013-seminar-in-armenia</link>
      <pubDate>Mon, 26 Nov 2012 12:29:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2012/11/26/sharepoint-server-2013-seminar-in-armenia/</guid>
      <description><![CDATA[Microsoft Armenia invites to seminar!
Microsoft SharePoint 2013.
The seminar will take...]]></description>
      <content:encoded><![CDATA[<div>
<table cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td align="left" valign="top">
<p>Microsoft Armenia invites to seminar!</p>
<p><strong>Microsoft SharePoint 2013</strong>.</p>
<p>The seminar will take place on <strong>November 30, 2012 at 17:30</strong> in Microsoft Innovation Center Armenia <br />(105 Teryan str., State Engineering University of Armenia, Building #10, 6th Floor).</p>
<p>The presentations will be conducted by<strong> Michael Noel, Joel Oleson </strong>and<strong> Paul J. Swider</strong>.</p>
<p>The language of the event: <strong>English</strong>.</p>
<p>To register, please send a <a href="mailto:v-dakoch@microsoft.com?subject=SharePoint%202013%20Seminar">confirmation email</a> to <a href="mailto:v-dakoch@microsoft.com">v-dakoch@microsoft.com</a> with the subject: SharePoint 2013 Seminar<strong>. <br /></strong>Registration is on a <strong>first-come first-served</strong> basis.</p>
<p>Agenda</p>
<div align="center">
<table style="width: 642px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="103">
<p align="center"><strong>Time</strong><strong></strong></p>
</td>
<td valign="top" width="352">
<p align="center"><strong>Topic</strong></p>
</td>
<td valign="top" width="187">
<p align="center"><strong>Speaker</strong></p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">17:30 &ndash; 18:30</p>
</td>
<td valign="top" width="352">
<p>Overview of What&rsquo;s New and Compelling in SharePoint 2013</p>
</td>
<td valign="top" width="187">
<p>Michael Noel</p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">18:30 &ndash; 18:45</p>
</td>
<td valign="top" width="352">
<p>Coffee Break</p>
</td>
<td valign="top" width="187">
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">18:45 &ndash; 19:45</p>
</td>
<td valign="top" width="352">
<p>Preparing for SharePoint 2013 Intranets &ndash; Real World</p>
</td>
<td valign="top" width="187">
<p>Joel Oleson</p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">19:45 &ndash; 20:00</p>
</td>
<td valign="top" width="352">
<p>Coffee Break</p>
</td>
<td valign="top" width="187">
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">20:00 &ndash; 21:00</p>
</td>
<td valign="top" width="352">
<p>Data Visualization with SharePoint and SQL Server 2012</p>
</td>
<td valign="top" width="187">
<p>Paul J. Swider</p>
</td>
</tr>
<tr>
<td width="103">
<p align="center">21:00 &ndash; 21:15</p>
</td>
<td valign="top" width="352">
<p>Q&amp;A and Closing</p>
</td>
<td valign="top" width="187">
<p>Michael Noel, Joel Oleson, <br />Paul J. Swider</p>
</td>
</tr>
</tbody>
</table>
</div>
<p><strong>&nbsp;</strong></p>
<p>Sessions</p>
<p><strong>Overview of What&rsquo;s New and Compelling in SharePoint 2013</strong></p>
<p>The &lsquo;latest and greatest&rsquo; version of SharePoint is released, and it is time once again for SharePoint <br />architects to examine the new features in the software and how they change the best practices around design and implementation. <br />During this session, we cover the major architectural changes, including the integration of FAST Search, <br />new service applications, and how SQL 2012 changes data tier architecture for SharePoint 2013.&nbsp; <br />Enhanced claims-based authentication options and new best practices around SharePoint extranet models are covered, <br />and the new Site Mailbox integration options with Exchange 2013 are discussed. SharePoint architects, <br />administrators, and developers will gain valuable insight into this new, powerful version of SharePoint and <br />will be able to immediately use the best practices presented within their own environments.</p>
<p>&nbsp;</p>
<p><strong>Preparing for SharePoint 2013 Intranets &ndash; Real World</strong></p>
<p>I&rsquo;ll show you some of the recent updates we&rsquo;ve performed in preparing for SharePoint 2013 and mobile Intranets.&nbsp; <br />I&rsquo;ll also share some of the top productivity enhancements we plan to take advantage including drag and drop, enhanced search, and SkyDrive Pro.</p>
<p>&bull;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mobile Enhancements</p>
<p>&bull;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SkyDrive Pro with Document Sync</p>
<p>&bull;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document Library Enhancements for cross browser and multi devices</p>
<p>&nbsp;</p>
<p><strong>Data Visualization with SharePoint and SQL Server 2012</strong></p>
<p>Content Focus: Dashboards, Business Intelligence, Developer Tools</p>
<p>Session Angle: Customization and Development</p>
<p>One key factor driving the self-service BI market is the growing volume and complexity of data. <br />As a result, enterprises will adopt new interactive reporting tools designed to put more data analytics capabilities into the hands of business users. <br />In this session you will learn what self-service reporting tools are available in SharePoint 2010 <br />and how they can be used to create business solutions to visualize and navigate data. <br />Learn how to meet your business needs and discover best practices implementing data visualizations.</p>
<p>&nbsp;</p>
<p>Speakers</p>
<p><strong>&nbsp;</strong></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="152">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0876.1.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0876.1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0876.1.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0876.1.jpg" alt="" width="150" height="150" /></a></td>
<td valign="top" width="547">
<p><strong>Michael Noel </strong></p>
<p>Michael Noel is an internationally recognized technology expert, bestselling author, and well known public speaker on a broad range of IT topics.&nbsp; He has authored several major industry books that have been translated into over a dozen languages worldwide. Significant titles include SharePoint 2013 Unleashed, Exchange Server 2013 Unleashed, Windows Server 2012 Unleashed, SharePoint 2010 Unleashed, and many more.&nbsp; Currently a partner at Convergent Computing (<a href="http://www.cco.com">www.cco.com</a>) in the San Francisco Bay Area, Michael's writings and extensive public speaking experience across all seven continents leverage his real-world expertise helping organizations realize business value from Information Technology infrastructure.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="152">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8524.2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8524.2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8524.2.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/150x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8524.2.jpg" alt="" border="0" /></a></td>
<td valign="top" width="547">
<p><strong>Joel Oleson</strong></p>
<p>Joel was the first dedicated SharePoint Administrator ever. He's been working with SharePoint nearly 12 years and worked at Microsoft in both IT and the product teams including Architecting the first rollout of Microsoft's own global search, upgrading the intranet, deploying enterprise deployments of team sites and my sites. On the Microsoft SharePoint Product Team was Sr. Product Manager and managed the IT Pro Audience in the SharePoint 2007 release. Joel has travelled over 100 countries in his quest to connect the global SharePoint community.&nbsp; He has spoken in hundreds of events flying nearly 1 million miles reaching all corners of the globe. He currently manages a large SharePoint team in Salt Lake City at The Church of Jesus Christ of Latter-day Saints.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="152">&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/1057.3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/1057.3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/1057.3.jpg" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/1057.3.jpg" alt="" width="176" height="150" /></a></td>
<td valign="top" width="547">
<p><strong>Paul J. Swider </strong></p>
<p>Paul J. Swider is the CTO of RealActivity (<a href="http://www.theactivityproject.com">www.theactivityproject.com</a>) an organization focused on improving collaboration, compliance and fiscal responsibility in healthcare. He has two decades of proven software and healthcare experience and is involved in many community and philanthropic efforts including a founding member of Sharing the Point, an international effort which offers free training opportunities in emerging markets. Paul is an accomplished technology entrepreneur straight from a barrier Island near Charleston, SC where he occasionally gets to chase the tides and winds as an avid boater and sailor.</p>
<p>&nbsp;</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Consuming Web API using JavaScript and XMLHttpRequest method</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/consuming-web-api-using-javascript-and-xmlhttprequest-method</link>
      <pubDate>Fri, 23 Nov 2012 13:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2012/11/23/consuming-web-api-using-javascript-and-xmlhttprequest-method/</guid>
      <description><![CDATA[Using JavaScript with remote services by calling REST, JSON, WCF or other web service...]]></description>
      <content:encoded><![CDATA[<p>Using JavaScript with remote services by calling REST, JSON, WCF or other web service will&nbsp;decrease&nbsp;data round trips and will allow to create reach web interfaces.</p>
<p>For demo I will use Visual Studio 2012 and MVC4. Client call will be hosted in MVC4 page and service will be provided by WebAPI which is also based on MVC4.</p>
<p>Lets first see how it works in one server environment, more complex scenario will be in next posts.&nbsp;</p>
<p>Start Visual Studio 2012 and create a web site using <strong>ASP.NET MVC4 Web Application</strong> template.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8816.23-11-2012%2023-02-26.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8816.23_2D00_11_2D00_2012-23_2D00_02_2D00_26.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/8816.23-11-2012%2023-02-26.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/8816.23_2D00_11_2D00_2012-23_2D00_02_2D00_26.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Then choose <strong>Basic</strong> template without creating test project.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3005.24-11-2012%2000-02-00.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3005.24_2D00_11_2D00_2012-00_2D00_02_2D00_00.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/3005.24-11-2012%2000-02-00.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/3005.24_2D00_11_2D00_2012-00_2D00_02_2D00_00.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Create HomeController and corresponding View which will response to root address</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/7608.24-11-2012%2000-04-39.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/7608.24_2D00_11_2D00_2012-00_2D00_04_2D00_39.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/7608.24-11-2012%2000-04-39.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/7608.24_2D00_11_2D00_2012-00_2D00_04_2D00_39.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>I want to skip details about creating controllers and views, you can find a lot of samples and blog posts about it.</p>
<p>On next step I will create another controller which will response to JavaScript calls. To create WebAPI page right click on <strong>Controllers</strong> folder and click on <strong>Add / Web API Controller class</strong>.</p>
<p>In new window just edit <strong>ValuesController1</strong> by removing trailing 1.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0876.24-11-2012%2000-12-45.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0876.24_2D00_11_2D00_2012-00_2D00_12_2D00_45.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/0876.24-11-2012%2000-12-45.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/200x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/0876.24_2D00_11_2D00_2012-00_2D00_12_2D00_45.png" alt="" border="0" /></a></p>
<p>Controller with default methods will be created and that is enough for demo. To confirm and check what is created just build project and run it. Add <strong>/api/values</strong> which is Web API address by default and confirm response from the server.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/2438.24-11-2012%2000-17-15.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/2438.24_2D00_11_2D00_2012-00_2D00_17_2D00_15.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/2438.24-11-2012%2000-17-15.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/2438.24_2D00_11_2D00_2012-00_2D00_17_2D00_15.png" alt="" border="0" /></a>&nbsp;</p>
<p>The only thing we need is to create a script which will call this web service and show results.<br />Modify Index view and add to it script block, button and div which will contain the response.</p>
<pre class="scroll"><em><code class="html"> &lt;div&gt;<br /> &lt;div id="response"&gt;<br /> <br /> &lt;/div&gt;<br /> &lt;input type="button" value="Call Web API" onclick="javascript:CallWebAPI();" /&gt;<br /> &lt;/div&gt;<br /> &lt;script type="text/javascript"&gt;<br /> function CallWebAPI()<br /> {<br /> var responseContainer = document.getElementById('response');<br /> var request = new XMLHttpRequest();<br /> request.open("get", "/api/values", false);<br /> request.send();<br /> <br /> response.innerHTML = request.responseText;<br /> }<br /> &lt;/script&gt;</code></em></pre>
<p>&nbsp;So as a result you will see injected JSON response. You can manipulate and request response to be in XMLor JSON format.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/1031.24-11-2012%2000-34-22.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/1031.24_2D00_11_2D00_2012-00_2D00_34_2D00_22.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/56/46/1031.24-11-2012%2000-34-22.png" original-url="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-56-46/1031.24_2D00_11_2D00_2012-00_2D00_34_2D00_22.png" alt="" border="0" /></a></p>
<p>In the next post I will show how to make cross site requests and what kind of difficulties can occur.</p>
<p>Happy coding!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>The Microsoft Bing Advertising Engineering Team will be hosting a recruiting event in Yerevan March 1-5!</title>
      <link>https://docs.microsoft.com/archive/blogs/armenk/the-microsoft-bing-advertising-engineering-team-will-be-hosting-a-recruiting-event-in-yerevan-march-1-5</link>
      <pubDate>Sun, 18 Nov 2012 01:09:54 GMT</pubDate>
      <dc:creator><![CDATA[Armen Kirakosyan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/armenk/2012/11/18/the-microsoft-bing-advertising-engineering-team-will-be-hosting-a-recruiting-event-in-yerevan-march-1-5/</guid>
      <description><![CDATA[The Microsoft Bing Advertising Engineering Team will be hosting a recruiting event in Yerevan March...]]></description>
      <content:encoded><![CDATA[<p><span>The Microsoft Bing Advertising Engineering Team will be hosting a recruiting event in Yerevan March 1-5! (travel &amp; accommodations for qualified applicants included) If you or anyone you know is interested in a Software Development Engineering career with Bing Advertising at Microsoft in the U.S. please reach out to me directly via LinkedIn for email contact!</span></p>]]></content:encoded>
    </item>
  </channel>
</rss>