<?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>Microsoft Office Sharepoint</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/victorbutuza/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/victorbutuza/feed.xml</link>
    <description>All my posts are provided &amp;quot;AS IS&amp;quot; with no warranties, and confer no rights.</description>
    <lastBuildDate>Thu, 28 Feb 2019 09:18:45 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Spell it out (or why my Everyone But External Users or Everyone gets removed automatically from a modern Site group membership)</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/spell-it-out-or-why-my-everyone-but-external-users-or-everyone-gets-removed-automatically-from-a-modern-site-group-membership</link>
      <pubDate>Thu, 28 Feb 2019 08:24:34 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1385</guid>
      <description><![CDATA[This is a recurrent one mostly coming from experienced SharePoint Admins that see their configured...]]></description>
      <content:encoded><![CDATA[This is a recurrent one mostly coming from experienced SharePoint Admins that see their configured security settings are not persisted over night.

Scenario:

You have <a href="https://support.office.com/en-us/article/create-a-team-site-in-sharepoint-ef10c1e7-15f3-42a3-98aa-b5972711777d">created a modern team site in SharePoint.</a>

As a SharePoint Admin you go into the site permissions and add "Everyone but external users" claim to the group members. Later on when you verify the permissions ( or after getting messages from disgruntled users that are not part of the group) you see that the claim is no longer there. Set it again ( maybe you forgot to add it) , it disappears again.

Before you question your mental health as to whether you are remembering it correctly, here is one explanation:

From: <a href="https://support.office.com/en-us/article/Learn-about-Office-365-groups-b565caa1-5c40-40ef-9915-60fdb2d97fa2">"Learn about O365 Modern Groups"</a>

<em>"When creating a group you'll need to decide if you want it to be a <strong>private group</strong> or a <strong>public group</strong>. </em>

<em>Content in a <strong>public group</strong> can be seen by anybody in your organization, and anybody in your organization is able to join the group. Content in a <strong>private group can only be seen by the members of the group</strong> and people who want to join a private group have to be approved by a group owner."</em>

So if you have a private group (and by default they're private) and add any Everyone claim … what type of privacy is that please ???

<span>The platform enforces this and removes the Everyone (…) claims from private groups if it finds them, to be in sync with the fact that the group stays private and does not potentially "leak" information.</span>

In other words: <strong>private group + everyone allowed = logic fail  </strong>(you're doing it wrong).

If you want a modern team site with <strong>Everyone</strong> (with or without externals) in it, make sure you create a <strong>public group</strong>.

Wondering how to switch?

<a href="https://support.office.com/en-us/article/make-office-365-groups-public-or-private-c0a991b3-9c56-48b8-bf0f-05530f836b1b">Here</a>

P.S. Word of advice for the Admins still using /user.aspx to manage modern team site permissions:

Out of the box Modern Team site permissions are dictated through the associated O365 Group membership.

V]]></content:encoded>
    </item>
    <item>
      <title>What's with these weird account GUIDs ? 00000003-0000-0ff1-ce00-000000000000</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/whats-with-these-weird-account-guids-00000003-0000-0ff1-ce00-000000000000</link>
      <pubDate>Mon, 07 Jan 2019 16:35:45 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1375</guid>
      <description><![CDATA[It may happen from time to time to stumble upon weird GUID accounts in your logs. They will resemble...]]></description>
      <content:encoded><![CDATA[It may happen from time to time to stumble upon weird GUID accounts in your logs. They will resemble something like &lt;guid&gt;@00000003-0000-0ff1-ce00-000000000000.

For those of you that haven't published an app/ set-up a S2S trust relationship, well, never seen this , here is the explanation.

From https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/create-and-use-access-tokens-in-provider-hosted-high-trust-sharepoint-add-ins

"The audience principal for a SharePoint Add-in is always 00000003-0000-0ff1-ce00-000000000000"

This basically means that whenever you see this, it will have something to do with an internal SharePoint object (audience, app principal etc...)

If it's a"pseudo user account" like GUID 00000003-0000-0ff1-ce00-000000000000

DO NOT DELETE IT. you will end up in a world of sorrow, pain and errors.]]></content:encoded>
    </item>
    <item>
      <title>Save Modern sites as template, yes we can but should we?</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/save-modern-sites-as-template-yes-we-can-but-should-we</link>
      <pubDate>Fri, 30 Nov 2018 09:47:55 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1365</guid>
      <description><![CDATA[NO.

Saving Modern sites (while do-able) is not supported.

The first hint that it's not...]]></description>
      <content:encoded><![CDATA[NO.

Saving Modern sites (while do-able) is not supported.

The first hint that it's not supported is the fact that the link "Save This Site As Template" is missing. And as history shows us, if it's missing , it's missing for a reason: It's not supported to save the site as template. Think about Publishing sites, Communication sites, etc.

<a href="https://support.office.com/en-us/article/create-and-use-site-templates-60371b0f-00e0-4c49-a844-34759ebdd989"> https://support.office.com/en-us/article/create-and-use-site-templates-60371b0f-00e0-4c49-a844-34759ebdd989</a>

(Expand Resolve Common problems and scroll down to the section "<strong>The Save site template command is not available"</strong>)

And the what other types of sites do not support save as template , see here for the sites that have publishing features enabled by default ( and therefore not save-able as template)

<a href="https://support.office.com/en-us/article/about-publishing-enabled-site-templates-b4fa3dcd-f4cc-4820-aa73-fed106965725">https://support.office.com/en-us/article/about-publishing-enabled-site-templates-b4fa3dcd-f4cc-4820-aa73-fed106965725</a>

Now, Modern sites: somewhat not obvious but here it is :

<a href="https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/modern-experience-customizations-customize-sites">https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/modern-experience-customizations-customize-sites</a>

Shortening bolding and coloring the relevant parts:

<strong>What's <span style="color: #ff0000">not supported on "modern" team sites</span>:</strong>
<ul>
 	<li><span style="color: #ff0000"><strong>Custom master pages</strong></span>; more extensive branding will be supported later using alternative options.</li>
 	<li>Changing "modern" site to use "classic" seattle.master or oslo.master.</li>
 	<li><span style="color: #ff0000"><strong>Custom page layouts</strong></span>; we are looking to have support for multiple canvases in the future.</li>
 	<li><span style="color: #ff0000"><strong>Enabling</strong></span> site or site collection scoped<span style="color: #ff0000"><strong> publishing features</strong></span>; technically, features can be currently activated, but this is not a supported configuration.</li>
 	<li><strong><span style="color: #ff0000">User custom actions</span> / custom JavaScript</strong>; there will be a more controlled way to embed JavaScript on the pages through <a href="https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/overview-extensions">SharePoint Framework Extensions</a>.</li>
 	<li><strong>"Modern" subsites</strong>; subsites created on "modern" team sites use the "classic" experience, but you can change the user experience to be similar to "modern" sites.</li>
 	<li>Ability to control available subsite template options.</li>
 	<li><strong>"Classic" publishing features</strong> (WCM).</li>
 	<li><strong>Activation of <span style="color: #ff0000">community feature</span> or creation of community subsites under "modern" team site</strong>.</li>
 	<li><strong><span style="color: #ff0000">Saving site as a template</span>.</strong> Also not supported for sub sites in site collections which root site is a group associated team site or communication site.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Why do some of the lists and libraries I create only work in classic experience in SharePoint Online?</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/why-do-some-of-the-lists-and-libraries-i-create-only-work-in-classic-experience-in-sharepoint-online</link>
      <pubDate>Mon, 05 Nov 2018 08:45:53 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1345</guid>
      <description><![CDATA[You've surely been there:

In your SharePoint Online environment, you have set-up the modern...]]></description>
      <content:encoded><![CDATA[You've surely been there:

In your SharePoint Online environment, you have set-up the modern experience to apply to all the sites and lists.

You create a document library and, naturally expect to see the new experience applied. Still you will be redirected to the classic experience.

Why?

The answer is here :<a target="_blank" href="https://support.office.com/en-us/article/differences-between-the-new-and-classic-experiences-for-lists-and-libraries-30e1aab0-a5cc-4363-b7f2-09e2ae07d4dc" rel="noopener">Differences between the new and classic experiences for lists and libraries</a>

Still going through the document, you cannot find a specific reason so, here's how to read this:

Point 1: <strong>Features available only in the classic experience :</strong> This basically means that if you expect one of the listed features in Modern Experience, you will simply NOT have them (for example, location based views will NOT work in Modern).

Point 2: <strong>Features available only in the classic experience</strong> : Customizations

<span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">List templates other than </span>
<ul>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Document Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Custom List, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Announcements List, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Links List, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Picture Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Asset Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Promoted Links, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Form Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Wiki Page Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Asset Library, </span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Promoted Links,</span></li>
 	<li><span style="float: none;background-color: #ffffff;color: #2f2f2f;font-family: 'Segoe UI','Segoe UI Web','Segoe UI Symbol','wf_segoe-ui_normal','Helvetica Neue','BBAlpha Sans','S60 Sans',Arial,sans-serif;font-size: 1em;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 1.5;text-align: left;text-decoration: none;text-indent: 0px">Wiki Page Library (Site Pages/Pages).</span></li>
</ul>
Which basically reads : List templates other than ... Are available only in classic experience (or the other way around, <strong>the list templates other than... do not support modern experience</strong>)

Now what happens if I do have one of the features named in the first part of the article ?

The answer reads : you will be automatically redirected to the list's classic experience (described in part 2).

Point 1:<strong>Features that cause the new experience to automatically switch to the classic experience</strong>

Example, you add one publishing column to your custom list, you get the classic experience , even if before you had your list working fine in modern.

Point 2:<strong>Features that cause the new experience to automatically switch to the classic experience : </strong>Customizations

<span>List templates other than </span>...(the list above)

Which reads:<strong> if you create a list different than the supported template(above), you will get redirected to the classic experience.</strong>

Sure, you can specify in the document library setting under Advanced-&gt;Experience to have the lists that do not support the modern experience to always use the new experience.

But this at the same time will mean that the list will render as a simple list and the items will be simple list items.

Let's take for example a task list.

By default you will get in the tasks list default view a view of the entries, and a view on the timeline of the tasks.

Set the list to new experience and the list will render as a simple list.

Click any on the items in the list and the items will be downloaded instead of opening in the custom edit form associated with the list.

Conclusion:

Forcing the modern experience on a list that does not support it is ... well... not supported.

Use the lists as they are. Modern in modern and classic in classic.

&nbsp;

&nbsp;

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>DO NOT RENAME ITEMS FROM SHAREPOINT IN QUICK ACCESS ON WINDOWS 10</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/do-not-rename-items-from-sharepoint-in-quick-access-on-windows-10</link>
      <pubDate>Tue, 02 Oct 2018 09:49:07 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1325</guid>
      <description><![CDATA[I cannot stress it enough.

Seriously  DO NOT!

A bit of going back in time. Remember the days...]]></description>
      <content:encoded><![CDATA[I cannot stress it enough.

Seriously  DO NOT!

A bit of going back in time. Remember the days of Windows 7 or 8 where you had in Windows Explorer a nice group of Favorites for your quick access ?  Most of the people using SharePoint ( and I mean here users not administrators)  would add the document libraries for sync and quick access to that collection.

But the issue that presented itself was: how to distinct between Documents (from site A)  and Documents (from site B) ? Back then the answer was simple: just rename the favorite.

Now, the things have changed in a way that's probably not that obvious to the user.

The Quick Access feature  has two operating modes that merge into a list of locations for quick access:

Mode 1: aggregates a list of frequently accessed folders and puts them in the list

Mode 2: you can decide on "Pinning/Unpinning Items" to the Quick access list

In the above scenario, say you have Documents from Site A and Documents From Site B pinned and you want to differentiate them by renaming them.

Go back to the CAPS : DO NOT!

The reason behind it is that <span style="text-decoration: underline"><strong>you will be renaming the item itself</strong> </span>not the reference to it (in this case the document library in SharePoint, but the same applies to the folders).

Now if you have a little bit of experience, you know what happens when a network share is renamed. In the SharePoint world the implications are more dramatic and even devastating in the Modern Group Sites.

The reason for it is some of the document libraries names are internally bound to the modern group / or site so renaming the Documents Library will result in an error when you try to access the Group Files from Outlook. Of course the document library will continue to work (when accessed from SharePoint) but other components external to SharePoint in the Office 365 space will fail.

Among those, Outlook, Teams,Planner etc.

Not to mention that if you do have permissions and rename a document library in SharePoint, it will probably break the other user's link to it.

&nbsp;

https://support.office.com/en-us/article/troubleshoot-mapped-network-drives-that-connect-to-sharepoint-online-ef399c67-4578-4c3a-adbe-0b489084eabe

&nbsp;

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Can I fix my event receivers in SharepointOnline ?</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/can-i-fix-my-event-receivers-in-sharepointonline</link>
      <pubDate>Wed, 12 Sep 2018 09:45:04 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1305</guid>
      <description><![CDATA[I was looking for a solution. Found none documented , therefore, here it is.

Consider the...]]></description>
      <content:encoded><![CDATA[I was looking for a solution. Found none documented , therefore, here it is.

Consider the following scenario: you have a document library where some of the events you are expecting seem not to be working. You troubleshoot your list and find out that some of the event receivers you are expecting to see, are not present.

First a bit of theory about event receivers:

Event receivers are code parts responsible to responding to <a href="https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff407568(v%3doffice.14)">Sharepoint Events</a> Out of the box, we have the following <a href="https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff408183%28v%3doffice.14%29">Event Receivers </a>objects defined. Taking for example one of the events and the receiver attached, the <a href="https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ms461317%28v%3doffice.14%29">ItemAdded </a>Event from the list will be handling the asynchronous event that occurs after an item is added. Of course, the event receiver is bound to a specific Event <a href="https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff408183%28v%3doffice.14%29">host </a> (like web, List, etc)

In the specific case of the List Item Event Receiver, you can write your own code that makes use of this event, to perform certain operations on the list item once it is added.

Take a look at one example here : <a href="https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff650021(v%3dpandp.10)">https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff650021(v%3dpandp.10) </a>

Now, some of the content types that come with Sharepoint have specific event receivers defined, take for example Document sets, so for instance if you look at the content type schema, you will have:
<pre> &lt;XmlDocument NamespaceURI="https://schemas.microsoft.com/sharepoint/events"&gt;
        &lt;spe:Receivers xmlns:spe="https://schemas.microsoft.com/sharepoint/events"&gt;
         &lt;receiver&gt;
            &lt;name&gt;DocumentSet ItemUpdated&lt;/name&gt;
            &lt;synchronization&gt;Synchronous&lt;/synchronization&gt;
            &lt;type&gt;10002&lt;/type&gt;
            &lt;sequenceNumber&gt;100&lt;/sequenceNumber&gt;
            &lt;assembly&gt;Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/assembly&gt;
            &lt;class&gt;Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetEventReceiver&lt;/class&gt;
            &lt;data /&gt;
            &lt;filter /&gt;
          &lt;/receiver&gt;
          &lt;receiver&gt;
            &lt;name&gt;DocumentSet ItemAdded&lt;/name&gt;
            &lt;synchronization&gt;Synchronous&lt;/synchronization&gt;
            &lt;type&gt;10001&lt;/type&gt;
            &lt;sequenceNumber&gt;100&lt;/sequenceNumber&gt;
            &lt;assembly&gt;Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/assembly&gt;
            &lt;class&gt;Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetItemsEventReceiver&lt;/class&gt;
            &lt;data /&gt;
            &lt;filter /&gt;
          &lt;/receiver&gt;
        &lt;/spe:Receivers&gt;
      &lt;/XmlDocument&gt;</pre>
Now, the point of this blog is what happens when one item receiver is missing and how to fix it (especially in SharePoint Online)

If the Item Added, Item Adding receivers are missing in the list, if you defined shared fields between your document set and the documents inside it, they will not get updated on the documents you upload them in the document set.

How to check ? ( all below focuses on CSOM which you can use both for Onprem as well as SharePoint Online )

First: you need to<a href="https://blogs.technet.microsoft.com/victorbutuza/2017/11/23/the-first-steps/"> connect to Sharepoint via CSOM</a>

Second, get the list from the context and verify the event Receivers :

$listname=Read-Host "List Name?"

$web = $ctx.Web
$ctx.load($web)
$lists = $web.Lists
$ctx.Load($lists)
$list= $lists.GetByTitle($listName)
$eventReceivers= $list.EventReceivers
$ctx.Load($eventReceivers)
$contenttypes= $list.ContentTypes
$ctx.load($contenttypes)
$ctx.ExecuteQuery()

List the EventReceivers for documentset:

$eventReceivers |?{$_.ReceiverClass.Contains("DocumentSet")}|Select ReceiverName

you should have ( do not worry about the duplicates, they usually are separated by the sequence number , which determines the order of the processing ):

DocumentSet ItemAdding
DocumentSet ItemUpdating
DocSetItemsEventReceiver ItemUpdating
DocumentSet ItemAdded
DocumentSet ItemUpdated

if you do not have them all, here is how to create it again from the content type schema:

List The content Types:

$contenttypes|Select Name,Id

ex:

Name Id
---- --
Document 0x01010074090E8FFF4F644EB3AC065E3F94F342
Folder 0x012000F8059D5035FA21448F186A9FD10B1013
CustomDocset 0x0120D5200062A5F8B91F542F49A2686D22301BFC2900E80FC9A0A7102043863BF925619EEF4A

Choose the Document Set Content Type (the one that starts with 0x0120D520 because Web ContentType Document Set id is always 0x0120D520 and all the child content types be it at web level or list level will start with this, <a href="https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ms452896(v%3Doffice.14))">https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ms452896(v%3Doffice.14))</a>

$DocsetCT = $contenttypes.GetByID("0x0120D5200062A5F8B91F542F49A2686D22301BFC2900E80FC9A0A7102043863BF925619EEF4A")

$ctx.Load($DocsetCT)
$ctx.ExecuteQuery()

At this point we have the schema which contains the event receivers :

$DSSchema= [xml]$DocsetCT.SchemaXml
$DSSchema.ContentType.XmlDocuments.XmlDocument[2].receivers.Receiver

Name : DocumentSet ItemUpdated
Synchronization : Synchronous
Type : 10002
SequenceNumber : 100
Url :
Assembly : Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
Class : Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetEventReceiver
Data :
Filter :

.....

All we need to do now is to re-add the missing event receiver from the schema (as you would with a custom event receiver):

for example if the first one (0 in our enumeration) is missing:

$eventReceiver= $DSSchema.ContentType.XmlDocuments.XmlDocument[2].receivers.Receiver[0]

&nbsp;

$erD= new-object Microsoft.SharePoint.Client.EventReceiverDefinitionCreationInformation
$erd.EventType = [Microsoft.SharePoint.Client.EventReceiverType]($eventreceiver.Type)
$erD.ReceiverName = $eventreceiver.Name
$erD.ReceiverAssembly = $eventreceiver.Assembly
$erD.ReceiverClass = $eventreceiver.Class
$erD.Synchronization = [Microsoft.SharePoint.Client.EventReceiverSynchronization]($eventreceiver.Synchronization)
$erd.SequenceNumber =$eventreceiver.SequenceNumber

$list.EventReceivers.add($erD)
$list.Update()
$ctx.ExecuteQuery()

<hr />

Note 1:

&lt;#Sample Code is provided for the purpose of illustration only and is not intended to be used in a production environment.
THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
We grant You a nonexclusive, royalty-free right to use and modify the Sample Code and to reproduce and distribute the object code form of the Sample Code, provided that.
You agree:
(i) to not use Our name, logo, or trademarks to market Your software product in which the Sample Code is embedded;
(ii) to include a valid copyright notice on Your software product in which the Sample Code is embedded; and
(iii) to indemnify, hold harmless, and defend Us and Our suppliers from and against any claims or lawsuits, including attorneys’ fees, that arise or result from the use or distribution of the Sample Code.#&gt;

Note 2: usually you should not have to do this, but should you find yourself in need , here you go.

Note 3: be advised that some event receivers have dependencies so removing these event receivers might remove other event receivers.

&nbsp;

Some more resources on Remote Event Receivers: <a href="https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/event-receiver-and-list-event-receiver-sharepoint-add-in">https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/event-receiver-and-list-event-receiver-sharepoint-add-in</a>]]></content:encoded>
    </item>
    <item>
      <title>Why don't I get alerted when an item is added ?</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/why-dont-i-get-alerted-when-an-item-is-added</link>
      <pubDate>Mon, 18 Jun 2018 15:16:06 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1285</guid>
      <description><![CDATA[A fair question if you set to be notified when a document is added on a document library and you...]]></description>
      <content:encoded><![CDATA[A fair question if you set to be notified when a document is added on a document library and you notice that you are not notified on additions.

Ready to try everything you set to be alerted on all changes and you then DO get notified .

Hm.

This happens if the document is checked out on ADD ( either you have a required field or the document stays checked out to the user uploading it until explicitly checked in) .

What will then occur is that the alert on ADD will NEVER be sent because the alerting engine deliberately ignores checked out items ( nobody will be able to see them until they are checked in and the user that uploaded the file, well does he really need to be notified ?)

So what happens in this scenario is, you will only get alerts on changes (edits), which is why you should select ALL Changes.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Word Quick Parts and Sharepoint</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/word-quick-parts-and-sharepoint</link>
      <pubDate>Fri, 08 Jun 2018 12:27:48 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1255</guid>
      <description><![CDATA[Here is a nice and neat feature to surface some document properties that usually live in the...]]></description>
      <content:encoded><![CDATA[Here is a nice and neat feature to surface some document properties that usually live in the Document information panel:

Quick Parts. For those of you raising an eyebrow (whaa?) , <a href="https://support.office.com/en-us/article/use-quick-parts-and-autotext-in-word-7a527697-058f-4967-b8f1-aae0774e4813">here's</a> a primer :

The feature is not new and quite useful especially in the newer versions of Office where, to get to the SharePoint Document Properties, you need to go through File information.

Now if you are asking yourself where is this information stored, like in all the Office modern documents, the information is committed in the document itself (see <a href="https://support.microsoft.com/en-us/help/840817/how-to-extract-information-from-office-files-by-using-office-file-form">here</a> why and how)  at the time when the document is uploaded/downloaded through a feature called <a href="https://blogs.technet.microsoft.com/wbaer/2014/08/29/document-property-promotion-and-demotion-overview-and-considerations/">promotion/demotion.</a>

As you would expect, we store the items in the document itself based on the field references and these are GUIDs ( they are based on the field definition , that means the field ID in the list itself and the SourceId for the field, which can be a reference to a managed metadata field, the web etc.)

Now one question that pops into mind is : will the Quick Part update itself if I copy the document into another site collection?

The answer is... sometimes.

It will update if the IDs are the same (see <a href="https://www.wictorwilen.se/when-a-guid-is-not-really-unique-i-m-looking-at-you-sharepoint">here</a> why the web Id can be the same or different).If the referenced ids are different, you will have to remove the Quick Part and re-add it after copy in order to re-establish the correct relationship.

Hope this helps clarifying some questions.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>The first steps</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/the-first-steps</link>
      <pubDate>Thu, 23 Nov 2017 16:35:03 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1245</guid>
      <description><![CDATA[The very first steps to connect to Sharepoint Online with Powershell are:

 	load the required...]]></description>
      <content:encoded><![CDATA[The very first steps to connect to Sharepoint Online with Powershell are:
<ul>
 	<li>load the required dlls for your operation ( you will need at a minimum Microsoft.SharePoint.CLient.dll and Microsoft.SharePointClient.Runtime.dll)</li>
 	<li>establish a client context to the site where you want to work</li>
</ul>
Loading the dlls:

if you installed <a href="https://www.microsoft.com/en-gb/download/details.aspx?id=35588">Sharepoint Online Management Shell </a>:

&nbsp;
<h5><span style="color: #ff4500;font-family: Lucida Console">$programFiles</span><span style="font-family: Lucida Console"> </span><span style="color: #a9a9a9;font-family: Lucida Console">=</span><span style="font-family: Lucida Console"> </span><span style="color: #a9a9a9;font-family: Lucida Console">[</span><span style="color: #008080;font-family: Lucida Console">environment</span><span style="color: #a9a9a9;font-family: Lucida Console">]::</span><span style="font-family: Lucida Console">getfolderpath(</span><span style="color: #8b0000;font-family: Lucida Console">"programfiles"</span><span style="font-family: Lucida Console">)</span></h5>
<h5><span style="color: #0000ff;font-family: Lucida Console">add-type</span><span style="font-family: Lucida Console"> </span><span style="color: #000080;font-family: Lucida Console">-Path</span><span style="font-family: Lucida Console"> </span><span style="color: #ff4500;font-family: Lucida Console">$programFiles</span><span style="color: #8a2be2;font-family: Lucida Console">'\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll'</span></h5>
<h5><span style="color: #0000ff;font-family: Lucida Console">add-type</span><span style="font-family: Lucida Console"> </span><span style="color: #000080;font-family: Lucida Console">-Path</span><span style="font-family: Lucida Console"> </span><span style="color: #ff4500;font-family: Lucida Console">$programFiles</span><span style="color: #8a2be2;font-family: Lucida Console">'\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll' </span></h5>
&nbsp;

if you downloaded the <a href="https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/16.1.6906.1200">NuGet package </a>and extracted it to C:\Tools
<h5></h5>
<h5><span style="color: #0000ff;font-family: Lucida Console">add-type</span><span style="font-family: Lucida Console"> </span><span style="color: #000080;font-family: Lucida Console">-path</span><span style="font-family: Lucida Console"> </span><span style="color: #8a2be2;font-family: Lucida Console">C:\Tools\microsoft.sharepointonline.csom.16.1.6906.1200\lib\net40-full\microsoft.sharepoint.client.dll</span></h5>
<h5><span style="color: #0000ff;font-family: Lucida Console">add-type</span><span style="font-family: Lucida Console"> </span><span style="color: #000080;font-family: Lucida Console">-path</span><span style="font-family: Lucida Console"> </span><span style="color: #8a2be2;font-family: Lucida Console">C:\Tools\microsoft.sharepointonline.csom.16.1.6906.1200\lib\net40-full\microsoft.sharepoint.client.Runtime.dll</span></h5>
&nbsp;

Establishing a context:

&nbsp;
<h5><span style="color: #00008b;font-family: Lucida Console">if</span><span style="font-family: Lucida Console"> (</span><span style="color: #a9a9a9;font-family: Lucida Console">[</span><span style="color: #008080;font-family: Lucida Console">string</span><span style="color: #a9a9a9;font-family: Lucida Console">]::</span><span style="font-family: Lucida Console">IsNullOrEmpty(</span><span style="color: #ff4500;font-family: Lucida Console">$url</span><span style="font-family: Lucida Console">)){</span><span style="color: #ff4500;font-family: Lucida Console">$url</span><span style="color: #a9a9a9;font-family: Lucida Console">=</span><span style="color: #0000ff;font-family: Lucida Console">Read-Host</span><span style="font-family: Lucida Console"> </span><span style="color: #8b0000;font-family: Lucida Console">"Site Url?"</span><span style="font-family: Lucida Console">} </span></h5>
<h5><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="font-family: Lucida Console"> </span><span style="color: #a9a9a9;font-family: Lucida Console">=</span><span style="font-family: Lucida Console"> </span><span style="color: #0000ff;font-family: Lucida Console">new-object</span><span style="font-family: Lucida Console"> </span><span style="color: #8a2be2;font-family: Lucida Console">Microsoft.SharePoint.Client.ClientContext</span><span style="font-family: Lucida Console">(</span><span style="color: #ff4500;font-family: Lucida Console">$url</span><span style="font-family: Lucida Console">) </span></h5>
<h5><span style="color: #00008b;font-family: Lucida Console">if</span><span style="font-family: Lucida Console"> (</span><span style="color: #a9a9a9;font-family: Lucida Console">[</span><span style="color: #008080;font-family: Lucida Console">string</span><span style="color: #a9a9a9;font-family: Lucida Console">]::</span><span style="font-family: Lucida Console">IsNullOrEmpty(</span><span style="color: #ff4500;font-family: Lucida Console">$c</span><span style="font-family: Lucida Console">)) {</span><span style="color: #ff4500;font-family: Lucida Console">$c</span><span style="color: #a9a9a9;font-family: Lucida Console">=</span><span style="color: #0000ff;font-family: Lucida Console">Get-Credential</span><span style="font-family: Lucida Console"> </span><span style="color: #000080;font-family: Lucida Console">-Message</span><span style="font-family: Lucida Console"> </span><span style="color: #8b0000;font-family: Lucida Console">"Please enter the site collection Administrator credentials"</span><span style="font-family: Lucida Console"> } </span></h5>
<h5><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">Credentials </span><span style="color: #a9a9a9;font-family: Lucida Console">=</span><span style="font-family: Lucida Console"> </span><span style="color: #0000ff;font-family: Lucida Console">new-object</span><span style="font-family: Lucida Console"> </span><span style="color: #8a2be2;font-family: Lucida Console">Microsoft.SharePoint.Client.SharePointOnlineCredentials</span><span style="font-family: Lucida Console">(</span><span style="color: #ff4500;font-family: Lucida Console">$c</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">UserName</span><span style="color: #a9a9a9;font-family: Lucida Console">,</span><span style="color: #ff4500;font-family: Lucida Console">$c</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">Password) </span><span style="color: #000080;font-family: Lucida Console">-Verbose</span><span style="font-family: Lucida Console"> </span></h5>
<h5><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">ExecuteQuery() </span></h5>
All you need to do now is to access the site or web, the lists inside it, the list elements, etc.

example:
<h5><span style="color: #ff4500;font-family: Lucida Console">$web</span><span style="font-family: Lucida Console"> </span><span style="color: #a9a9a9;font-family: Lucida Console">=<span><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console"><span style="color: #000000">Web</span> </span></span></span></h5>
<h5><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">load(</span><span style="color: #ff4500;font-family: Lucida Console">$web</span><span style="font-family: Lucida Console">) </span></h5>
<h5><span style="color: #ff4500;font-family: Lucida Console">$ctx</span><span style="color: #a9a9a9;font-family: Lucida Console">.</span><span style="font-family: Lucida Console">ExecuteQuery() </span></h5>]]></content:encoded>
    </item>
    <item>
      <title>Setting up PowerShell for SPO</title>
      <link>https://docs.microsoft.com/archive/blogs/victorbutuza/setting-up-powershell-for-spo</link>
      <pubDate>Thu, 23 Nov 2017 16:25:40 GMT</pubDate>
      <dc:creator><![CDATA[Victor Butuza [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/victorbutuza/?p=1235</guid>
      <description><![CDATA[The very first thing you want to do is to get the required SharepointClient dlls.

You have the...]]></description>
      <content:encoded><![CDATA[The very first thing you want to do is to get the required SharepointClient dlls.

You have the option of either getting them from the Sharepoint Online Management Shell install folder with the caveat that you will have a limited number of dlls to interact with Sharepoint.

If you want to go for the dev version( and all the dlls you can use), you can download the Sharepoint CSOM dlls from either
<ol>
 	<li>Nuget</li>
</ol>
<a href="https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/16.1.6906.1200">https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/16.1.6906.1200</a>

2. Sharepoint Online CSOM official page

<a href="https://www.microsoft.com/en-us/download/details.aspx?id=42038&amp;fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True&amp;e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True&amp;751be11f-ede8-5a0c-058c-2ee190a24fa6=True">https://www.microsoft.com/en-us/download/details.aspx?id=42038&amp;fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True&amp;e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True&amp;751be11f-ede8-5a0c-058c-2ee190a24fa6=True</a>

The difference between the two is that the Nuget version is more frequently updated than the official page so you will benefit from the most recent available methods

Note:

if you download the nuget package (recommended as is more recent) , rename the file from .nupkg to .zip, enter the archive and retrieve the dlls under

\microsoft.sharepointonline.csom.16.1.6906.1200.zip\lib\net45

Save them under C:\tools\

You are done!]]></content:encoded>
    </item>
  </channel>
</rss>