<?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>SharePoint Online Support Info</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sposupport/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sposupport/feed.xml</link>
    <description>Information from the SharePoint Online Support team</description>
    <lastBuildDate>Wed, 18 Apr 2018 15:21:47 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Differences between the "Created" or "Modified" date in search results compared to list/library view</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/differences-between-the-created-or-modified-date-in-search-results-compared-to-listlibrary-view</link>
      <pubDate>Sat, 27 Jan 2018 04:51:52 GMT</pubDate>
      <dc:creator><![CDATA[Tania M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=765</guid>
      <description><![CDATA[There are times when you may observe differences between the "Created" or "Modified" date and how...]]></description>
      <content:encoded><![CDATA[<b><span>There are time</span></b><b><span>s when you may observe differences</span></b><b><span> </span></b><b><span>between</span></b><b><span> </span></b><b><span>the </span></b><b><span>"Created"</span></b><b><span> </span></b><b><span>or "M</span></b><b><span>odified</span></b><b><span>"</span></b><b><span> </span></b><b><span>date </span></b><b><span>and how they</span></b><b><span> </span></b><b><span>appear</span></b><b><span> </span></b><b><span>in</span></b><b><span> </span></b><b><span>search</span></b><b><span> </span></b><b><span>results </span></b><b><span>compared to how they</span></b><b><span> </span></b><b><span>appear</span></b><b><span> in the</span></b><b><span> </span></b><b><span>list</span></b><b><span>/library</span></b><b><span> view</span></b><b><span>.</span></b><span> </span>

<b><span>Scenario 1:</span></b><span> </span><span>We noticed that the search results, for example in the Enterprise search center,</span><span> </span><span>returns</span><span> </span><span>results</span><span> that</span><span> display a differ</span><span>ent created and/or modified date than</span><span> the one shown i</span><span>n the list</span><span>/library</span><span> view.</span><span> </span>

<b><span>Scenario 2:</span></b><span> </span><span>In the </span><span>Security and Compliance </span><span>center</span><span>,</span><span> when using the </span><span>eDiscovery </span><span>functionality</span><span>,</span><span> </span><span>the</span><span> last modified date does not match the last modified date seen in the SharePoint library.</span><span> </span>

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/modified.png"><img width="992" height="314" class="alignnone size-full wp-image-775" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/modified.png" /></a>

<b><span>Why is this occurring? </span></b><span> </span>

<span>Office D</span><span>ocument</span><span>s </span><span>contain</span><span> </span><span>document properties</span><span> </span><span>and </span><span>meta</span><span>data that</span><span> includ</span><span>e</span><span> the </span><span>created and modified </span><span>date</span><span> from the file system</span><span>.</span><span> The document library </span><span>shows</span><span> the created and modified date, based on the upload date</span><span> to SharePoint, not the original O</span><span>ffice </span><span>Document </span><span>properties</span><span>. </span><span> </span>

<b><span>Note: There are instances where the Created and modified date information displayed in the list/library view will be the same as the office document properties and will be discussed in a different blog. </span></b><span> </span>

<span>The search results are showing the original created date from the Office Document properties when the </span><span>d</span><span>ocument property promotion is not disabled. By default,</span><span> </span><span>property promotion </span><span>is</span><span> </span><span>enabled, to allow SharePoint ac</span><span>cess to the </span><span>Document properties.</span><span> </span>

<span> </span>

<b><span>How can I </span></b><b><span>setup my </span></b><b><span>search </span></b><b><span>to show the SharePoint created/modified date</span></b><b><span>?</span></b><span> </span>

<span> </span>

<span>To return </span><span>the </span><span>created and modified date of SharePoint </span><span>you </span><span>can</span><span> </span><span>take the following steps to update the managed property to show </span><span>the date in </span><span>SharePoint</span><span>:</span><span> </span>
<ol>
 	<li><span> </span><span>Go to the SharePoint Admin center </span>
<blockquote><span> </span></blockquote>
<b><span>Note: </span></b><span>We recommend </span><span>changing</span><span> the Managed Properties that you are going to use on more than one site at the Tenant level as a best practice. </span><span> </span></li>
 	<li><span>Go to search </span><span> </span></li>
 	<li><span>Go to Manage search schema </span><span> </span></li>
 	<li><span>Search for “</span><span>LastModifiedTime</span><span>”</span><span> </span></li>
 	<li><span>Click on “Edit/Map property”</span><span> </span></li>
 	<li><span>Change the order of the crawled property as shown below: <a href="https://msdnshared.blob.core.windows.net/media/2018/01/lastmodifiedtime.png"><img width="791" height="232" class="alignnone size-full wp-image-785" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/lastmodifiedtime.png" /></a></span></li>
 	<li><span>Save.</span><span> </span></li>
 	<li><span>Search for “Created”</span><span> </span></li>
 	<li><span>Click on “Edit/Map property”</span><span> for “Created”</span><span> </span></li>
 	<li><span>Change the order of the crawled property as shown below:<a href="https://msdnshared.blob.core.windows.net/media/2018/01/cfreated.png"><img width="789" height="231" class="alignnone size-full wp-image-795" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/cfreated.png" /></a></span></li>
 	<li><span>Save. </span><span> </span></li>
</ol>
<span>Once you have completed these steps you will need to re-index the site collections/list/library</span><span>. Instruction for this can be found in the following article</span><span>: </span><a href="https://support.office.com/en-us/article/Manually-request-crawling-and-re-indexing-of-a-site-a-library-or-a-list-9AFA977D-39DE-4321-B4CA-8C7C7E6D264E"><span>Manually request crawling and re-indexing of a site a library or a list</span></a><span>. After content is re-indexed </span><span>the search results </span><span>will</span><span> </span><span>display the same modified and created dates as SharePoint libraries.</span><span> </span><span> </span>

<span>If you have any feedback or suggestions for search, please submit those suggestions to </span><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsharepoint.uservoice.com%2F&amp;data=02%7C01%7Cyachiyoj%40microsoft.com%7Cab0ecf44daa84a00722008d50483436f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636419884416451255&amp;sdata=BB0BlkES4ncjAKjZYG4hbaho79e8Fo31rZjCr%2FDbyzA%3D&amp;reserved=0"><span>https://sharepoint.uservoice.com/</span></a><span>. </span><span>The Product Group checks the requests and feedback on a regular basis and uses this feedback for new features and enhancements to the product.</span><span> </span>

<strong>Authors: </strong>Steffi Buchner [MSFT], Tania Menice[MSFT]

<strong>Contributors:</strong> Paul Haskew[MSFT], Sridhar Narra [MSFT]]]></content:encoded>
    </item>
    <item>
      <title>External Users trying to accept the invitation get an error message "That Didn't Work"</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/external-users-trying-to-accept-the-invitation-get-an-error-message-that-didnt-work</link>
      <pubDate>Sat, 30 Dec 2017 08:31:17 GMT</pubDate>
      <dc:creator><![CDATA[Toby B - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=735</guid>
      <description><![CDATA[Note:  This article has been moved to the Global SharePoint Online Support Blog as part of a Global...]]></description>
      <content:encoded><![CDATA[<em>Note:  This article has been moved to the Global SharePoint Online Support Blog as part of a Global Support Initiative.  It is available <a href="https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/External-Users-trying-to-accept-the-invitation-get-an-error/ba-p/174844#M21">here</a>.</em>
<h1>The Scenario</h1>
Marcus from Contoso Ltd is collaborating on a project for Fabrikam Inc.  In order to facilitate the collaboration, the Project Manager for Fabrikam, Denise, invites Mark to a SharePoint Online Team site using the external sharing features.  She looks up Marcus’ email and adds him to the SharePoint Site, using his email address marcus.jones@contoso.com.  Marcus receives the invitation, clicks on the link, and instead of being presented with the SharePoint Online site he was expecting, instead gets the following error:

<a href="https://msdnshared.blob.core.windows.net/media/2017/12/error_message.jpg"><img width="605" height="361" class=" wp-image-745 aligncenter" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/error_message-300x179.jpg" /></a>

Confused, Marcus reaches out to Denise, and through her, they open a case from Microsoft Support.  Unfortunately, the response from Microsoft Support is that there is nothing wrong with their tenant that Microsoft Support can fix.  Unfortunately, this is a situation where two competing and completely valid IT security decisions are conflicting.
<h1>It’s about Control</h1>
When a user is invited to collaborate with SharePoint Online, the user or administrator will designate an email address.  An invitation email is sent to that email address that contains a link to AcceptInvite.aspx. When the user clicks the accept invite link, they are then authenticated to their service either using an Organizational Account – that is, an account issued by a tenant in the O365 service (also referred to as ‘Your Work or School ID’) – or using a Microsoft Account (also called MSA, or Live.com accounts). By default, a user who is invited using an email can choose to accept using an account with a different email, such as using their Microsoft Account.

For some customers, however, particularly those with stringent data protection policies, such a situation was far from ideal.  In order to conform to such policy requirements, SharePoint Online Tenant Administrators can configure their tenants to require external users to accept their invitations using the same email that was initially invited.  This way, they can have additional assurances that the user who was viewing the data was the user who was authorized to do so.

However, some institutions take a different approach to their account naming conventions, choosing to keep their Email Addresses separate from their User Principal Names.  This allows another layer of obfuscation, requiring malicious attackers to guess the user name as opposed to simply entering the email address that is displayed across the internet and on every business card that gets passed out.

When these two configurations meet, however, we find ourselves in one of the most frustrating situations in Support.  When everything is working exactly as intended, and exactly as the individual administrators want it to, but it prevents users from doing their work. In these situations, the only way forward is to revisit certain decisions and look at the options available.  We should be careful to point out that since nothing is technically broken, there is naught that Microsoft Support can do to remediate this issue, short of facilitating the conversation between partner organizations who wish to collaborate using the External User feature of SharePoint online.
<h2>Your Options</h2>
If you find yourself in this situation, either trying to invite an external user to collaborate, or as an external user being invited to another tenant, the best way forward is to have your IT team reach out to your partner organization’s IT team, and reference this article.  There are several ways to work around this problem, none of which are perfect, but will allow partnered organizations to make the decision that works best for everyone.
<ul>
 	<li>Option 1: Remove the requirement that accepting users must match invited users. This is something that the inviting organization must do. To disable this feature, you may choose between the option "External users must accept sharing invitations using the same account that the invitations were sent to" check box under Additional Settings on the Sharing configuration page of your SharePoint Online tenant admin portal; or you can use the Microsoft SharePoint Online Management Console and run the following command after connecting to your tenant (using the Connect-SPOService cmdlet): Set-SPOTenant -RequireAcceptingAccountMatchInvitedAccount $false</li>
 	<li>Option 2: The Invited Organization can add the upn of the user as an smtp-proxy address to the user object in Active Directory and sync it up to the cloud. This means that the upn of the user is a valid email address.  While this somewhat defeats the purpose of having separate email addresses and UPNs, not advertising the email address except in special circumstances, such as this, still maintains some of the original difficulty in discovering the person’s username.</li>
 	<li>Option 3: Users who are invited to tenants that are configured in this scenario, where neither organization wants to pursue Option 1 or 2, can still create a separate Microsoft Account and log in to the partner tenant using those credentials. The easiest way to do that is to create an Outlook.Com email address and invite that address to the tenant.</li>
</ul>
<h2>Final Thoughts</h2>
Whatever collaborating partner organizations choose to do, it should be done after careful thought as to the original needs that caused the organization to choose their current configuration, and in open dialogue between partner organizations.]]></content:encoded>
    </item>
    <item>
      <title>Sharepoint Online: Searching for files and items using ID does not return expected results</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/searching-for-files-and-items-using-id-does-not-return-expected-results</link>
      <pubDate>Thu, 28 Dec 2017 07:35:29 GMT</pubDate>
      <dc:creator><![CDATA[Tania M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=675</guid>
      <description><![CDATA[There are times when you may observe different behavior when searching for an item or file in...]]></description>
      <content:encoded><![CDATA[<h2><strong>There are times when you may observe different behavior when searching for an item or file in list/library by ID.</strong></h2>
<strong> </strong><strong>Scenario 1:</strong> Recently we noticed that when we try to search for an item/document using the ID it no longer returns any results, or the results do not include the item/document with that ID as part of the result set.

<strong>Scenario 2:</strong> We have two tenants (one for production and one for testing) that are seeing different behavior when searching for the ID of a document or list item. In one tenant when we try to search for an item/document using the ID it no longer returns any results whereas in the other tenant when search for an item/document with just the ID the results will include the document.

In both scenarios discussed above, the documents/items are searchable when searching using the managed property explicitly. <strong>For Example: </strong><strong>listitemid:6</strong><strong>  </strong> <a href="https://msdnshared.blob.core.windows.net/media/2017/12/searchlistid.jpg"><img width="1024" height="305" class="alignleft wp-image-685 size-large" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/searchlistid-1024x305.jpg" /></a>
<h2> <strong>Why is this occurring? </strong></h2>
Older farms were configured so that farm schema (this is different from the tenant schema) had the ID included in the fulltext index. As a result, freeform search for the ID  within the list or library search would return results that included that item or file. This would occur even though the managed property for <strong>listitemid</strong> is not configured to have this as part of the fulltext index at the tenant level.

[caption id="attachment_695" align="alignnone" width="400"]<a href="https://msdnshared.blob.core.windows.net/media/2017/12/mplistitemid.png"><img width="400" height="553" class="wp-image-695" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/mplistitemid-741x1024.png" /></a> <strong>Tenant Level Configuration</strong>[/caption]

The farm level configuration that was present previously has been changed on newer farms for the following reasons:  performance improvements and feedback from customers that this configuration resulted in unexpected results. The farm schema no longer adds the ID to the fulltext index so users will need to explicitly search using the managed property <strong>listitemid:&lt;ID&gt;</strong>. As tenants are moved from one farm to another farm as part of planned capacity operations, you will experience scenario 1.  For scenario 2, this is due to one tenant being on an older farm where it is part of the fullindex in the farm schema and the other being on a newer farm where that is no longer in place.
<h2><strong>How can I search for my list item without having to specify the listitemid managed property?</strong></h2>
<strong> </strong>If you would like to return the ID without explicitly using the managed property you can take the following steps.
<blockquote><strong>Note:</strong> We recommend making the Managed Properties that you are going to use on more than one site at the Tenant level as a best practice.</blockquote>
<blockquote><span style="float: none;background-color: transparent;color: #333333;cursor: text;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif;font-size: 16px;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 24px;text-align: left;text-decoration: none;text-indent: 0px">**After this change you may get unexpected result when performing numeric searches.</span></blockquote>
<ol>
 	<li>Go to the SharePoint Admin center.</li>
 	<li>Go to search</li>
 	<li>Go to Manage search schema</li>
 	<li>Click on “Create a new managed property”</li>
 	<li>Give it a name and make sure that the following options are checked: Searchable, Queryable, Retrievable, Token Normalization<a href="https://msdnshared.blob.core.windows.net/media/2017/12/myMPlistid.png"><img width="300" height="264" class="wp-image-705 size-medium alignnone" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/myMPlistid-300x264.png" /></a></li>
 	<li>Add a mapping to the ows_ListItemID<a href="https://msdnshared.blob.core.windows.net/media/2017/12/cplistid.jpg"><img width="835" height="164" class="alignnone size-full wp-image-715" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/12/cplistid.jpg" /></a></li>
 	<li>Save.</li>
</ol>
&nbsp;

Once you have completed these steps you will need to re-index the site collections/list/library: <a href="https://support.office.com/en-us/article/Manually-request-crawling-and-re-indexing-of-a-site-a-library-or-a-list-9AFA977D-39DE-4321-B4CA-8C7C7E6D264E">Manually request crawling and re-indexing of a site a library or a list</a>. After content is re-indexed you will be able to search without explicitly using the managed property.

If you have any feedback or suggestions for search, please submit those suggestions to <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsharepoint.uservoice.com%2F&amp;data=02%7C01%7Cyachiyoj%40microsoft.com%7Cab0ecf44daa84a00722008d50483436f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636419884416451255&amp;sdata=BB0BlkES4ncjAKjZYG4hbaho79e8Fo31rZjCr%2FDbyzA%3D&amp;reserved=0">https://sharepoint.uservoice.com</a> . The Product Group checks the requests and feedback on a regular basis and uses this feedback for new features and enhancements to the product.

<span><strong>Author: </strong>Tania Menice [MSFT]</span>

<strong>Contributors:</strong> Paul Haskew[MSFT], <span>Sridhar Narra [MSFT]</span>]]></content:encoded>
    </item>
    <item>
      <title>Hosting Office365 Content In An iFrame Results In A Non-Seamless SSO Experience</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/hosting-office365-content-in-an-iframe-results-in-a-non-seamless-sso-experience</link>
      <pubDate>Sat, 09 Dec 2017 03:50:24 GMT</pubDate>
      <dc:creator><![CDATA[Toby B - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=665</guid>
      <description><![CDATA[We are used to media rich experiences when dealing with web sites and applications, and expect a...]]></description>
      <content:encoded><![CDATA[<span>We are used to media rich experiences when dealing with web sites and applications, and expect a seamless experience across our services.  The new rich feature</span><span>s in </span><span>Office365 </span><span>make hosting some content in a hybrid architecture initially very attractive.  And while </span><span>these architectures can deliver on their promises</span><span>,</span><span> </span><span>successful deployments</span><span> </span><span>require some forethought and planning</span><span>.</span><span>
</span><span>
</span><span>Initially, many administrators think to themselves that the process is relatively simple and straightforward.  Utilizing the embed code offered on certain products, such as Microsoft Stream videos, they house that code locally and expect a </span><span>seamless</span><span> experience.  They may even test it, and see that everything is working as they imagined.  However, when </span><span>these features are released to users, the </span><span>feedback that users receive is that the experience is not truly seamless and that they are prompted to log in</span><span>.  Often, this results in them opening a support case.</span><span> </span>

<span>So</span><span> what went wrong? Why did our admin see the seamless experience, but his user not? While the technical explanation on what exactly occurred here is discussed below, the short answer on why we have this behavior in the first place </span><span>has to</span><span> do with a kind of malicious attack known as “</span><span>Clickj</span><span>acking.” </span><span> </span>
<h4><span>What is </span><span>ClickJacking</span><span>?</span><span> </span></h4>
<span>Clickjacking is a term coined in 2008 to describe a type of attack where authentic content is presented to the user in a way that allows a malicious actor to hijack that content in a manner than the user does not consent to.  For example, an authentication prompt inside an </span><span>iFrame</span><span> could be used to harvest the user’s credentials to the service simply by presenting the prompt and reading the inputs from the user.  For those looking for further information, a technical deep dive </span><span>on the subject of Clickjacking</span><span> can be found on </span><a href="https://en.wikipedia.org/wiki/Clickjacking"><span>Wikipedia</span></a><span>.</span><span> </span>

<span>When a user requests a resource hosted in SharePoint Online, they present an authentication token to the service at the time of the request.  Requests that do not have this token are redirected to authenticate to the ser</span><span>vice.  When the resource request originates from within an </span><span>iFrame</span><span>, we detect that and prompt the user to click to authenticate, spawning a new window outside of the </span><span>iFrame</span><span> and thus no longer subject to any malicious code that exists elsewhere on the page that we do not control.  This prevents the user from potentially entering in their credentials in a compromising manner, and maintains the confidentiality of the credential set.  </span><span> </span>
<h4><span>Why does the Admin not get prompted?</span></h4>
<span>The central problem with the need to click to login is not the </span><span>iFrame</span><span>, but the lack of authentication tokens.  Our Admin was authenticated to the service to get the embed code in the first place.  When he inserts the code into the </span><span>web page, he still has his authentication tokens to the Office 365 service, so the testing is done in the context of an authenticated user.  To the admin, the experience appears </span><span>seamless</span><span>.</span><span> </span>

<span>However, in situations such as above, with a hybrid infrastructure where most web content is hosted on premise, and video hosted in Office365, there is a reasonable expectation that users are not interfacing with Office365 in a regular way. It is only after a reasonable number are consuming web based services </span><span>that the experience becomes truly seamless.  Otherwise, users who do not consume Office365 services except through embedded </span><span>iframes</span><span> will continue to be prompted to authenticate before loading the content.</span><span> </span>

<span> </span>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online Search Overview</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/sharepoint-online-search-overview</link>
      <pubDate>Fri, 10 Nov 2017 07:39:26 GMT</pubDate>
      <dc:creator><![CDATA[Tania M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=655</guid>
      <description><![CDATA[This Blog post has been moved to a new location:...]]></description>
      <content:encoded><![CDATA[This Blog post has been moved to a new location: <a href="https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/Introduction-to-SharePoint-Online-Search/ba-p/170708">https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/Introduction-to-SharePoint-Online-Search/ba-p/170708</a>
<h3>Introduction to SharePoint Online Search</h3>
Microsoft SharePoint Online Search is an integral part of SharePoint Online and it is the backbone of many features across Office 365. Below is a list of a few features that are driven by search and used daily:
<ul>
 	<li>Enterprise Search center</li>
 	<li>Site Search</li>
 	<li>List and library search</li>
 	<li>Search Web Parts</li>
 	<li>“Shared with me” view in OneDrive for business</li>
 	<li>Usage and popularity trends</li>
 	<li>DLP, eDiscovery Searches, and Retention</li>
</ul>
Go to <a href="https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/Introduction-to-SharePoint-Online-Search/ba-p/170708">https://techcommunity.microsoft.com/t5/SharePoint-Support-Blog/Introduction-to-SharePoint-Online-Search/ba-p/170708</a> to see the remainder of the article.]]></content:encoded>
    </item>
    <item>
      <title>Overview of Auditing Options for SharePoint Online Activities</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/overview-of-auditing-options-for-sharepoint-online-activities</link>
      <pubDate>Wed, 25 Oct 2017 06:10:58 GMT</pubDate>
      <dc:creator><![CDATA[Tania M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=496</guid>
      <description><![CDATA[Our customers often request information on where certain actions, functions, and activities are...]]></description>
      <content:encoded><![CDATA[Our customers often request information on where certain actions, functions, and activities are stored/audited within SharePoint Online as well as how to access this data. This article pulls together the different scenarios and options that are currently available for auditing within SharePoint Online (this article will not include options added or removed after October 2017, unless otherwise noted):

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/auditingtable.jpg"><img width="1280" height="1581" class="alignnone wp-image-506 size-full" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/auditingtable.jpg" /></a>
<h1>Legacy Site Auditing</h1>
The following article goes into what activities are available via the legacy SharePoint auditing feature as well as how to set it up and configure it: <a href="https://support.office.com/en-us/article/Configure-audit-settings-for-a-site-collection-A9920C97-38C0-44F2-8BCB-4CF1E2AE22D2">Set-up and Configure Auditing for SharePoint Site Collection</a>

Here is a reminder of the events that are audited using the legacy site auditing as well as some examples from the report<strong>:</strong>
<ul>
 	<li><strong>Editing items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-edit.png"><img width="1024" height="31" class="alignnone size-large wp-image-515" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-edit-1024x31.png" /></a></li>
 	<li><strong>Checking out or checking in items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-cico.png"><img width="1024" height="66" class="alignnone size-large wp-image-535" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-cico-1024x66.png" /></a></li>
 	<li><strong>Moving or copying items to another location in the site</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-mc.png"><img width="1024" height="35" class="alignnone size-large wp-image-545" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-mc-1024x35.png" /></a></li>
 	<li><strong>Deleting or restoring items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-dr.png"><img width="1024" height="58" class="alignnone wp-image-555" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-dr-1024x58.png" /></a></li>
 	<li><strong>Editing content types and columns</strong>
<ul>
 	<li>See section Limited/Partial/No Auditing Further details below</li>
</ul>
</li>
</ul>
<ul>
 	<li><strong>Editing users and permissions</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-perm1.png"><img width="1024" height="30" class="alignnone size-large wp-image-566" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-perm1-1024x30.png" /></a></li>
 	<li><strong>Searching site content</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-search.png"><img width="1024" height="84" class="alignnone size-large wp-image-567" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-search-1024x84.png" /></a></li>
</ul>
<strong> </strong><strong>Things to Note: </strong>
<ul>
 	<li>Searching site content and Popularity reports are only available as part of the legacy site auditing.</li>
 	<li>As <em>"Opening or downloading documents, viewing items in lists, or viewing item properties"</em> is not available for SharePoint Online if you try to view the Content Viewing report:<a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-contentview.png"><img width="962" height="130" class="alignnone size-full wp-image-575" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec1-contentview.png" /></a>or create a custom report with only <em>"Opening or downloading documents, viewing items in lists, or viewing item properties"</em> selected, you will see this message which is expected behavior:<a href="https://msdnshared.blob.core.windows.net/media/2017/10/wrong.png"><img width="1024" height="155" class="alignnone size-large wp-image-576" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/wrong-1024x155.png" /></a></li>
</ul>
<h1>Audit logs in the Office 365 Compliance Center</h1>
The following article provides an overview of the Audit logs in the Office 365 Compliance Center, as well as basic set-up and configuration: <a target="_blank" href="https://support.office.com/en-us/article/Search-the-audit-log-in-the-Office-365-Security-Compliance-Center-0d4d0f35-390b-4518-800e-0c7ec95e946c?ui=en-US&amp;rs=en-US&amp;ad=US" rel="noopener">Overview of Office 365 Auditing<span> </span></a>

The scenarios listed below are the most common SharePoint Online events that Administrators and users need information on and can be surfaced via the Audit logs in the Office 365 Compliance Center<strong>:</strong>
<ul>
 	<li><strong>Site Creation/deletion</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-site.png"><img width="1024" height="121" class="alignnone wp-image-585 size-large" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-site-1024x121.png" /></a></li>
 	<li><strong>Editing items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-edit2.png"><img width="1024" height="187" class="alignnone size-large wp-image-595" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-edit2-1024x187.png" /></a></li>
 	<li><strong>Checking out or checking in items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-cico.png"><img width="1024" height="157" class="alignnone size-large wp-image-596" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-cico-1024x157.png" /></a></li>
 	<li><strong>Moving or copying items to another location in the site</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-move.png"><img width="1024" height="130" class="alignnone size-large wp-image-605" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-move-1024x130.png" /></a></li>
 	<li><strong>Deleting or restoring items</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-delete.png"><img width="1024" height="158" class="alignnone size-large wp-image-607" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-delete-1024x158.png" /></a></li>
 	<li><strong>Opening or downloading documents, viewing items in lists, or viewing item properties</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-view.png"><img width="1024" height="342" class="alignnone size-large wp-image-616" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-view-1024x342.png" /></a></li>
 	<li><strong>Editing content types and columns</strong>
<ul>
 	<li>See section "Limited/Partial/No Auditing Further details" below.</li>
</ul>
</li>
</ul>
<ul>
 	<li><strong>Editing users and permissions</strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-perm.png"><img width="1024" height="150" class="alignnone size-large wp-image-625" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-perm-1024x150.png" /></a></li>
 	<li><strong>Auditing AD Security groups membership/changes that are used to give permission to SPO resources</strong></li>
 	<li><a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-adsec.png"><img width="1024" height="164" class="alignnone size-large wp-image-626" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec2-adsec-1024x164.png" /></a></li>
 	<li><strong>Enable/Disable Features or changing sites Setting  </strong>
<ul>
 	<li>See section "Limited/Partial/No Auditing Further details" below.</li>
</ul>
</li>
</ul>
<ul>
 	<li><strong>Changing Tenant Settings</strong>
<ul>
 	<li>See section "Limited/Partial/No Auditing Further details" below.</li>
</ul>
</li>
</ul>
<strong>Things to Note: </strong>
<ul>
 	<li>When trying to reduce the number of activities returned by providing a user, make sure that you look for UPN and email (especially if they are different) to ensure a full set of results is retuned.</li>
 	<li>You can search the Office 365 audit log for activities that were performed within the last 90 days.</li>
 	<li>The following article goes into detail of the properties that are currently captured for the different services in Office 365:  <a target="_blank" href="https://support.office.com/en-us/article/Detailed-properties-in-the-Office-365-audit-log-ce004100-9e7f-443e-942b-9b04098fcfc3" rel="noopener">Detailed Properties in the Office 365 audit log</a></li>
</ul>
<h1>Limited/Partial /No Auditing Further details</h1>
<ul>
 	<li><strong>Adding/Editing content types and columns: </strong>For adding or editing content types and fields you won't be able to get the exact activity but searching for the page associated with Content types and Site columns in Office 365 Audit Logs will allow you to gather some information on who and when these changes could have been made. Here is an example of editing a Site Columns:<a href="https://msdnshared.blob.core.windows.net/media/2017/10/sec4-sitcol.png"><img width="1024" height="514" class="alignnone size-large wp-image-636" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec4-sitcol-1024x514.png" /></a></li>
</ul>
<ul>
 	<li><strong>User profile properties: </strong>Currently there is no auditing of add/delete/updates made to User Profile Properties</li>
 	<li><strong>Enable/Disable Features or changing sites Setting: </strong>Currently there isn't any direct auditing of features being enabled and disabled however often times when enabling features, it will result in the creation of certain list and libraries which could be used to determine timeframe etc.</li>
 	<li><strong>Changing Tenant Settings: </strong>For changing tenant setting there isn't an exact activity but searching for "admin"in the "File, folder or site" and find the items that are related to "TenantSettings.aspx".<img width="1024" height="518" class="alignnone size-large wp-image-645" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/sec4-tenant-1024x518.png" /><span>T</span>he other option is to search for the exact link. Example of the link you can use: <a href="https://contoso-admin.sharepoint.com/_layouts/15/online/TenantSettings.aspx">https://contoso-admin.sharepoint.com/_layouts/15/online/TenantSettings.aspx</a></li>
</ul>
If it is critical to determine the following event:
<ul>
 	<li>Adding/Editing content types and columns</li>
 	<li>Enable/Disable Features or changing sites Setting</li>
 	<li>Changing Tenant Settings</li>
</ul>
there are instances that support can work to get further information but we have to work within certain boundaries. The current boundaries are  as follows:
<ul>
 	<li>The activity needs to have occurred in the last 60 days though it is preferable if it is in the last 30 days.</li>
 	<li>The activity needs to be isolated to a few day timeframe</li>
</ul>
Once you have that information please engage support via a support request.  The more information you provide increases the chances of being able to successfully isolate events.
<h1>Other Auditing options</h1>
If you have developers and want to monitor sites/list/libraries more closely then custom code is an option. The following article provides a good example of how this could be accomplished: <a href="https://msdn.microsoft.com/en-us/pnp_articles/query-sharepoint-change-log-with-changequery-and-changetoken">https://msdn.microsoft.com/en-us/pnp_articles/query-sharepoint-change-log-with-changequery-and-changetoken</a>

Here is a simple example CSOM script:
<blockquote>[CmdletBinding(DefaultParameterSetName="UseCustomTermSet")]
Param
(
[Parameter(Mandatory=$true)]
$url
)

$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
$loadInfo2 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
$cred = get-credential
$clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($url)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($cred.username, $cred.password)
$clientContext.Credentials = $credentials
$site = $clientContext.Site
$clientContext.Load($site)
$clientContext.ExecuteQuery()

$changeQuery = New-Object Microsoft.SharePoint.Client.ChangeQuery($true, $true)

$changes = $site.GetChanges($changeQuery)

$clientContext.Load($changes)
$clientContext.ExecuteQuery()

foreach ($change in $changes)
{
if ($change)
{
$change
}
}</blockquote>
If you have feedback or areas that you would like to see auditing made available, please submit the feedback/requests to these locations:

<strong>Office 365 Auditing:</strong> <a href="https://office365.uservoice.com/forums/289138-office-365-security-compliance">https://office365.uservoice.com/forums/289138-office-365-security-compliance</a>

<strong>Legacy Auditing:</strong> <a href="https://sharepoint.uservoice.com/">https://sharepoint.uservoice.com</a>]]></content:encoded>
    </item>
    <item>
      <title>Null Changes Do Not Get Updated to SharePoint Online’s User Profile Application</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/null-changes-do-not-get-updated-to-sharepoint-onlines-user-profile-application</link>
      <pubDate>Tue, 17 Oct 2017 05:48:31 GMT</pubDate>
      <dc:creator><![CDATA[Toby B - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=475</guid>
      <description><![CDATA[Scenario:
John was an employee of Fabrikam, Inc until he resigned to pursue his dream of...]]></description>
      <content:encoded><![CDATA[<h1>Scenario:</h1>
John was an employee of Fabrikam, Inc until he resigned to pursue his dream of professional fly fishing.  Michael, his direct manager and the SharePoint Administrator for the Fabrikam SharePoint Online tenant, wants to remove John from showing up in his Org chart.  Michael cannot delete the user object due to company policy, so he goes to Active Directory and updates John's user account to delete his name from the manager field of the account.  He closes and goes about his day, expecting John to drop off with the next sync between his on premises Active Directory and Office365.
<h1>The Complication:</h1>
The next day, the Michael notices that John's user account is still showing up.  He checks his ADConnect logs and sees no errors, so he connects to the <a href="https://docs.microsoft.com/en-us/powershell/azure/active-directory/install-adv2?view=azureadps-2.0">Azure Active Directory PowerShell Module</a> and runs the following command:
<blockquote>
<pre>Connect-MSOLService
Get-MSOLUser -UserPrincipalName john@fabrikam.com</pre>
</blockquote>
And sees that the changes have synced. Concerned, John opens a Service Request with Microsoft Support.
<h1>Technical Background:</h1>
SharePoint Online syncs data from directory service into the User Profile Application incrementally. A change to the user object in AD will update a hash value stored in the object used by the User Profile Application to determine if that object needs to be synced.  This is a performance feature that prevents the UPA from needlessly syncing objects that have no updates to them. In the case of null value syncs, the object hash is not updated, therefore the user never syncs to UPA, and Michael's update to John's user object never takes.
<h1>Resolution</h1>
After speaking with a Microsoft Commercial Services and Support engineer, Michael is directed to make a second update to John's user object, such as adding a birthday.  Michael opts to update the display name with a flag marking John as a terminated employee.  He then waits 24 hours and checks his Org chart the next day.  This time, John is no longer to be found.  Satisfied, Michael informs the engineer that the matter is resolved.]]></content:encoded>
    </item>
    <item>
      <title>Troubleshooting the SharePoint 2013 workflow hidden library</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/troubleshooting-the-sharepoint-2013-workflow-hidden-library</link>
      <pubDate>Fri, 13 Oct 2017 05:10:28 GMT</pubDate>
      <dc:creator><![CDATA[Justin Davis - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=426</guid>
      <description><![CDATA[The SharePoint 2013 workflow framework stores workflow artifacts in an out-of-the-box hidden library...]]></description>
      <content:encoded><![CDATA[The SharePoint 2013 workflow framework stores workflow artifacts in an out-of-the-box hidden library named ‘wfsvc’. Although hidden from the SharePoint Online user interface, it is possible for user accounts to access and modify this library. This article describes how to ensure that the ‘wfsvc’ library remains in its healthy default state.
<h2>Symptoms of a misconfigured WFSVC library</h2>
Unintended modifications to the ‘wfsvc’ library can manifest any of the following symptoms.
<ul>
 	<li>Workflow instance can’t be started manually.</li>
 	<li>Workflow can’t be published in SharePoint Designer 2013.</li>
 	<li>Workflow has been published but isn’t displayed in SharePoint Designer 2013.</li>
 	<li>Workflow Settings page for the associated list or library fails to render.</li>
 	<li>Workflow instance doesn’t start automatically on Item Create or Item Change as expected.</li>
 	<li>Workflow instance transitions immediately into a fail-retry loop and eventually becomes suspended.</li>
</ul>
<h2>Accessing Library Settings</h2>
The <em>Workflows </em>site feature is activated at site scope – or equivalently at SPWeb scope - through <em>Site Settings -&gt; Manage Site Features</em>. Each site within a site collection with the activated <em>Workflows </em>feature has its own ‘wfsvc’ library. The following procedure describes how to access the Library Settings page for the ‘wfsvc’ library on a given site.
<ol>
 	<li>Append the following text to the site URL, then navigate to the resulting URL: _api/web/lists/getbytitle('wfsvc')/id
<ol>
 	<li>This step obtains the unique ID of the ‘wfsvc’ library within the specified site.</li>
 	<li>Example: <a href="https://contoso.sharepoint.com/sites/marketing/_api/web/lists/getbytitle('wfsvc')/id">https://contoso.sharepoint.com/sites/marketing/_api/web/lists/getbytitle('wfsvc')/id</a></li>
</ol>
</li>
 	<li>The resulting XML blob will contain a Globally Unique Identifier or GUID formatted similarly to this: <strong>0fc0ee2b-ddc0-4e59-93b1-dcc92e086839</strong></li>
 	<li>Append the following text to the site URL, then navigate to the resulting URL: _layouts/15/listedit.aspx?List={0fc0ee2b-ddc0-4e59-93b1-dcc92e086839}
<ol>
 	<li>Replace the GUID in this text with the GUID obtained from the previous step.</li>
 	<li>Example: <a href="https://contoso.sharepoint.com/sites/marketing/_layouts/15/listedit.aspx?List=%7b0fc0ee2b-ddc0-4e59-93b1-dcc92e086839%7d">https://contoso.sharepoint.com/sites/marketing/_layouts/15/listedit.aspx?List={0fc0ee2b-ddc0-4e59-93b1-dcc92e086839}</a></li>
</ol>
</li>
</ol>
You should now be looking at the Library Settings page for the hidden ‘wfsvc’ library.
<h2>Default versioning settings</h2>
Click Versioning Settings. Ensure the following settings are configured and modify them if necessary.
<ul>
 	<li><em>Content Approval -&gt; Require content approval for submitted items? </em>is set to <strong>No</strong>.</li>
 	<li><em>Document Version History -&gt; Create a version each time you edit a file in this document library? </em>is set to <strong>Create major versions<em>.</em></strong></li>
 	<li><em>Require Check Out -</em><em>&gt; Require documents to be checked out before they can be edited? </em>is set to <strong>No</strong>.</li>
</ul>
<h2>Default columns</h2>
The ‘wfsvc’ library should contain the following columns. Notice that none of the columns are Required. If any columns are required, edit the column to remove the “Required” attribute. Also, if any additional columns are present, delete them. If additional columns can’t be deleted, ensure that the additional columns aren’t required.

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/t1.png"><img width="883" height="514" class="size-full wp-image-436 alignleft" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/t1.png" /></a>
<h2>Default content types</h2>
Clicking <em>Advanced Settings </em>and setting <em>Allow management of content types? </em>to <strong>Yes</strong> reveals the content types associated with the ‘wfsvc’ library.

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/t2.png"><img width="823" height="209" class="alignnone size-full wp-image-445" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/t2.png" /></a>

The ‘Document’ content type shown here should be the unmodified out-of-the-box ‘Document’ content type. <strong>This is one of many reasons *never* to modify out-of-the-box site content types. </strong>Instead, <a href="https://support.office.com/en-us/article/Create-or-customize-a-site-content-type-27eb6551-9867-4201-a819-620c5658a60f">derive custom content types from these out-of-the-box content types</a> as needed.

The ‘WorkflowServiceDefinition’ content type should look like this.

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/t3.png"><img width="688" height="193" class="alignnone size-full wp-image-455" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/t3.png" /></a>

The ‘WorkflowServiceSubscription’ content type should look like this.

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/t4.png"><img width="701" height="332" class="alignnone size-full wp-image-465" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/t4.png" /></a>]]></content:encoded>
    </item>
    <item>
      <title>Overview of Classic List and Library search</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/overview-of-classic-list-and-library-search</link>
      <pubDate>Sat, 07 Oct 2017 02:10:46 GMT</pubDate>
      <dc:creator><![CDATA[Tania M]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=365</guid>
      <description><![CDATA[Contributors: Tony Radermacher[MSFT] and Tania Menice[MSFT]
Scenario:
When searching for an item...]]></description>
      <content:encoded><![CDATA[Contributors: Tony Radermacher[MSFT] and Tania Menice[MSFT]
<h1><strong>Scenario:</strong></h1>
When searching for an item in a large list/library using the "Find a file/item" the search results do not appear to return all files/items that are expected. This will generally be seen in lists and libraries that have exceeded the list view threshold.

<strong><a href="https://msdnshared.blob.core.windows.net/media/2017/10/largelist1.png"><img width="300" height="201" class="alignnone size-medium wp-image-366" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/largelist1-300x201.png" /></a></strong>
<h1><strong>How does the "Find a file/Item" work?</strong></h1>
<ol>
 	<li>The user enters a string to search for in the "Find an item".</li>
 	<li>The list control gets that query string, and sends it to the SearchAdapter.</li>
 	<li>The SearchAdapter now has the query string and the list that requested the search. It goes into that list (the ENTIRETY of the list) and finds the list item IDs that correspond to that query string, and returns the first 500 that match the query string (regardless of view/folder etc).</li>
 	<li>The list takes those 500 results and adds them to a CAML query which contains the original view information.</li>
 	<li>The list submits the CAML query and can result in only a subset of the list item IDs that are in that view and displays those to the user.</li>
</ol>
<strong>NOTE: </strong>The 500 results that are returned are not affected by current view. Instead they are the first 500 that the query finds within the <u>index</u> of the list/library.

In short, the find a file/item will search through all folders and items and return the first 500 items within the index of the library that meet the criteria, then apply the view filter which can result in only a subset of items/files being returned.
<h2><strong>Real world Scenario:</strong></h2>
Tailspin Toys has a large document library (5,000+ items) that keeps track of local vendors and what items need to be ordered. These items are also organized by year that they are ordered within folders. They require that they have certain metadata on each of these documents that track the city in which these items are located. See below for scenario visual.

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/realworld1.png"><img width="300" height="225" class="alignnone size-medium wp-image-385" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/realworld1-300x225.png" /></a>

A user is working within the 2013 folder and reviewing order forms. The 2013 folder has around 2,000 items. The user wants to search these documents by the city metadata column, so they type in "New York" into the <u>find a file</u> search box. The user notices a couple things:
<ol>
 	<li>The user knows that there are at least 1,000 items within this folder that have the "New York" metadata tag yet it is only returning 500 that have this tag.</li>
 	<li>They also notice that some of these items are from other folders.</li>
</ol>
<h2><strong> </strong><strong>Why did this happen?</strong></h2>
When the search query is run for these items, SharePoint will run the query on the entire document library and will not distinguish documents that are only in the 2013 folder that the user is working in. Since the CAML query view has a hard limit of 500 items that it will return that meet the "New York" criteria, it only returned the first 500 that it found within the document library.

<strong> </strong>
<h1><strong>How to determine if you are running into this limitation or if content isn't available in the index?</strong></h1>
<h2><strong><em>Search in the "</em></strong><strong><em>Find an item: search using the list item id.</em></strong></h2>
If you can identify one of the items in the library that is not showing when running a <u>find an item</u> search, you can do a quick test by searching for the list ID of the item. Here are some instructions for doing this.
<ol>
 	<li>You will need to first modify the view of the list/library to show the ID. Simply click on library settings &gt; Modify view &gt; Check the ID field.<a href="https://msdnshared.blob.core.windows.net/media/2017/10/id.png"><img width="300" height="75" class="alignnone size-medium wp-image-395" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/id-300x75.png" /></a></li>
 	<li>You will then see the ID of the document as you can see below:<a href="https://msdnshared.blob.core.windows.net/media/2017/10/viewid.png"><img width="300" height="36" class="alignnone wp-image-405" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/viewid-300x36.png" /></a></li>
 	<li>Next, you will want to run a search for that ID managed property by typing in the Find an Item Search using Listitemid:(x)</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2017/10/listsearch.png"><img width="300" height="53" class="size-medium wp-image-415 alignnone" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/listsearch-300x53.png" /></a>

If the item shows, that means that when you are doing the initial query, you are hitting the 500 item limitation. If it still does not show, that means that the item may not be available in the index. More information on re-indexing a list/library can be found <a href="https://support.office.com/en-us/article/Manually-request-crawling-and-re-indexing-of-a-site-a-library-or-a-list-9AFA977D-39DE-4321-B4CA-8C7C7E6D264E">here</a>.
<h2><strong><em>Search for one of the files that you are expecting from the search for the site collection.</em></strong></h2>
You can also search for the document within the <u>search center</u>. This can be search box can be located on the top right side of the document library shown below:

<a href="https://msdnshared.blob.core.windows.net/media/2017/10/searchcenter.png"><img width="300" height="136" class="alignnone size-medium wp-image-425" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/searchcenter-300x136.png" /></a>

<strong>Note: </strong>If you are doing a generic search from the Site search center there are instances that the results you are expecting to see are not returned which could be expected behavior depending on configuration or dynamic duplicate trimming.
<h1><strong>What we recommend if you are hitting this limit?</strong></h1>
<h2><em>Divide the content into multiple libraries</em></h2>
<ul>
 	<li>By dividing the content and reducing the item count within a single library, you reduce the chance of reaching the 500 item find a file search limit.
<ul>
 	<li><strong>Pros:</strong> Usability and management of the list is easier long term</li>
 	<li><strong>Cons:</strong> Initial effort needed to divide the content into separate list and libraries.</li>
</ul>
</li>
 	<li>More information on managing large lists and libraries in SharePoint can be found <a href="https://support.office.com/en-us/article/Manage-large-lists-and-libraries-in-SharePoint-b8588dae-9387-48c2-9248-c24122f07c59">here</a></li>
</ul>
<h2><em>Utilize Enterprise search.</em></h2>
<ul>
 	<li>Enterprise search utilizes a type of query that does not have the same limitation as the Find a File search query. This would prevent you from having to separate your content and is the Best Practice recommendation for searching within SharePoint Online if you are hitting these limits.
<ul>
 	<li><strong>Pros:</strong> Will return more than 500 items/files.</li>
 	<li><strong>Cons:</strong> Search results are not limited to the list/library so additional search knowledge is needed to isolate the results to the areas needed.</li>
</ul>
</li>
</ul>
<ul>
 	<li>We are in the process of creating this in a separate blog post. We will post it here when completed.</li>
</ul>
<h2><em>Create search web parts configured to search the document library in question.</em></h2>
<ul>
 	<li>If you require a custom search option that allows you to query the document library in question while also bypassing the 500-item limit, creating a custom site and putting a search web part on it that is sourced to the library in question may be a viable option.</li>
 	<li>More information on search and search web parts can be found <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsupport.office.com%2Fen-us%2Farticle%2FManage-the-Search-Center-in-SharePoint-Online-174D36E0-2F85-461A-AD9A-8B3F434A4213%3Fui%3Den-US%26rs%3Den-US%26ad%3DUS&amp;data=02%7C01%7Cpejohn%40microsoft.com%7C86c005d5137548ead97b08d4b77f785f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636335205489955409&amp;sdata=fqs7MDDAdOcvp2wsNpSb0aqOBSnaPvloOpQEKLt%2F0Cc%3D&amp;reserved=0">here.</a></li>
 	<li>We are also in the process of creating a separate blog post on how to do this. We will update this article to include a link when completed.</li>
</ul>
#TNT

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Migrating Content to SharePoint Online via PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/sposupport/migrating-content-to-sharepoint-online-via-powershell</link>
      <pubDate>Fri, 29 Sep 2017 06:26:55 GMT</pubDate>
      <dc:creator><![CDATA[Joshua Clark [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sposupport/?p=345</guid>
      <description><![CDATA[This blog comes from guest writer Mike Barrett

Migrating data to SharePoint Online is a...]]></description>
      <content:encoded><![CDATA[<em>This blog comes from guest writer Mike Barrett</em>

Migrating data to SharePoint Online is a challenging process and without a good understanding of how the process works, migration results are difficult to predict. In this blog, I’ll discuss high level details about migrating to SharePoint Online using PowerShell cmdlets that leverage the Migration API. It is possible to migrate data over Client-Side Object Model (CSOM) but for performance and throttling reasons, the migration API is preferred.
&nbsp;
At a high level, each migration type has the same steps.
<ol>
 	<li>Creation of initial package. For SharePoint migrations this a ‘prime’ package made with either Export-SPWeb or custom code. For file system data this package is created with New-SPOMigrationpackage</li>
 	<li>Converting the package so it is compatible with SPO (ConvertTo-SPOMigrationTargetedPackage)</li>
 	<li>Upload the package to Azure Storage and start a migration job (Invoke-SPOMigraitonEncryptUploadSubmit or Submit-SPOMigrationJob)</li>
 	<li>Behind the scenes the job started in step 3 will scan the data and begin importing it into SharePoint Online.</li>
</ol>
The following sections of this article break down the details and differences of the migration types as well as provide some recommendations on improving migration performance.

<a href="https://blogs.technet.microsoft.com/sposupport/2017/09/29/migrating-content-to-sharepoint-online-via-powershell#Sect1">Migrating File System Data</a>
<a href="https://blogs.technet.microsoft.com/sposupport/2017/09/29/migrating-content-to-sharepoint-online-via-powershell#Sect2">Migrating SharePoint Data</a>
<a href="https://blogs.technet.microsoft.com/sposupport/2017/09/29/migrating-content-to-sharepoint-online-via-powershell#Sect3">Improving SharePoint Data migration speeds</a>

<h2 id="sect1">Migrating File System Data</h2>
File system data migration essentially has 5 steps.
<ol>
 	<li>Ensure the destination site and library are created prior to the migration.</li>
 	<li>Create the initial package (New-SPOMigrationPackage).
<ol type="a">
 	<li>This requires an output folder where it saves the package called OutputPackagePath.</li>
</ol>
</li>
 	<li>Convert the package so it is compatible with SPO Migrations (ConvertTo-SPOMIgrationTargetedPackage).
<ol type="a">
 	<li>This consumes the package created in step 1 and outputs data to a different output path OutputPackagePath. Even though the parameter name is the same as in step 1, it is expecting a different path. In other words, the output of New-SPOMigrationPackage is the input of ConvertTo-SPOMigrationTargetedPackage, and ConvertTo-SPOMigrationTargetedPackage has its own output.</li>
</ol>
</li>
 	<li>Encrypt and upload the data to Azure storage, and start the migration job (Invoke-SPOMigraitonEncryptUploadSubmit)
<ol type="a">
 	<li>Similar to the previous commands, Invoke-SPOMigraitonEncryptUploadSubmit uses the output of the previous command, ConvertTo-SPOmigrationTargetedPackage. The output of Invoke-SPOMigraitonEncryptUploadSubmit is encrypted and uploaded automatically to Azure Storage.</li>
</ol>
</li>
 	<li>Optional: Monitor the migration job (Get-SPOMigrationJobProgress).</li>
</ol>
More information: <a href="https://support.office.com/en-us/article/Upload-on-premises-content-to-SharePoint-Online-555049c6-15ef-45a6-9a1f-a1ef673b867c?ui=en-US&amp;rs=en-US&amp;ad=US">Upload on-premises content to SharePoint Online</a>

Here is a sample script to migrate file share data and monitor the job progress:

Note: This script requires that the destination library be pre-created and two separate temp folders that are not part of the content being migrated.
<blockquote>
<pre style="font-family: Courier New;font-size: small">[CmdletBinding(DefaultParameterSetName="UseCustomTermSet")]
Param
(
 [Parameter(Mandatory=$true)]
 $sourceFiles,

[Parameter(Mandatory=$true)]
 $tempDir1,

[Parameter(Mandatory=$true)]
 $tempDir2,

[Parameter(Mandatory=$true)]
 $targetWeb,

[Parameter(Mandatory=$true)]
 $targetDocLib
)

$cred = get-credential

New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $tempDir1 -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden –ReplaceInvalidCharacters

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $tempDir1 -OutputPackagePath $tempDir2 -Credential $cred -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib

$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $tempDir2 -Credentials $cred -TargetWebUrl $targetWeb

#This next line is optional but will show the progress of the job after the data is uploaded.
 $status = Get-SPOMigrationJobProgress -TargetWebUrl $targetWeb -AzureQueueUri $job.ReportingQueueUri -Credentials $cred -JobIds $job.JobId.Guid -EncryptionParameters $job.Encryption</pre>
</blockquote>
</div>
<h2 id="sect2">Migrating SharePoint Data</h2>
As for the writing of this blog (September 25, 2017), the SharePoint Online cmdlets only support list and library level migrations. Migrations of Webs or Sites is not something our cmdlets can do now. 
<ul>
<li>It is best to begin by scanning your environment for migration blockers using the <a href="https://www.microsoft.com/en-us/download/details.aspx?id=53598">SharePoint Migration Assessment Tool (SMAT)</a></li>
<li>For information on the output of SMAT see: <a href="https://support.office.com/en-us/article/Migration-Assessment-Scan-Reports-Roadmap-5bf2619b-14fd-421c-8b84-869743f1eca2">Scan Reports Roadmap</a></li>
<li>If you don’t want to migrate using PowerShell, we have a new migration tool you can use <a href="https://support.office.com/en-us/article/Introducing-the-SharePoint-Migration-Tool-9c38f5df-300b-4adc-8fac-648d0215b5f7">Introducing the SharePoint Migration Tool</a></li>
<li>Regarding supportability, the migration API supports migrating content from SharePoint 2013 to SharePoint Online. Using the migration API to migrate content from MOSS 2007 or SharePoint 2010 is not supported. In addition, the migration API does not facilitate SPO to SPO site migrations.</li>
</ul>

<h3>Migrating Lists</h3>
<ol>
<li>The first step is to export the list using Export-SPWeb from the SharePoint Server. The export should use -nofilecompression and -itemurl parameters to ensure the migration api cmdlets can properly read the files. To improve performance of the migration, only export the most recent version by using -includeversions 1

For example, if your list is called Expenses and is located at https://SP in your on prem farm, the export command could look like this:
 
Export-SPWeb -Identity https://SP -ItemUrl '/lists/expenses' -Path c:\exportfolder -NoFileCompression -IncludeVersions 1</li>
<li>Now that the package is created, go to the SharePoint site where you want to move the list, create an empty OOB custom list. This step can be scripted if necessary.</li>
<li>Set up a machine to migrate the data to SharePoint Online by installing the <a href="https://www.microsoft.com/en-us/download/details.aspx?id=35588">SharePoint Online PowerShell Module</a></li>
<li>Once the PowerShell Module is installed, you are ready to convert the package from SharePoint On Premises Prime package to a SharePoint Online package. This is done using the <a href="https://technet.microsoft.com/en-us/library/mt143609.aspx">ConvertTo-SPOMigrationTargetedPackage </a>cmdlet. This cmdlet is used for converting list exports, library exports, but also packages created from file system data. </li>
<li>After the package data is converted to be a valid SharePoint Online package, we use Invoke-SPOMigrationEncryptUploadSubmit to encrypt the data, upload to azure storage, and start the migration job within SharePoint (technet doesn't yet have an article on this one, but it is referenced in the article: <a href="https://support.office.com/en-us/article/Upload-on-premises-content-to-SharePoint-Online-555049c6-15ef-45a6-9a1f-a1ef673b867c">Upload on-premises content to SharePoint Online</a>)</li>
<li>Once the job has started all that is needed is to wait for it to complete. If you want to check the status, you can use Get-SPOMigrationJobProgress</li>
</ol>
Here is a sample script that uses each of these commands. This script expects that $sourceFiles is set to the path where the uncompressed on-premises export package lives. Also the $tempDir1 parameter is expected to be an empty folder that is NOT under the same path as the $sourceFiles

<blockquote>
<pre style="font-family: Courier New;font-size: small">[CmdletBinding(DefaultParameterSetName="UseCustomTermSet")]
Param
(
    [Parameter(Mandatory=$true)]
    $sourceFiles,
 
    [Parameter(Mandatory=$true)]
    $tempDir1,
 
    [Parameter(Mandatory=$true)]
    $targetWeb,
 
    [Parameter(Mandatory=$true)]
    $targetListRelativePath 
)
 
$cred = get-credential
 
$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $sourceFiles -OutputPackagePath $tempDir1 -Credential $cred -TargetWebUrl $targetWeb -TargetListPath $targetListRelativePath
 
$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $tempDir1 -Credentials $cred -TargetWebUrl $targetWeb 
 
#this next line will produce some UI to show the progress of the job after its uploaded. This is optional and be removed of monitor isn't what you want.
Get-SPOMigrationJobProgress -TargetWebUrl $targetWeb -AzureQueueUri $job.ReportingQueueUri -Credentials $cred -JobIds $job.JobId.Guid -EncryptionParameters $job.Encryption</pre>
</blockquote>

<h3>Migrating Libraries</h3>
As of now, the recommended SharePoint Document Library method is Microsoft’s new SharePoint Online Migration Tool. The arcticle <a href="https://support.office.com/en-us/article/How-to-use-the-SharePoint-Migration-Tool-65462df1-42fe-40cf-88f7-e39f82f5130f">How to use the SharePoint Migration Tool</a> covers the use of this tool.

<h2 id="sect3">Improving SharePoint Data migration speeds</h2>

The most common issue or problem with SharePoint migrations I have seen is being dissatisfied with the migration speed. There are many factors to consider regarding migration speeds. The article <a href="https://support.office.com/en-us/article/SharePoint-Online-and-OneDrive-Migration-Speed-21cfb6a0-fa4c-44c6-9a39-0f45e85e371f?ui=en-US&amp;rs=en-US&amp;ad=US">SharePoint Online and OneDrive Migration Speed</a> discusses the factors that impact migration performance. 
There are a few additional things to consider.
<ol>
<li>As the article referenced above states, it is critical that you triage your data prior to migration. Here are 3 things to keep in mind when triaging your data.</li>
<ol style="a">
<li>Large lists and libraries (greater than 5k items/files) will move much more slowly than small or medium lists. The larger the list, the more slowly it will migrate. If a large list or library must be migrated, consider migrating that content last. Migrating “larger” content last helps ensure these lists and libraries do not de-rail project timelines.</li>
<li>Wide lists and libraries (many columns). Like large lists, lists with many columns migrate more slowly, since there is more data to migrate per item.  Consider migrating wide lists and libraries at the end of the project as well.</li>
<li>Lists and Libraries with Versions enabled.  When you migrate a list or library with versions enabled each item version must be migrated separately.  This means that an item with 100 versions will migrate at the same speed as 100 items with a single version.  Consider exporting the most recent item version, or the 5 most recent item versions to improve migration performance.</li>
</ol>
<li>Outside of data rationalization/triaging, using simultaneous migrations is the number one way to improve overall throughput. When migrating multiple packages at once, you can avoid throttling by using a different account for each simultaneous migration attempt. A common example would be 16 accounts migrating 16 packages at once.</li>
<li>Another common bottle neck is local network bandwidth issues. One good workaround is to use Azure VMs to migrate the export packages.</li>

]]></content:encoded>
    </item>
  </channel>
</rss>