<?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>yashgoel-msft</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/yashgoel-msft/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:48:57 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Finding FormsLib, List Based InfoPaths and custom WFs in a Farm</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/finding-formslib-list-based-infopaths-and-custom-wfs-in-a-farm</link>
      <pubDate>Wed, 18 Jan 2017 13:40:09 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/?p=425</guid>
      <description><![CDATA[Below script generates an excel file indicating the forms library, list based forms and custom...]]></description>
      <content:encoded><![CDATA[Below script generates an excel file indicating the forms library, list based forms and custom workflows, including SPD and visual studio ones inside a webapp. Script is valid for Moss 2007/SharePoint 2010 and SharePoint 2013 versions.

[Void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[Void][System.Reflection.Assembly]::LoadWithPartialName("System.Web")

$table = New-Object System.Data.DataTable

$col1 = New-Object system.Data.DataColumn "weburl",([string])
$col2 = New-Object system.Data.DataColumn "Listurl",([string])
$col3 = New-Object system.Data.DataColumn "IsFromsLib",([string])
$col4 = New-Object system.Data.DataColumn "IsListBasedIP",([string])
$col5 = New-Object system.Data.DataColumn "CustomWFName",([string])

$table.Columns.Add($col1)
$table.Columns.Add($col2)
$table.Columns.Add($col3)
$table.Columns.Add($col4)
$table.Columns.Add($col5)

$row = $table.NewRow()

$webApplication = [Microsoft.SharePoint.Administration.SPWebApplication]::Lookup("&lt;webappurl&gt;")

foreach($site in $webApplication.Sites)
{
foreach($web in $site.allwebs)
{
foreach($list in $web.lists)
{
$flag = $false

if($list.BaseTemplate -eq "XMLForm")
{
write-host "Forms Lib :" $web.url, $list.title
$row.weburl = $web.url
$row.Listurl = $list.title
$row.IsFromsLib = $true
$formslibcount++
$flag = $true
}
if($list.ContentTypes[0].ResourceFolder.Properties[“_ipfs_infopathenabled”] -eq $true)
{
write-host "List based Form :" $web.url, $list.title
$row.weburl = $web.url
$row.Listurl = $list.title
$row.IsListBasedIP = $true
$iplibs++
$flag = $true
}
if($list.workflowassociations.count -ne 0)
{
foreach($wfass in $list.workflowassociations)
{
if(($wfass.ModificationUrl -eq $null) -and ($wfass.enabled -eq $true))
{
write-host $web.url, $list.title, $wfass.internalname, $wfass.enabled
$row.weburl = $web.url
$row.Listurl = $list.title
$row.CustomWFName = $wfass.internalname
$count++
$table.Rows.Add($row)
$row = $table.NewRow()
$flag = $true
}
}
}
if($flag)
{
$table.Rows.add($row)
$row = $table.NewRow()
}
}
}
}

$grid = new-object System.Web.UI.WebControls.DataGrid

$grid.DataSource = $table

$grid.DataBind()
$fileinfo = "&lt;path to xls file&gt;"

$streamwriter = new-object System.IO.StreamWriter $fileinfo

$htmltextwriter = new-object System.Web.UI.HtmlTextWriter $streamwriter

$grid.RenderControl($htmltextwriter)

$htmltextwriter.close()

$streamwriter.Close()]]></content:encoded>
    </item>
    <item>
      <title>Blocking access to mobile view in SharePoint</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/blocking-access-to-mobile-view-in-sharepoint</link>
      <pubDate>Thu, 15 Jan 2015 13:35:26 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2015/01/15/blocking-access-to-mobile-view-in-sharepoint/</guid>
      <description><![CDATA[Recently received a request from the cx where he wanted that whenever anyone tries to browse a SP...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">Recently received a request from the cx where he wanted that whenever anyone tries to browse a SP URL with ?mobile=1 appended it should fallback to SP desktop site only i.e. should not take the user to mobile version of the site. As we all know there are 3 ways to block the mobile redirection in SP but all of these fail when a user directly adds ?mobile=1 query in the URL of the site.</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&nbsp;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">1. In web.config of the web application add the following lines under configuration/system.web section</span></p>
<ul>
<li><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&lt;browserCaps&gt;</span><br /><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&lt;result type=&rdquo;System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&rdquo;/&gt;</span><br /><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&lt;filter&gt;isMobileDevice=false&lt;/filter&gt;</span><br /><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&lt;/browserCaps&gt;</span></li>
</ul>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&nbsp;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">2. Modify the compat.browser of the web application found under C:\inetpub\wwwroot\wss\VirtualDirectories\&lt;webapp&gt;\App_Browsers</span></p>
<ul>
<li><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">Code to change&nbsp;for each user agent&nbsp;</span>
<ul>
<li>&lt;capability name=&rdquo;isMobileDevice&rdquo; value=&rdquo;<strong>false</strong>&rdquo; /&gt;</li>
</ul>
</li>
</ul>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">3.</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">Disable-SPFeature -Identity MobilityRedirect -Url https://yoursite&nbsp;<br /></span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&nbsp;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">Note: None of the above method really block any user from directly accessing the mobile view of the site by simply appending ?mobile=1 in the URL</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&nbsp;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;"># To completely block the access we need to do the following:</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&nbsp;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;"># Install IIS URL rewriter module.</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;"># add the below lines in your web.config of web application, just under the defaultdocuments tag</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;">&lt;rewrite&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rules&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule name=&quot;test&quot; patternSyntax=&quot;Wildcard&quot; stopProcessing=&quot;true&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match url=&quot;*&quot; /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;conditions trackAllCaptures=&quot;true&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;add input=&quot;{QUERY_STRING}&quot; pattern=&quot;*mobile=1&quot; /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/conditions&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action type=&quot;Redirect&quot; url=&quot;{R:1}&quot; appendQueryString=&quot;false&quot; logRewrittenUrl=&quot;true&quot; redirectType=&quot;Found&quot; /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rule&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rules&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rewrite&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;defaultDocument enabled=&quot;false&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;files&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;remove value=&quot;default.aspx&quot; /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/files&gt;</span></p>
<p><span style="font-family:tahoma, arial, helvetica, sans-serif;font-size:x-small;"># same can be configured through GUI of URL rewriter as well</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Results from SharePoint 2013 in Windows Explorer</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/results-from-sharepoint-2013-in-windows-explorer</link>
      <pubDate>Tue, 13 Jan 2015 22:52:24 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2015/01/13/results-from-sharepoint-2013-in-windows-explorer/</guid>
      <description><![CDATA[Below is the Sample OSDX file that we can use to get results from SharePoint 2013 in windows...]]></description>
      <content:encoded><![CDATA[<p>Below is the Sample OSDX file that we can use to get results from SharePoint 2013 in windows explorer directly</p>
<p>====================</p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</p>
<p>&lt;OpenSearchDescription xmlns=&quot;https://a9.com/-/spec/opensearch/1.1/&quot; xmlns:ms-ose=&quot;https://schemas.microsoft.com/opensearchext/2009/&quot;&gt;</p>
<p><span style="background-color:#ffff00;">&lt;ms-ose:MaximumResultCount&gt;500&lt;/ms-ose:MaximumResultCount&gt;</span></p>
<p>&lt;ShortName&gt;Spinifex SharePoint&lt;/ShortName&gt;</p>
<p>&lt;Description&gt;Search the Spinifex SharePoint Search Center&lt;/Description&gt;</p>
<p>&lt;Url type=&quot;application/rss+xml&quot; template=&quot;&lt;SP<span style="background-color:#ffffff;"> URL&gt;/_layouts/15/srchrss.aspx?k={searchTerms}&amp;amp;count={count?}&amp;amp;start={startIndex?}&quot;/&gt;</span></p>
<p>&lt;Url type=&quot;text/html&quot; template=&quot;https://&lt;SP URL&gt;/_layouts/15/osssearchresults.aspx?k={searchTerms}&amp;amp;start={startIndex?}&quot;/&gt;</p>
<p>&lt;ms-ose:locationProperties&gt;</p>
<p>&lt;ms-ose:property name=&quot;TreatLinkAsEnclosure&quot;&gt;-1&lt;/ms-ose:property&gt;</p>
<p>&lt;/ms-ose:locationProperties&gt;</p>
<p>&lt;ms-ose:ResultsProcessing format=&quot;application/rss+xml&quot;&gt;</p>
<p>&lt;ms-ose:LinkIsFilePath&gt;-1&lt;/ms-ose:LinkIsFilePath&gt;</p>
<p>&lt;/ms-ose:ResultsProcessing&gt;</p>
<p>&lt;/OpenSearchDescription&gt;</p>
<p>================================================</p>
<p># Copy it in a notepad and save it as .osdx file, double click and it will ask you to add.</p>
<p># The highlighted attribute is the extended parameters available to bypass the default limit of opensearch 1.1. that allows only 100 results to be returned</p>
<p># You can find more details about the OpenSearch description file at&nbsp;https://msdn.microsoft.com/en-us/library/windows/desktop/dd940453%28v=vs.85%29.aspx#fed_search_page_size&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Automatic checkout / check-in in InfoPath 2013 with SharePoint 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/automatic-checkout-check-in-in-infopath-2013-with-sharepoint-2013</link>
      <pubDate>Mon, 12 Jan 2015 09:34:04 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2015/01/12/automatic-checkout-check-in-in-infopath-2013-with-sharepoint-2013/</guid>
      <description><![CDATA[Automatic checkout / checkin in InfoPath 2013 with SharePoint...]]></description>
      <content:encoded><![CDATA[<div>Automatic checkout / checkin in InfoPath 2013 with SharePoint 2013</div>
<div></div>
<div>=========================================</div>
<div>&nbsp;</div>
<div>Checkin check out steps :</div>
<div>=========================================</div>
<div>&nbsp;</div>
<div># Create a blank form publish it to forms library.</div>
<div>&nbsp;</div>
<div># create a data connection library in the site.</div>
<div>&nbsp;</div>
<div># start secure store service and create a secure store service application</div>
<div>&nbsp;</div>
<div># configure SSA as per the blog&nbsp;</div>
<div>&nbsp;</div>
<div>https://blogs.technet.com/b/rajbugga/archive/2013/08/07/infopath-over-claims-authentication-sharepoint-2010-amp-2013.aspx</div>
<div>&nbsp;</div>
<div>#Steps for editing UDCX file needs to be done later on.</div>
<div>&nbsp;</div>
<div># open the xsn for the published form from the saved location.</div>
<div>&nbsp;</div>
<div># create receive data connection to forms library select the following&nbsp;</div>
<div></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/1.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/1.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div># make sure you select the include data for the active form check box.</div>
<div>&nbsp;</div>
<div># select retrieve data on form load</div>
<div>&nbsp;</div>
<div># Now we will create couple of SOAP based receive connections to lists.asmx.</div>
<div>&nbsp;</div>
<div># checkout file connection&nbsp;</div>
<div>&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div># select checkoutfile&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2541.3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2541.3.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2541.3.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2541.3.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div># couple of next and on the last screen, uncheck auto retrieval of data&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/4.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/4.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/4.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div># follow the same steps to create checkinfile connection</div>
<div>&nbsp;</div>
<div># add a dummy status field on the form ( this we will use as a dummy action for the rule that checks if the form is already checked out )&nbsp;</div>
<div>&nbsp;</div>
<div># Now we will create the rules for checkout operation&nbsp;</div>
<div>&nbsp;</div>
<div>Form load --&gt; rule1&nbsp;</div>
<div>&nbsp;</div>
<div>Condition :</div>
<div>&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/5.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/5.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/5.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/6.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/6.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/6.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Action Set fields value : ( setting our dummy field to blah blah )&nbsp;</div>
<div>==</div>
<div>&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/7.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/7.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/7.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Select don&rsquo;t run remaining rules&nbsp;</div>
<div>&nbsp;</div>
<div>Rule2:</div>
<div>====</div>
<div>&nbsp;</div>
<div>Condition&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/8.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/8.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/8.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/9.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/9.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/9.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Actions : ( we have 4 of them, 3 set field values and 1 query data, maintain the sequence )&nbsp;</div>
<div>&nbsp;</div>
<div>==</div>
<div>&nbsp;</div>
<div>Set fields value&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/10.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/10.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/10.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/10.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/11.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/11.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/11.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/11.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>Set field value 2:</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/12.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/12.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/12.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/12.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/13.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/13.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/13.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/13.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Set field value 3</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/14.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/14.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/14.png" border="0" alt=" " /></a></div>
<div></div>
<div></div>
<div></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/15.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/15.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/15.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/15.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Query data&nbsp;</div>
<div></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/16.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/16.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/16.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>=============</div>
<div>&nbsp;</div>
<div>Now for checkin :</div>
<div>======</div>
<div>&nbsp;</div>
<div>#Insert a button in the form:</div>
<div>==</div>
<div>&nbsp;</div>
<div># Add 1 rule with 3 set field actions and 1 query data ( maintain the sequence )&nbsp;</div>
<div>&nbsp;</div>
<div>Condition : when the button is clicked&nbsp;</div>
<div>&nbsp;</div>
<div>Actions :</div>
<div>&nbsp;</div>
<div>Set field value 1</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/17.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/17.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/17.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/17.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/18.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/18.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/18.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/18.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Set field value 2</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/19.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/19.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/19.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/19.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/20.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/20.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/20.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/20.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Set field value 3</div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/21.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/21.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/21.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/21.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/22.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/22.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/22.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/22.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Query data :</div>
<div>&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/23.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/23.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/23.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/23.png" border="0" alt=" " /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div># Now we are done with the connections and rules we need.</div>
<div>&nbsp;</div>
<div># convert both checkout file and checkin file connections to UDCX and upload both in the data connection library we created initially.</div>
<div>&nbsp;</div>
<div># download and edit both of them as follows and upload it back&nbsp;</div>
<div>&nbsp;</div>
<div>Uncomment udc:authentication tag and povide APPid and CredentialType, APPID here is the targetapplicationID we created in secure store</div>
<div>&nbsp;</div>
<div>&lt;udc:Authentication&gt;&lt;udc:SSO AppId=&#39;APPSA&#39; CredentialType=&#39;NTLM&#39; /&gt;&lt;/udc:Authentication&gt;</div>
<div>&nbsp;</div>
<div># In Central admin configure infopath services select&nbsp;</div>
<div>Allow user form templates to use authentication information contained in data connection files&nbsp;</div>
<div>&nbsp;</div>
<div># publish the form again to the forms library</div>]]></content:encoded>
    </item>
    <item>
      <title>Configuring outgoing email settings for SharePoint with Exchange Online aka office365</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/configuring-outgoing-email-settings-for-sharepoint-with-exchange-online-aka-office365</link>
      <pubDate>Thu, 06 Mar 2014 01:24:00 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2014/03/06/configuring-outgoing-email-settings-for-sharepoint-with-exchange-online-aka-office365/</guid>
      <description><![CDATA[&nbsp;



Install SMTP role on one of the Servers in the domain which has access to internet,...]]></description>
      <content:encoded><![CDATA[<div><span style="font-family:Times New Roman;font-size:medium;"> </span>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
</div>
<ol>
<li>
<p><span style="font-size:medium;">Install SMTP role on one of the Servers in the domain which has access to internet, since we need to connect to smtp.office365.com this is must.</span></p>
</li>
<li>
<p><span style="font-size:medium;">Configuring SMTP service so that it can talk to office365 smtp</span></p>
</li>
</ol>
<p style="margin-left:60px;"><span style="font-size:medium;"><span style="font-family:Calibri;">Open&nbsp;--&gt;</span><span style="font-family:Calibri;"> IIS 6.0 Manager&nbsp;--&gt;</span><span style="font-family:Calibri;"> right click on SMTP&nbsp;--&gt;</span><span style="font-family:Calibri;"> properties </span></span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">2.1 First we will configure the Access, we don&rsquo;t have much to configure in this. Check authentication is set to anonymous </span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/1.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/1.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/1.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/1.bmp" border="0" /></a></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">2.2 Next click on connection button and you can select which servers can connect to this virtual server, by default it is set to accept all. If you need you can modify as per your orgs security policies </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.2.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.2.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.2.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.2.bmp" border="0" /></a><br /></span></p>
<p></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">2.3 Next click on relay, here you can select which computer can relay through this SMTP. If you need that any computer / server can relay through this, select all except the list below option </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp;&nbsp; </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.3.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.3.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.3.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.3.bmp" border="0" /></a><br /></span></p>
<p style="margin-left:60px;"><span style="font-size:medium;">2.4 Next click on Messages tab, here we don&rsquo;t have to change anything except if you need to change the badmail directory i.e. where SMTP store any email that it fails to deliver due to one or the other reason.</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;">&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.4.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.4.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.4.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.4.bmp" border="0" /></a><br /></span></p>
<p></p>
<p></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><span style="font-family:Calibri;">2.5 Next click on delivery tab&nbsp; </span>&agrave;<span style="font-family:Calibri;"> outbound security, here chose basic authentication and provide a username and password, remember this user should have a valid exchange online mailbox. Also make sure you check TLS encryption here</span></span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><span style="font-family:Calibri;">&nbsp;</span></span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><span style="font-family:Calibri;">&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.5.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.5.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.5.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.5.bmp" border="0" /></a><br /></span></span></p>
<p></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">2.6 Next click on outbound connections, here we can specify the port as 25 or 587 and leave rest as it is </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.6.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.6.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.6.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.6.bmp" border="0" /></a><br /></span></p>
<p></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">2.7 Next click on Advanced , here you can provide FQDN name of your domain and smart host which should be set to smtp.office365.com </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.7.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.7.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/2.7.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/2.7.bmp" border="0" /></a><br /></span></p>
<p></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">This completes our SMTP level configuration</span></p>
<p style="margin-left:30px;"><span style="font-size:medium;"><span style="font-family:Calibri;">3. </span>Testing the connection</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><span style="font-family:Calibri;">3.1 Install telnet client on the server : Server manager </span>&agrave;<span style="font-family:Calibri;"> add feature </span>&agrave;<span style="font-family:Calibri;"> check Telnet client </span></span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">3.2 Open cmd prompt and run the following </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">telnet localhost 25:</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">helo</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">mail from:&lt;office365 email address&gt;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">rcpt to:&lt;to address&gt;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">data</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">subject:test mail</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">test email </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">.</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">Quit </span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/3.1.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/3.1.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/3.1.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/3.1.bmp" border="0" /></a><br /></span></p>
<p style="margin-left:60px;"><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p style="margin-left:30px;"><span style="font-size:medium;">4. Configuring SharePoint server</span><span style="font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;">4.1 CA --&gt; system settings --&gt;&nbsp;outgoing email settings</span><span style="font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;">&nbsp;</span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/4.1.bmp" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/4.1.bmp"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/93/41/4.1.bmp" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-93-41/4.1.bmp" border="0" /></a><br /></span></p>
<p style="margin-left:60px;"><span style="font-size:medium;"><br /></span><span style="font-size:medium;">Make sure that from address have permissions to send email through your exchange online else you will see bad email in your badmail directory on the SMTP Server with the following message in it</span><span style="font-size:medium;">&nbsp;</span></p>
<ol>
<li style="list-style-type:none;"><ol>
<li>
<p><span style="font-size:medium;">Diagnostic-Code: smtp; 550 5.7.1 Client does not have permissions to send as this sender</span></p>
<p><span style="font-size:medium;">&nbsp;</span><span style="font-size:medium;">To test the outgoing email settings just set any alert on one of the document libraries or any list for any user with a valid email address</span></p>
<p><span style="font-size:medium;">&nbsp;</span></p>
<p>&nbsp;</p>
</li>
</ol></li>
</ol>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Upload user photos in AD using PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/upload-user-photos-in-ad-using-powershell</link>
      <pubDate>Tue, 18 Feb 2014 04:34:25 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2014/02/18/upload-user-photos-in-ad-using-powershell/</guid>
      <description><![CDATA[In some scenarios due to some issue in the user profile sync we often end up loosing profile...]]></description>
      <content:encoded><![CDATA[<p>In some scenarios due to some issue in the user profile sync we often end up loosing profile pictures on the users mysite i.e. initially you are exporting pictures from SP to AD but one fine day you lost the sync connection and created a new one without mapping the export for the profile picture, result it will mark picture URL in the userprofile_ful table as NULL for all the users. Only way out of this situation is to re-upload the profile pictures in SP and remap the property to export and do a fullsync or best way to keep user photos is in AD and importing them back in SP.&nbsp;</p>
<p></p>
<p>Following script uploads the userphotos in bulk to your AD, assumption is that photos are saved in file system as &lt;SAMAccountname&gt;.&lt;extension&gt;</p>
<p></p>
<p>========================</p>
<p></p>
<p>$path = &quot;C:\Users\administrator.CORP\Desktop\photo&quot;</p>
<p>$x = Get-ChildItem $PATH</p>
<p>$x.VersionInfo.filename<br />foreach ($item in Get-ChildItem $path)<br />{<br /> $photopath = $item.versioninfo.filename<br /> $photo = [byte[]](get-content $photopath -Encoding byte)<br /> $temp = $photopath.lastindexof(&quot;.&quot;)<br /> $temp1 = $photopath.LastIndexOf(&quot;\&quot;)<br /> $temp2 = $temp-$temp1<br /> $user = $photopath.substring($temp1+1,$temp2-1)<br /> $user<br /> Set-ADUser $user -Replace @{thumbnailPhoto=$photo}<br /> <br />}</p>
<p></p>
<p>=============================================</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Recreating default display, edit and new forms of a list in SharePoint 2010 using Powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/recreating-default-display-edit-and-new-forms-of-a-list-in-sharepoint-2010-using-powershell</link>
      <pubDate>Fri, 30 Aug 2013 15:03:00 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2013/08/30/recreating-default-display-edit-and-new-forms-of-a-list-in-sharepoint-2010-using-powershell/</guid>
      <description><![CDATA[Following script recreates dispform.aspx, editform.aspx and newform.aspx of a list using PowerShell,...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size:x-small;">Following script recreates dispform.aspx, editform.aspx and newform.aspx of a list using PowerShell, useful in scenarios where we need to recreate these forms to fix issues induced due to upgrades</span></p>
<pre><br /><span style="font-size:x-small;">$url = Read-Host &quot;Enter URL&quot; </span><br /><br /><span style="font-size:x-small;">do{</span><br /><span style="font-size:x-small;">$listname = Read-Host &quot;Enter List Name&quot;</span><br /><span style="font-size:x-small;">$web = get-spweb $url </span><br /><span style="font-size:x-small;">$list = $web.lists[$listname]<br /></span>$files = $list.rootfolder.files<br /><br /><span style="font-size:x-small;">#---------------------------- Delete Forms ----------------------</span><br /><br /><span style="font-size:x-small;">$form1 = $list.RootFolder.files | ?{$_.url -match &quot;dispform.aspx&quot;}</span><br /><br /><span style="font-size:x-small;">$form2 = $list.RootFolder.files | ?{$_.url -match &quot;editform.aspx&quot;}</span><br /><br /><span style="font-size:x-small;">$form3 = $list.RootFolder.files | ?{$_.url -match &quot;newform.aspx&quot;}</span><br /><br /><span style="font-size:x-small;">$form2.delete()</span><br /><span style="font-size:x-small;">$form1.delete()</span><br /><span style="font-size:x-small;">$form3.delete()</span><br /><br /><span style="font-size:x-small;">$list.update()</span><br /><br /><span style="font-size:x-small;"># --------------------------recreating --------------------------------</span><br /><br /><span style="font-size:x-small;">$editformurl = $list.RootFolder.ServerRelativeUrl + &quot;/editform.aspx&quot;</span><br /><span style="font-size:x-small;">$dispformurl = $list.RootFolder.ServerRelativeUrl + &quot;/Dispform.aspx&quot;</span><br /><span style="font-size:x-small;">$newformurl = $list.RootFolder.ServerRelativeUrl + &quot;/NewForm.aspx&quot;</span><br /><br /><span style="font-size:x-small;">$dispform = $files.add($dispformurl, [Microsoft.SharePoint.SPTemplateFileType]::FormPage)</span><br /><span style="font-size:x-small;">$editform = $files.add($editformurl, [Microsoft.SharePoint.SPTemplateFileType]::FormPage)</span><br /><span style="font-size:x-small;">$newform = $files.add($newformurl, [Microsoft.SharePoint.SPTemplateFileType]::FormPage)</span><br /><br /><span style="font-size:x-small;">$wpm = $editform.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)</span><br /><span style="font-size:x-small;">$wpm2 = $dispform.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)</span><br /><span style="font-size:x-small;">$wpm3 = $newform.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)</span><br /><br /><span style="font-size:x-small;">$lfw1 = new-object ([Microsoft.SharePoint.WebPartPages.ListFormwebpart])</span><br /><span style="font-size:x-small;">$lfw2 = new-object ([Microsoft.SharePoint.WebPartPages.ListFormwebpart])</span><br /><span style="font-size:x-small;">$lfw3 = new-object ([Microsoft.SharePoint.WebPartPages.ListFormwebpart])</span><br /><br /><span style="font-size:x-small;">$ilist1 = [Microsoft.SharePoint.WebPartPages.IListWebPart]($lfw1)</span><br /><span style="font-size:x-small;">$ilist2 = [Microsoft.SharePoint.WebPartPages.IListWebPart]($lfw2)</span><br /><span style="font-size:x-small;">$ilist3 = [Microsoft.SharePoint.WebPartPages.IListWebPart]($lfw3)</span><br /><br /><span style="font-size:x-small;">$ilist1.ListId = $list.id</span><br /><span style="font-size:x-small;">$ilist1.PageType = [Microsoft.SharePoint.PAGETYPE]::PAGE_EDITFORM;</span><br /><br /><span style="font-size:x-small;">$ilist2.ListId = $list.id</span><br /><span style="font-size:x-small;">$ilist2.PageType = [Microsoft.SharePoint.PAGETYPE]::PAGE_DISPLAYFORM;</span><br /><br /><span style="font-size:x-small;">$ilist3.ListId = $list.id</span><br /><span style="font-size:x-small;">$ilist3.PageType = [Microsoft.SharePoint.PAGETYPE]::PAGE_NEWFORM;</span><br /><br /><span style="font-size:x-small;">$wpm.AddWebPart($lfw1, &quot;Main&quot;, 1)</span><br /><span style="font-size:x-small;">$wpm2.AddWebPart($lfw2, &quot;Main&quot;, 1) </span><br /><span style="font-size:x-small;">$wpm3.AddWebPart($lfw3, &quot;Main&quot;, 1)</span><br /><br /><br /><span style="font-size:x-small;">$list.DefaultDisplayFormUrl = $dispformurl</span><br /><span style="font-size:x-small;">$list.DefaultEditFormUrl = $editformurl </span><br /><span style="font-size:x-small;">$list.DefaultNewFormUrl = $newformurl</span><br /><br /><span style="font-size:x-small;">$list.update()</span><br /><span style="font-size:x-small;">}</span><br /><span style="font-size:x-small;">while ($TRUE)</span><br /><span style="font-size:x-small;"># # ===================</span></pre>]]></content:encoded>
    </item>
    <item>
      <title>Fixing permmask field</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/fixing-permmask-field</link>
      <pubDate>Fri, 30 Aug 2013 14:59:26 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2013/08/30/fixing-permmask-field/</guid>
      <description><![CDATA[Issue:
=====
Edit item options are missing in the ribbon and in the drop down of the items in a...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: x-small;">Issue:</span></p>
<p><span style="font-size: x-small;">=====</span></p>
<p><span style="font-size: x-small;">Edit item options are missing in the ribbon and in the drop down of the items in a list</span></p>
<p>&nbsp;</p>
<p><span style="font-size: x-small;">Cause:</span></p>
<p><span style="font-size: x-small;">=====</span></p>
<p><span style="font-size: x-small;">Issue is due to PermMask field schema has missing "RenderXMLUsingPattern", it can be at the site level, web level or list level</span></p>
<p>&nbsp;</p>
<p><span style="font-size: x-small;">Resolution:</span></p>
<p><span style="font-size: x-small;">=====</span></p>
<p><span style="font-size: x-small;">Run the following script, it run through all the webs, including rootweb and lists and fixes the schema</span></p>
<p><span style="font-size: x-small;">===========================</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">$site = get-spsite &lt;URL of the site collection&gt;</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">function checkxml($field)</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">{</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp; if($field.SchemaXml.Contains("RenderXMLUsingPattern"))<br />&nbsp; {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; return $TRUE<br />&nbsp; }<br />&nbsp; else&nbsp;<br />&nbsp; {<br />&nbsp;&nbsp; return $FALSE<br />&nbsp; }<br />&nbsp;&nbsp;<br />}</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">function fixxml($field)</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">{</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; [xml]$schema = $field.SchemaXml</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; $att = $schema.createattribute("RenderXMLUsingPattern")</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; $att.value = "TRUE"</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; $schema.field.attributes.append($att)</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; $field.schemaxml = $schema.innerxml</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp;&nbsp; $field.update()</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">}</span></p>
<p><br /><span style="font-size: x-small;">$web = $site.RootWeb</span></p>
<p><span style="font-size: x-small;">if(checkxml($web.Fields.GetFieldByInternalName("PermMask")))</span></p>
<p><span style="font-size: x-small;">{</span></p>
<p><span style="font-size: x-small;">&nbsp; write-host "Field at Root Level is fine"&nbsp;</span><br />&nbsp;&nbsp;<br /><span style="font-size: x-small;">}</span></p>
<p><span style="font-size: x-small;">else</span></p>
<p><span style="font-size: x-small;">{</span></p>
<p><span style="font-size: x-small;">&nbsp; fixxml($web.Fields.GetFieldByInternalName("PermMask"))</span><br /><span style="font-size: x-small;">&nbsp; $web.update()</span><br />&nbsp;&nbsp;<br /><span style="font-size: x-small;">}&nbsp;&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><span style="font-size: x-small;">foreach ($webs in $site.AllWebs)</span></p>
<p><span style="font-size: x-small;">{</span></p>
<p><span style="font-size: x-small;">try { $fieldw = $webs.fields.getfieldbyinternalname("PermMask") }</span><br /><span style="font-size: x-small;">catch [System.Exception] { write-host "Field not found in :"&nbsp; $webs.url }</span></p>
<p><span style="font-family: Tahoma; font-size: x-small;">&nbsp; if(checkxml($fieldw))<br />&nbsp;&nbsp;<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; write-host "No broken field found at :" $web.url<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br />&nbsp; else<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; write-host "Broken Field found at :" $web.url&nbsp;<br />&nbsp;&nbsp;&nbsp; fixxml($fieldw)<br />&nbsp;&nbsp;&nbsp; $web.update()<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br />&nbsp; for($i = $webs.lists.count - 1; $i -ge 0; $i--)&nbsp;<br />&nbsp; {<br />&nbsp; $list = $webs.lists[$i]<br />&nbsp; try{ $fieldl =&nbsp; $list.fields.getfieldbyinternalname("PermMask")&nbsp; }<br />&nbsp; catch [System.Exception] { write-host "Permmask field not found in :" $list.title }&nbsp;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp; if(checkxml($fieldl))<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write-host "No broken field found at :" $list.title<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write-host "Broken Field found at :" $list.title<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixxml($fieldl)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br />&nbsp;<br />&nbsp; }&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />} &nbsp;</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Incorrect display URL in search results - SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/incorrect-display-url-in-search-results-sharepoint-2010</link>
      <pubDate>Fri, 28 Dec 2012 10:08:35 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2012/12/28/incorrect-display-url-in-search-results-sharepoint-2010/</guid>
      <description><![CDATA[Issue:
In search results when we click on an item it takes us to an incorrect displayform URL. For...]]></description>
      <content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>In search results when we click on an item it takes us to an incorrect displayform URL. For example in an working scenario when we click on an item in search results it takes us to &lt;url of the list&gt;/dispform.aspx?id=&lt;***&gt;, but in case where there are multiple display form created for a list search results always picks only one display form to crawl.</p>
<p><strong>Cause:</strong></p>
<p>This is kind of by design behavior where the gatherer process renders through the available display forms in the list and picks only the form which is on the top of the order.</p>
<p><strong>Resolution:</strong></p>
<p>As of now it&rsquo;s not possible to index all the display forms of the list but to index the desired display form following can be done.</p>
<p>1. Run the following to get the exact order in which gatherer will see the display forms</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: #ffcc00;">&nbsp;&nbsp;$web = get-spweb &lt;&gt;</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $list = $web.lists[&ldquo;&lt;list title&gt;&rdquo;]</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach($form in $list.forms)</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($form.Type -eq "PAGE_DISPLAYFORM")</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $form.id, $form.url</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }</span></p>
<p><span style="background-color: #ffcc00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><br />2. In our case we got the following</p>
<ol>Maps.aspx</ol><ol>Home.aspx</ol><ol>Dispform.aspx</ol>
<p>&nbsp;</p>
<p>3. We needed that home.aspx&nbsp; should be picked up in the index and not maps.aspx.</p>
<p>4.&nbsp; So two workarounds were there first : delete maps.aspx Second: just recreate maps.aspx using SharePoint designer.</p>
<p>5. Either of two changes the order and subsequent reset and full crawl starts giving the desired results</p>]]></content:encoded>
    </item>
    <item>
      <title>Error while trying to enable enterprise features or upgrading Standard License to Enterprsie License in SharePoint 2010 multiple Server farm</title>
      <link>https://docs.microsoft.com/archive/blogs/yashgoel-msft/error-while-trying-to-enable-enterprise-features-or-upgrading-standard-license-to-enterprsie-license-in-sharepoint-2010-multiple-server-farm</link>
      <pubDate>Fri, 30 Nov 2012 09:35:39 GMT</pubDate>
      <dc:creator><![CDATA[Yash Goel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/yashgoel-msft/2012/11/30/error-while-trying-to-enable-enterprise-features-or-upgrading-standard-license-to-enterprsie-license-in-sharepoint-2010-multiple-server-farm/</guid>
      <description><![CDATA[Issue:
Enabling enterprise features on SharePoint 2010 or upgrading from Standard license to...]]></description>
      <content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;">Issue:</span></strong></p>
<p>Enabling enterprise features on SharePoint 2010 or upgrading from Standard license to Enterprise license fails on multiple server farm with the following error in GUI</p>
<p>&nbsp;</p>
<p>An error occurred while enabling Enterprise features. Refer to the event logs on your server machines for more details. For more information on how to fix this error, refer to help.</p>
<p>Click OK to return to the SharePoint Central Administration Operations page."</p>
<p><strong>Same time following concurrency exception is logged in eventlogs </strong></p>
<p>&nbsp;An exception of type Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException was<br />thrown.&nbsp; Additional exception<br />information: An update conflict has occurred, and you must re-try this action</p>
<p>&nbsp;<strong><span style="text-decoration: underline;">Cause:</span></strong></p>
<p>&nbsp;Every time we try to enable or upgrade to enterprise license in Multiple Server SP 2010 farm, it creates a one time job of each of the Server which kicks off psconfig simultaneously on all of the Server due to which we keep on getting the concurrency exception and feature activation never completes</p>
<p>&nbsp;<strong><span style="text-decoration: underline;">Resolution</span></strong></p>
<p>&nbsp;</p>
<ol>
<li>First we need to make sure that all the Server should be in &ldquo;no action required&rdquo; status to avoid other objects upgrading when the SharePoint Server upgrade job triggers psconfig</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;First to make sure that the psconfig doesn&rsquo;t start on all the Servers simultaneously we disable the timer service on all the Servers in the farm except the Server hosting Central Admin.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. Try to enable enterprise features, it will fail but check event logs we should see a success for psconfig along MSInstaller logs for successful installation of Infopath, visio and other Services.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. Now one by one run &ldquo;Psconfig.exe &ndash;cmd services &ndash;install &ndash;cmd installfeatures&rdquo; on all the Servers</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5. Make sure we get success for psconfig and MSinstaller logs on all the Server after psconfig command completes</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6. On Server hosting central admin run powershell cmdlet &nbsp;&ldquo;set-spfarmconfig &ndash;installedproductrefresh&rdquo;</p>
<p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7.Now we should see enterprise features enabled in Central admin</p>
<p>&nbsp;</p>
<p><br /> <br /> <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br />&nbsp; <br /> <br /> <br /> <br /><br /></p>
<ol>
<li><br />Once<br />done start the full crawl and we should be in good state.</li>
</ol>]]></content:encoded>
    </item>
  </channel>
</rss>