<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>SharePoint Developer topics</title>
    <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/bd-p/SharePointDev</link>
    <description>SharePoint Developer topics</description>
    <pubDate>Sat, 07 Mar 2026 19:46:47 GMT</pubDate>
    <dc:creator>SharePointDev</dc:creator>
    <dc:date>2026-03-07T19:46:47Z</dc:date>
    <item>
      <title>Central News Help</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/central-news-help/m-p/4495723#M13967</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I’m looking for guidance on using SharePoint to distribute department updates across multiple locations, with an administrator controlling who sees each update.&lt;/P&gt;&lt;P&gt;Our organization uses a dedicated Microsoft Team for each location (27 total). A single update may need to be shared with one location, several locations, or all 27. Conceptually, I have a solid understanding of how this &lt;EM&gt;should&lt;/EM&gt; work, but I’ve run into some practical roadblocks, and Copilot hasn’t quite gotten me where I need to be.&lt;/P&gt;&lt;P&gt;Here’s the workflow I’m envisioning:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A Department Head submits an update via a Microsoft Form.&lt;/LI&gt;&lt;LI&gt;The form responses are stored in a SharePoint List on a central “News Hub” site.&lt;/LI&gt;&lt;LI&gt;An Admin reviews the submission, makes edits if necessary, selects one or more target locations, and publishes the update.&lt;/LI&gt;&lt;LI&gt;Each update includes a publish date and an expiration date, since these updates are used for monthly meetings at each location.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Based on the selected target locations, the update would either:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Display on a SharePoint site associated with the corresponding Team(s), or&lt;/LI&gt;&lt;LI&gt;Remain on a centralized News Hub as an additional page that can be embedded on a TEAM channel.&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The page itself would contain both static content and dynamic monthly updates. The updates should be visible as text only (not clickable), as I want managers to see the information without navigating away from the page.&lt;/P&gt;&lt;P&gt;The final output would be embedded into a Teams channel, allowing each location’s manager to see only the updates targeted to their specific office.&lt;/P&gt;&lt;P&gt;From my understanding, this aligns with a “hub-and-spoke” news model, using:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Microsoft Forms&lt;/LI&gt;&lt;LI&gt;SharePoint Lists&lt;/LI&gt;&lt;LI&gt;Power Automate (triggered when a list item is modified)&lt;/LI&gt;&lt;LI&gt;Logic to route or display updates to the appropriate locations&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I’d prefer to avoid building a Power App if possible, but I’m open to it if that’s the only viable solution.&lt;/P&gt;&lt;P&gt;Also, I have complete rights to the Central News Hub and the Sharepoint and Team site that I am testing on.&lt;/P&gt;&lt;P&gt;Any advice, best practices, or examples of similar implementations would be greatly appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 18:44:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/central-news-help/m-p/4495723#M13967</guid>
      <dc:creator>Welch</dc:creator>
      <dc:date>2026-02-18T18:44:03Z</dc:date>
    </item>
    <item>
      <title>Visualizing SharePoint List Relationships as ER Diagrams</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/visualizing-sharepoint-list-relationships-as-er-diagrams/m-p/4495223#M13966</link>
      <description>&lt;P&gt;In several SharePoint-based projects, I encountered the same challenge. As solutions grow, list relationships become increasingly difficult to understand.&lt;/P&gt;&lt;P&gt;This is especially true in environments with multiple lookup columns, implicit relational structures, and long-lived tenant environments where schemas evolve over time.&lt;/P&gt;&lt;P&gt;Although SharePoint provides rich metadata, there is no built-in way to visualize list relationships as an ER diagram.&lt;/P&gt;&lt;P&gt;To explore this problem, I built a small browser extension that extracts list and column metadata from a SharePoint site, detects lookup relationships, and generates PlantUML-based ER diagram code. It can also export structured definitions to Excel.&lt;/P&gt;&lt;P&gt;The goal is not only diagram generation, but improving architectural visibility, impact analysis during schema changes, documentation quality in long-term projects, and migration planning such as moving SharePoint lists to Dataverse.&lt;/P&gt;&lt;P&gt;I am particularly interested in how other developers document SharePoint list structures in larger environments.&lt;/P&gt;&lt;P&gt;The extension itself is available here:&lt;BR /&gt;https://chromewebstore.google.com/detail/sharepoint-erd-generator/nbjfcilmndpofckndmcadgfcacadgeak&lt;/P&gt;&lt;P&gt;I would appreciate any feedback or discussion around approaches to SharePoint schema documentation.&lt;/P&gt;</description>
      <pubDate>Mon, 16 Feb 2026 14:08:02 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/visualizing-sharepoint-list-relationships-as-er-diagrams/m-p/4495223#M13966</guid>
      <dc:creator>reire</dc:creator>
      <dc:date>2026-02-16T14:08:02Z</dc:date>
    </item>
    <item>
      <title>Viva Learning – SharePoint content provider configured but content not appearing in Teams</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/viva-learning-sharepoint-content-provider-configured-but-content/m-p/4490449#M13963</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I’m configuring Viva Learning in Microsoft Teams and I’m trying to use SharePoint as a content provider to publish custom learning content (Word, PowerPoint, Excel, PDF, audio, video, and web links).&lt;/P&gt;&lt;P&gt;What I’ve done so far:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Created a dedicated SharePoint site.&lt;/LI&gt;&lt;LI&gt;Waited about one hour before adding it as a SharePoint provider in Viva Learning.&lt;/LI&gt;&lt;LI&gt;After the configuration, the “Learning App Content Repository” list was automatically created.&lt;/LI&gt;&lt;LI&gt;In the document library, I uploaded:&lt;UL&gt;&lt;LI&gt;PDF files&lt;/LI&gt;&lt;LI&gt;a web link&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;I copied the folder URLs and added them to the Learning App Content Repository list.&lt;/LI&gt;&lt;LI&gt;I also followed the official procedure to create and assign a Microsoft 365 Group, as described in this documentation:&lt;/LI&gt;&lt;LI&gt;https://learn.microsoft.com/en-us/viva/learning/sharepoint-permissions&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The issue:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Almost 24 hours have passed, but I still don’t see any content in Viva Learning (Teams).&lt;/LI&gt;&lt;LI&gt;In the sync logs, I can see that synchronization jobs are running, but the content is either not appearing or only partially synchronized.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At this point, I’m not sure:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;if I’m missing something in the SharePoint provider configuration,&lt;/LI&gt;&lt;LI&gt;if the folder URLs are incorrect,&lt;/LI&gt;&lt;LI&gt;or if there’s some additional requirement related to permissions or metadata.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Has anyone experienced a similar issue or can suggest what I should check next?&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jan 2026 14:08:22 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/viva-learning-sharepoint-content-provider-configured-but-content/m-p/4490449#M13963</guid>
      <dc:creator>rosamartinamilazzo25</dc:creator>
      <dc:date>2026-01-29T14:08:22Z</dc:date>
    </item>
    <item>
      <title>Group Calendar Web Part Pop Up Color</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/group-calendar-web-part-pop-up-color/m-p/4479643#M13959</link>
      <description>&lt;P&gt;We have created a branding theme for modern sharepoint sites to match corporate colors.&amp;nbsp; When clinking on a Group Calendar event, the pop up now applies a background color we didn't have in the theme as primary or secondary.&amp;nbsp; Just seems to be auto selected by SP.&amp;nbsp; It's too dark to read the text.&amp;nbsp; I've found the Them in the classic _catalog Theme Gallery and can pull the theme into NotePad to read it but can't seem to tell which variable controls the background of pop ups.&amp;nbsp; Just need it to be white (ffffff).&amp;nbsp; Anyone have a solution?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;img /&gt;&lt;P&gt;{"name":"(Company Theme Name)","isInverted":false,"palette":{"themeDarker":"#243360","themePrimary":"#17244C","themeSecondary":"#5e6d9b","themeTertiary":"#7885af","themeLight":"#94a0c2","themeLighter":"#b3bcd6","themeLighterAlt":"#d6dbea","black":"#000000","neutralDark":"#201f1e","neutralPrimary":"#323130","neutralPrimaryAlt":"#3b3a39","neutralSecondary":"#605e5c","neutralTertiary":"#a19f9d","neutralTertiaryAlt":"#c8c8c8","neutralLight":"#eaeaea","neutralLighter":"#f4f4f4","neutralLighterAlt":"#f8f8f8","white":"#ffffff","neutralQuaternaryAlt":"#dadada","neutralQuaternary":"#d0d0d0"},"displayMode":"light","secondaryColors":{"light":[{"themePrimary":"#ffffff","backgroundColor":"#17244C"},{"themePrimary":"#6BC289"},{"themePrimary":"#ffffff","backgroundColor":"#6BC289"},{"themePrimary":"#26A9E1"},{"themePrimary":"#ffffff","backgroundColor":"#26A9E1"},{"themePrimary":"#1B75BC"},{"themePrimary":"#ffffff","backgroundColor":"#1B75BC"},{"themePrimary":"#E7EBF6"},{"themePrimary":"#ffffff","backgroundColor":"#E7EBF6"},{"themePrimary":"#ACBFE3"},{"themePrimary":"#ffffff","backgroundColor":"#ACBFE3"},{"themePrimary":"#B6BBBF"},{"themePrimary":"#ffffff","backgroundColor":"#B6BBBF"}],"dark":[]}}&lt;/P&gt;</description>
      <pubDate>Fri, 19 Dec 2025 16:56:16 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/group-calendar-web-part-pop-up-color/m-p/4479643#M13959</guid>
      <dc:creator>ShawnHopper</dc:creator>
      <dc:date>2025-12-19T16:56:16Z</dc:date>
    </item>
    <item>
      <title>Size increase of .sppkg packages with heft/v1.22</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/size-increase-of-sppkg-packages-with-heft-v1-22/m-p/4479380#M13958</link>
      <description>&lt;P&gt;After upgrading our solution to SPFx 1.22.rc-0 and switching to the new heft build toolchain our .sppkg packages have suddenly grown massively in size. They are more than double the size of the 1.21 version. Is there a reason for this? Is there anything we can do to reduce the package size back to what it was previously?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our main solution contains both web parts and list extensions, split into several bundles. Let me know what other details would be helpful.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 21:14:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/size-increase-of-sppkg-packages-with-heft-v1-22/m-p/4479380#M13958</guid>
      <dc:creator>Jason_Cole</dc:creator>
      <dc:date>2025-12-18T21:14:46Z</dc:date>
    </item>
    <item>
      <title>Is Creating Multiple ClientContext Instances Efficient in CSOM for one Site Url?</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/is-creating-multiple-clientcontext-instances-efficient-in-csom/m-p/4478740#M13957</link>
      <description>&lt;P&gt;Is it efficient to create a new&amp;nbsp;&lt;STRONG&gt;ClientContext&lt;/STRONG&gt;&amp;nbsp;for each site URL and for each query, such as getting site users, lists, groups, and group members from the&amp;nbsp;&lt;STRONG&gt;Web&lt;/STRONG&gt;&amp;nbsp;object? These queries can return a very large number of items, and CSOM does not support paging when retrieving data from Web properties. Because of this, there is a risk of memory issues.&lt;/P&gt;&lt;P&gt;In this case, is creating multiple ClientContext objects a good approach? Also, how does ClientContext work internally, and how does it handle memory and performance?&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2025 09:36:15 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/is-creating-multiple-clientcontext-instances-efficient-in-csom/m-p/4478740#M13957</guid>
      <dc:creator>Dinesh_admin</dc:creator>
      <dc:date>2025-12-17T09:36:15Z</dc:date>
    </item>
    <item>
      <title>SharePoint Online SP.FieldUserValue.get_email() always returns NULL.</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-online-sp-fielduservalue-get-email-always-returns/m-p/4477929#M13953</link>
      <description>&lt;P&gt;Since last week, SP.FieldUserValue.get_email() has been returning null for all users in Person or Group fields.&lt;BR /&gt;This occures when I use getItems method. For example:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var listName = "MyList";
var context = SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle(listName);
var query= new SP.CamlQuery();
var items = list.getItems(query);
context.load(items);
context.executeQueryAsync(()=&amp;gt;{
    var enumerator = items.getEnumerator();
    while (enumerator.moveNext()) {
    var item = enumerator.get_current();
    var fldValues = item.get_fieldValues();
    console.log(fldValues["Editor"].get_email())
}
});&lt;/LI-CODE&gt;&lt;P&gt;I haven’t been able to find any information about changes related to this behavior. We’ve been using the Email property of user fields for years without any issues, and it has always worked as expected. It's documented here:&lt;BR /&gt;https://learn.microsoft.com/ru-ru/dotnet/api/microsoft.sharepoint.client.fielduservalue.email?view=sharepoint-csom&lt;/P&gt;&lt;P&gt;Does anyone know what might have changed or why this has stopped working?&lt;/P&gt;</description>
      <pubDate>Mon, 15 Dec 2025 10:32:16 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-online-sp-fielduservalue-get-email-always-returns/m-p/4477929#M13953</guid>
      <dc:creator>vlad_nvs</dc:creator>
      <dc:date>2025-12-15T10:32:16Z</dc:date>
    </item>
    <item>
      <title>any possible to extend client ID and secret for app registered in SharePoint Online</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/any-possible-to-extend-client-id-and-secret-for-app-registered/m-p/4469316#M13951</link>
      <description>&lt;P&gt;Hi Team,&lt;BR /&gt;&lt;BR /&gt;is there any possible to extend client ID and secret for app registered in SharePoint Online?&lt;BR /&gt;&lt;BR /&gt;right now, we are not allowed to create any new app registration from SharePoint Online, only way is from Azure AD - App registration.&lt;/P&gt;&lt;P&gt;how about the client ID and secret getting expired which is created earlier using SharePoint Online?&lt;/P&gt;&lt;P&gt;is there any way like powershell script something to extend the validity of Client ID and secret for app registered in SharePoint Online?&lt;/P&gt;&lt;P&gt;if yes, please share the detailed instructions and guidelines to perform.&lt;/P&gt;&lt;P&gt;if no, then what is the possible way for next step of actions to do?&lt;BR /&gt;&lt;BR /&gt;you can reachout to me - &lt;A class="lia-external-url" href="mailto:email address removed for privacy reasons" target="_blank"&gt;mailto:email address removed for privacy reasons&lt;/A&gt; for further discussion about this issue.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thanks for the help!&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 14:24:53 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/any-possible-to-extend-client-id-and-secret-for-app-registered/m-p/4469316#M13951</guid>
      <dc:creator>FA001062506_techmahindra_caldic</dc:creator>
      <dc:date>2025-11-12T14:24:53Z</dc:date>
    </item>
    <item>
      <title>SharePoint Knowledge Agent Vs Power automate AI builder</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-knowledge-agent-vs-power-automate-ai-builder/m-p/4462871#M13947</link>
      <description>&lt;P&gt;If we want to classify, summarize and extract key info from documents uploaded/edited inside a SharePoint document libraries. seems we can do this using AI builder inside power automate which get triggered when add/edit a document or using the Knowledge Agent, mainly the "Organize this library" option.&lt;/P&gt;&lt;img /&gt;&lt;P&gt;can any one advice when you use each?&lt;/P&gt;</description>
      <pubDate>Mon, 20 Oct 2025 18:48:40 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-knowledge-agent-vs-power-automate-ai-builder/m-p/4462871#M13947</guid>
      <dc:creator>johnjohn-Peter</dc:creator>
      <dc:date>2025-10-20T18:48:40Z</dc:date>
    </item>
    <item>
      <title>Show Access and Confidentiality Message to External Users in a SharePoint Document Library</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/show-access-and-confidentiality-message-to-external-users-in-a/m-p/4461867#M13946</link>
      <description>&lt;P&gt;Is it possible to display the following text inside a SharePoint document library page so that it’s visible to external users when they open the shared link?&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Text to Display:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Access and Use&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Access is restricted to authorized representatives and internal personnel.&lt;/LI&gt;&lt;LI&gt;Users must not share their login credentials or grant access to any third party.&lt;/LI&gt;&lt;LI&gt;Uploaded and downloaded documents must relate solely to the agreed scope of work&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Disclaimer&lt;BR /&gt;&lt;BR /&gt;Use of this site constitutes acceptance of these terms. Access may be suspended or restricted if security, confidentiality, or compliance risks are identified.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Goal:&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I want this text to be clearly visible to external parties (for example, when they open a document library link to upload or view files).&lt;/P&gt;</description>
      <pubDate>Thu, 16 Oct 2025 05:16:59 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/show-access-and-confidentiality-message-to-external-users-in-a/m-p/4461867#M13946</guid>
      <dc:creator>Asit00</dc:creator>
      <dc:date>2025-10-16T05:16:59Z</dc:date>
    </item>
    <item>
      <title>Origin and Synchronization of User Profile Properties in SharePoint Online</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/origin-and-synchronization-of-user-profile-properties-in/m-p/4461125#M13942</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I’m trying to understand exactly where the User Profile properties in SharePoint Online come from and how (or if) they are synchronized from Microsoft Entra ID (formerly Azure AD).&lt;/P&gt;&lt;P&gt;I’ve extracted a complete list of the properties I see in my tenant, for example:&lt;/P&gt;&lt;P&gt;AboutMe&lt;BR /&gt;AccountName&lt;BR /&gt;ADGuid&lt;BR /&gt;Assistant&lt;BR /&gt;CellPhone&lt;BR /&gt;Country&lt;BR /&gt;DelveFlags&lt;BR /&gt;Department&lt;BR /&gt;Fax&lt;BR /&gt;FirstName&lt;BR /&gt;HomePhone&lt;BR /&gt;LastName&lt;BR /&gt;Manager&lt;BR /&gt;msOnline-ObjectId&lt;BR /&gt;Office&lt;BR /&gt;...&lt;BR /&gt;SPS-Responsibility&lt;BR /&gt;SPS-Interests&lt;BR /&gt;SPS-PictureExchangeSyncState&lt;BR /&gt;SPS-UserPrincipalName&lt;BR /&gt;WorkEmail&lt;BR /&gt;WorkPhone&lt;/P&gt;&lt;P&gt;I would like to understand:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Which of these come from Microsoft Entra ID,&lt;BR /&gt;Which are automatically synchronized to the User Profile Application (UPA),&lt;BR /&gt;And which are local SharePoint or Delve properties, not connected to Entra.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;So far, I’ve only found this official documentation:&lt;BR /&gt;About user profile synchronization in SharePoint Online&lt;/P&gt;&lt;P&gt;However, it only lists a limited subset of properties (“The following Microsoft Entra user attributes are synced to the UPA…”), and it does not cover all the properties present in the UPA schema.&lt;/P&gt;&lt;P&gt;I’m looking for a more complete or up-to-date reference — or at least an official explanation as to why there isn’t a public, full mapping between Entra ID and UPA.&lt;/P&gt;&lt;P&gt;Does anyone know if there is an official complete list or a way to verify the actual source of each property (Entra ID, Exchange, Delve, local SharePoint, etc.)?&lt;/P&gt;&lt;P&gt;Thanks in advance for any clarification or useful resources!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Oct 2025 10:34:28 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/origin-and-synchronization-of-user-profile-properties-in/m-p/4461125#M13942</guid>
      <dc:creator>rosamartinamilazzo25</dc:creator>
      <dc:date>2025-10-13T10:34:28Z</dc:date>
    </item>
    <item>
      <title>Sharepoint SitePage</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-sitepage/m-p/4458765#M13940</link>
      <description>&lt;P&gt;Using Graph API .&lt;/P&gt;&lt;P&gt;I want to access a specific Sitepage , I need to know the Sitepageid, based on /pages it will return all Page id within the Site,&lt;/P&gt;&lt;P&gt;Is there a way to get the Sitepage id directtly based on the Sitepage name.aspx ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to detect files changes on that Sitepage and&amp;nbsp; be able to downlaod the files from the sitepage ? How can we do that using Graph API&lt;/P&gt;&lt;P&gt;I know we can detect files changed at the drive level within a site. I am looking for Sitepage can we do the same ?what API can be used ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Oct 2025 07:34:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-sitepage/m-p/4458765#M13940</guid>
      <dc:creator>Girish_venkataramanappa</dc:creator>
      <dc:date>2025-10-03T07:34:07Z</dc:date>
    </item>
    <item>
      <title>Repository structure and CI/CD pipeline for SPFx WebParts</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/repository-structure-and-ci-cd-pipeline-for-spfx-webparts/m-p/4455079#M13939</link>
      <description>&lt;P&gt;I am currently developing SPFx WebParts for a single SharePoint site. In our development repository, I have:&lt;/P&gt;&lt;P&gt;A shared SPFx library&lt;/P&gt;&lt;P&gt;Six separate WebParts, each in its own solution, organized as follows:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;library&lt;/LI&gt;&lt;LI&gt;webparts&lt;UL&gt;&lt;LI&gt;webpart1&lt;/LI&gt;&lt;LI&gt;webpart2&lt;/LI&gt;&lt;LI&gt;webpart3 ...&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;At the moment, on Azure DevOps, everything is managed in a&amp;nbsp;&lt;STRONG&gt;single repository&lt;/STRONG&gt;. To build and deploy a WebPart, I check Git for changes, build the WebPart, and then deploy it.&lt;/P&gt;&lt;P&gt;I am considering whether, for the CI/CD pipeline, it might be more efficient to adopt&amp;nbsp;&lt;STRONG&gt;a separate repository for each WebPart&lt;/STRONG&gt;, allowing independent pipelines for each solution.&lt;/P&gt;&lt;P&gt;In this scenario, I have two main questions:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Is it considered a best practice to separate WebParts into distinct repositories?&lt;/LI&gt;&lt;LI&gt;How should the shared SPFx library be managed in this case? I assume it would need a&amp;nbsp;&lt;STRONG&gt;separate repository&lt;/STRONG&gt;, but I would like guidance on the best way to integrate it with the WebParts.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Thank you for your support.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Sep 2025 12:50:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/repository-structure-and-ci-cd-pipeline-for-spfx-webparts/m-p/4455079#M13939</guid>
      <dc:creator>rosamartinamilazzo25</dc:creator>
      <dc:date>2025-09-18T12:50:07Z</dc:date>
    </item>
    <item>
      <title>Prevent specific user from downloading and syncing documents from specific site/s?</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/prevent-specific-user-from-downloading-and-syncing-documents/m-p/4453953#M13938</link>
      <description>&lt;P&gt;inside SharePoint online can we prevent specific user from downloading and syncing documents from specific site/s?&lt;/P&gt;</description>
      <pubDate>Sun, 14 Sep 2025 21:43:01 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/prevent-specific-user-from-downloading-and-syncing-documents/m-p/4453953#M13938</guid>
      <dc:creator>johnjohn-Peter</dc:creator>
      <dc:date>2025-09-14T21:43:01Z</dc:date>
    </item>
    <item>
      <title>Having issues with SPFx isolation build lately</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/having-issues-with-spfx-isolation-build-lately/m-p/4450218#M13933</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;We have a customer using an isolation version of our product and when we built a new version last week, it stopped working with below error. Unfortunately, once we install the new build, replacing with the older ones that used to work stopped working and showing the same error.&lt;/P&gt;&lt;P&gt;"authorize:90 Unsafe attempt to initiate navigation for frame with origin 'https://xxxx.sharepoint.com' from frame with URL 'https://login.microsoftonline.com/..........'. The frame attempting navigation of the top-level window is sandboxed, but the flag of 'allow-top-navigation' or 'allow-top-navigation-by-user-activation' is not set"&lt;/P&gt;&lt;P&gt;We would really appreciate how to handle these errors.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vijay&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 02:18:08 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/having-issues-with-spfx-isolation-build-lately/m-p/4450218#M13933</guid>
      <dc:creator>Vijaydeep</dc:creator>
      <dc:date>2025-09-02T02:18:08Z</dc:date>
    </item>
    <item>
      <title>Error 'Cannot get value for projected field...' when users without email were set to the field</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/error-cannot-get-value-for-projected-field-when-users-without/m-p/4443074#M13925</link>
      <description>&lt;P&gt;&lt;STRONG&gt;SharePoint List Setup&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I have a simple list with a Person field&amp;nbsp;&lt;STRONG&gt;Approvers&lt;/STRONG&gt; which allows multiple selections. One of the list items has a user set to the &lt;STRONG&gt;Approvers &lt;/STRONG&gt;but the said user does not have email configured.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;REST API used&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;https://xxx.sharepoint.com/sites/xxx/_api/Web/Lists(guid'xxx')/items/?$filter=ID eq xxx&amp;amp;$select=*,Approvers%2FEMail&amp;amp;$expand=Approvers&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;REST API response&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Error&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
    "odata.error": {
        "code": "-2146232832, Microsoft.SharePoint.SPException",
        "message": {
            "lang": "en-US",
            "value": "Cannot get value for projected field Approvers_x005f_EMail."
        }
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;Graph API used&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;https://graph.microsoft.com/v1.0/sites/xxx/lists/xxx/items?$filter=startswith(fields/Title, 'xxx')&amp;amp;$expand=fields($select=Title,Approvers)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Graph API response&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Success&lt;/P&gt;&lt;LI-CODE lang="json"&gt;"Approvers": [
    {
        "LookupId": 1,
        "LookupValue": "User A",
        "Email": ""
    },
    {
        "LookupId": 2,
        "LookupValue": "User B",
        "Email": ""
    },
    {
        "LookupId": 3,
        "LookupValue": "User C",
        "Email": "******@outlook.com"
    }
]&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;Question&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Is there anyway we can tell the REST API to react the same way as Graph API, instead of failing, return the data as-is?&lt;/P&gt;</description>
      <pubDate>Thu, 14 Aug 2025 01:36:13 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/error-cannot-get-value-for-projected-field-when-users-without/m-p/4443074#M13925</guid>
      <dc:creator>IvanTioh</dc:creator>
      <dc:date>2025-08-14T01:36:13Z</dc:date>
    </item>
    <item>
      <title>SharePoint Online Public CDN CSS File Not Updating</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-online-public-cdn-css-file-not-updating/m-p/4443071#M13924</link>
      <description>&lt;P&gt;We updated a CSS file that is loaded on our site via the SharePoint Online Public CDN, but the changes are still not reflecting. It has already been 24 hours since the update.&lt;/P&gt;&lt;P&gt;Steps we’ve tried so far:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Saved the file&lt;/LI&gt;&lt;LI&gt;Replaced the file&lt;/LI&gt;&lt;LI&gt;Checked out and checked in&lt;/LI&gt;&lt;LI&gt;Renamed the file and reverted the name&lt;/LI&gt;&lt;LI&gt;Cleared browser cache&lt;/LI&gt;&lt;LI&gt;Performed a hard refresh&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Has anyone else experienced this issue? How long does it typically take for changes to appear? I’ve seen some posts mentioning it can take days.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Aug 2025 01:19:13 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/sharepoint-online-public-cdn-css-file-not-updating/m-p/4443071#M13924</guid>
      <dc:creator>jmaranon24</dc:creator>
      <dc:date>2025-08-14T01:19:13Z</dc:date>
    </item>
    <item>
      <title>Connection was forcibly closed by TPC RST packet from Microsoft servers</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/connection-was-forcibly-closed-by-tpc-rst-packet-from-microsoft/m-p/4439668#M13921</link>
      <description>&lt;P&gt;We are experiencing intermittent but frequent connection terminations during communication with SharePoint Online via REST API.&lt;BR /&gt;After several internal investigations, we were unable to identify any root cause on our end.&lt;BR /&gt;We have observed unexpected connection resets originating from Microsoft servers, specifically during or after the TLS handshake.&lt;BR /&gt;Packet trace including the TCP RST.&amp;nbsp;&lt;BR /&gt;This packet appears to be an unsolicited TCP RST sent from Microsoft side.&lt;/P&gt;&lt;LI-CODE lang=""&gt;396	19.654862	SharePoint IP	Client IP	TLSv1.2	357	Application Data
397	19.655259	SharePoint IP	Client IP	TLSv1.2	1013	Application Data
398	19.655344	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 402]
399	19.655376	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 402]
400	19.655387	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 402]
401	19.655376	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 402]
402	19.655387	SharePoint IP	Client IP	TLSv1.2	1448	Application Data
403	19.655476	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 405]
404	19.655495	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 405]
405	19.656337	SharePoint IP	Client IP	TLSv1.2	1212	Application Data
406	19.656367	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 408]
407	19.656412	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 408]
408	19.656412	SharePoint IP	Client IP	TLSv1.2	1070	Application Data
409	19.657129	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 411]
410	19.657192	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 411]
411	19.657292	SharePoint IP	Client IP	TLSv1.2	992	Application Data
412	19.657325	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 414]
413	19.657435	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460 [TCP PDU reassembled in 414]
414	19.657523	SharePoint IP	Client IP	TLSv1.2	992	Application Data
415	19.659729	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
416	19.660127	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
417	19.660216	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
418	19.660317	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
419	19.660318	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
420	19.661139	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
421	19.661235	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
422	19.662135	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
423	19.662212	SharePoint IP	Client IP	TCP	60	443 → Random Port [RST] Seq=... Win=0 Len=0
424	19.665417	Client IP	SharePoint IP	TCP	1514	443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460
425	19.766395	Client IP	SharePoint IP	TCP	1514	[TCP Retransmission] 443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460
426	20.367148	Client IP	SharePoint IP	TCP	1514	[TCP Retransmission] 443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460
427	21.167413	Client IP	SharePoint IP	TCP	1514	[TCP Retransmission] 443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460
428	21.179165	Client IP	SharePoint IP	TCP	1514	[TCP Spurious Retransmission] 443 → Random Port [ACK] Seq=... Ack=... Win=4194560 Len=1460
429	21.773431	Client IP	SharePoint IP	TCP	1514	443 [SYN, ECE, CWR] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;TLS Handshake Behavior:&amp;nbsp;&lt;BR /&gt;.NET-based applications on our server report the following exception:&lt;BR /&gt;System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---] System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.&lt;BR /&gt;&lt;BR /&gt;We have included packet traces showing:&amp;nbsp;&lt;BR /&gt;- Successful TCP and TLS handshakes&lt;BR /&gt;- Encrypted application data sent by our client&lt;BR /&gt;- Acknowledge packets from your server&lt;BR /&gt;- Connection then abruptly closed by a TCP RST without any visible application-layer error&lt;BR /&gt;&lt;BR /&gt;Environment &amp;amp; Testing:&lt;BR /&gt;- Operating System: Windows Server 2022&lt;BR /&gt;- Frameworks: .NET 6 / .NET 8&lt;BR /&gt;- Connectivity: REST API calls to SharePoint Online (no sync, no OneDrive, no hybrid setup), TLS1.2 used and set up based on Microsoft recommendations&lt;BR /&gt;&lt;BR /&gt;Observations:&lt;BR /&gt;- Approximately 70% of API calls fail intermittently&lt;BR /&gt;- Issue occurs across multiple SharePoint sites and folders&lt;BR /&gt;- Affects all users (admin, regular users, etc.).&lt;BR /&gt;- No firewall, hardware, or configuration changes have occurred on the affected server&lt;BR /&gt;- Disabling security software had no impact&lt;BR /&gt;- Temporary switch to IPv6 improved stability for ~24 hours before the issue returned&lt;BR /&gt;- New development:&lt;BR /&gt;&amp;nbsp; &amp;nbsp;- We moved some applications to a separate VPS — those are working correctly.&lt;BR /&gt;&amp;nbsp; &amp;nbsp;- However, a similar issue has now started occurring on a completely different server hosted by a customer,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; indicating this may not be isolated to a single environment or IP.&lt;BR /&gt;&lt;BR /&gt;Is this expected behavior under specific policies (e.g., IP reputation, rate limiting, User-Agent filtering)?&amp;nbsp;&lt;BR /&gt;Could there be a misconfiguration or conditional access policy silently blocking some connections?&amp;nbsp;&lt;BR /&gt;Is this possibly related to throttling or regional backend issues?&lt;BR /&gt;&lt;BR /&gt;Thank you for any support in this case.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Aug 2025 08:14:55 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/connection-was-forcibly-closed-by-tpc-rst-packet-from-microsoft/m-p/4439668#M13921</guid>
      <dc:creator>ICOK-Severin</dc:creator>
      <dc:date>2025-08-04T08:14:55Z</dc:date>
    </item>
    <item>
      <title>SPFX 1.21.1 in monorepo - utility module could not be exported</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/spfx-1-21-1-in-monorepo-utility-module-could-not-be-exported/m-p/4437779#M13914</link>
      <description>&lt;P&gt;I am trying to migrate multiple projects to monorepo. I need to migrate some common utilities functions in a common module.&lt;/P&gt;&lt;P&gt;There is an export warning that the module has no exports, while it does has.&lt;/P&gt;&lt;P&gt;Running npm run spfx1:build works fine. But when I do npm run spfx1:serve it throws a warning&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang=""&gt;export 'DemoUtilities' (imported as 'DemoUtilities') was not found in 'utilities-library/utils' (module has no exports)&lt;/LI-CODE&gt;&lt;P&gt;Opening the a SharePoint page online, it errors with missing exports.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you point me to possible solutions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a very simple OOB SPFX solution structure:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;utilities-library&lt;/P&gt;&lt;P&gt;- src&amp;nbsp;&lt;/P&gt;&lt;P&gt;-- utils.ts&lt;/P&gt;&lt;P&gt;- index.ts&lt;/P&gt;&lt;P&gt;- package.json&lt;/P&gt;&lt;P&gt;- tsconfig.json&lt;/P&gt;&lt;P&gt;spfx1&lt;/P&gt;&lt;P&gt;- config&lt;/P&gt;&lt;P&gt;- sharepoint&lt;/P&gt;&lt;P&gt;- src&lt;/P&gt;&lt;P&gt;-- skipped for brevity&lt;/P&gt;&lt;P&gt;- gulpfile.js&lt;/P&gt;&lt;P&gt;- package.json&lt;/P&gt;&lt;P&gt;- tsconfig.json&lt;/P&gt;&lt;P&gt;package.json&lt;/P&gt;&lt;P&gt;tsconfig.base.json&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Specifics for per files&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;utilities-library -&amp;gt; package.json&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
    "name": "utilities-library",
    "version": "1.0.0",
    "main": "lib/index.js",
    "types": "lib/index.d.ts",
    "scripts": {
        "start": "node index.js",
        "test": "echo \"test\""
    },
    "type": "module",
    "workspaces": [
        "true"
    ],
    "devDependencies": {
        "typescript": "^5.3.5"
    }
}&lt;/LI-CODE&gt;&lt;P&gt;utilities-library -&amp;gt;tsconfig.json&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
  "compilerOptions": {
    "composite": true,
    "declaration": true,
    "outDir": "lib"
  },
  "include": ["**/*.ts"]
}&lt;/LI-CODE&gt;&lt;P&gt;utilities-library -&amp;gt;index.ts&lt;/P&gt;&lt;LI-CODE lang="typescript"&gt;export { DemoUtilites } from './src/utils';&lt;/LI-CODE&gt;&lt;P&gt;utilities-library -&amp;gt; utils.ts&lt;/P&gt;&lt;LI-CODE lang="typescript"&gt;import { ISPFXContext, spfi, SPFx } from "@pnp/sp";
import "@pnp/sp/webs";
import "@pnp/sp/lists";

export const DemoUtilites = {
  checkListExists: async (
    listTitle: string,
    context: ISPFXContext
  ): Promise&amp;lt;boolean&amp;gt; =&amp;gt; {
    const sp = spfi().using(SPFx(context));
    return new Promise&amp;lt;boolean&amp;gt;((resolve) =&amp;gt; {
      sp.web.lists
        .getByTitle(listTitle)()
        .then(() =&amp;gt; {
          resolve(true);
        })
        .catch((error) =&amp;gt; {
          if (!(error?.status === 404)) {
            console.log(`Error checking list ${listTitle}`, error);
          }
          resolve(false);
        });
    });
  }
}&lt;/LI-CODE&gt;&lt;P&gt;spfx1 -&amp;gt; gulpfile.js&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;'use strict';

const build = require('@microsoft/sp-build-web');
const path = require("path");

build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);

build.configureWebpack.mergeConfig({
  additionalConfiguration: (generatedConfig) =&amp;gt; {
    generatedConfig.resolve = generatedConfig.resolve || {};
    generatedConfig.resolve.alias = {
      ...(generatedConfig.resolve.alias || {}),
      'utilities-library': path.resolve(__dirname, '../utilities-library/lib'),
      'utilities-library/utils': path.resolve(__dirname, '../utilities-library/lib/utils')
    };
    return generatedConfig;
  }
});

var getTasks = build.rig.getTasks;
build.rig.getTasks = function () {
  var result = getTasks.call(build.rig);

  result.set('serve', result.get('serve-deprecated'));

  return result;
};

build.initialize(require('gulp'));&lt;/LI-CODE&gt;&lt;P&gt;spfx1 -&amp;gt; package.json&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
...
"dependencies": {
    "@microsoft/decorators": "1.21.1",
    "@microsoft/sp-core-library": "1.21.1",
    "@microsoft/sp-dialog": "1.21.1",
    "@microsoft/sp-listview-extensibility": "1.21.1",
    "@pnp/sp": "^4.12.0",
    "utilities-library": "^1.0.0",
    "office-ui-fabric-react": "^7.204.1",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "tslib": "2.3.1"
  },
...
}&lt;/LI-CODE&gt;&lt;P&gt;spfx1 -&amp;gt; tsconfig.json&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
  "extends": "../tsconfig.base.json",
  "compilerOptions": {
    "rootDir": "src",
    "outDir": "lib"
  },
  "include": ["src/**/*.ts", "src/**/*.tsx"],
  "references": [
    { "path": "../utilities-library" }
  ]
}&lt;/LI-CODE&gt;&lt;P&gt;root -&amp;gt; package.json&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
  "name": "monorepo-test",
  "workspaces": [
    "spfx1",
    "utilities-library"
  ],
  "scripts": {
    "spfx1:build": "gulp build -f ./spfx1/gulpfile.js --workspace spfx1",
    "spfx1:clean": "gulp clean -f ./spfx1/gulpfile.js --workspace spfx1",
    "spfx1:serve": "gulp serve -f ./spfx1/gulpfile.js --workspace spfx1 --nobrowser",
    "spfx1:bundle": "gulp bundle -f ./spfx1/gulpfile.js --workspace spfx1",
    "spfx1:pkg": "gulp package-solution -f ./spfx1/gulpfile.js --workspace spfx1",
    "spfx1:prod": "gulp build -f ./spfx1/gulpfile.js --workspace spfx1 --ship &amp;amp; gulp bundle -f ./spfx1/gulpfile.js --workspace spfx1 --ship &amp;amp; gulp package-solution -f ./spfx1/gulpfile.js --workspace spfx1 --ship",

    "utilities-library:build": "tsc --project utilities-library/tsconfig.json",
    "utilities-library:watch": "npm run utilities-library:build -- --watch",
    "clean:node": "rm -rf **/node_modules"
  },
  "devDependencies": {
    "npm-run-all": "^4.1.5"
  }
}&lt;/LI-CODE&gt;&lt;P&gt;root -&amp;gt; tsconfig.base.json&lt;/P&gt;&lt;LI-CODE lang="json"&gt;{
  "extends": "./node_modules/@microsoft/rush-stack-compiler-5.3/includes/tsconfig-web.json",
  "compilerOptions": {
    "target": "es5",
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "jsx": "react",
    "declaration": true,
    "sourceMap": true,
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "outDir": "lib",
    "inlineSources": false,
    "noImplicitAny": true,
    "rootDir": ".",
    "baseUrl": ".",  // Important for path mapping
    "paths": {
      "utilities-library/*": [
        "utilities-library/lib/*"
      ]
    },
    "typeRoots": [
      "./node_modules/@types",
      "./node_modules/@microsoft"
    ],
    "types": [
      "webpack-env"
    ],
    "lib": [
      "es5",
      "dom",
      "es2015.collection",
      "es2015.promise"
    ]
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx"
  ]
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Jul 2025 13:33:18 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/spfx-1-21-1-in-monorepo-utility-module-could-not-be-exported/m-p/4437779#M13914</guid>
      <dc:creator>Kiril Iliev</dc:creator>
      <dc:date>2025-07-29T13:33:18Z</dc:date>
    </item>
    <item>
      <title>SPFX call gets error "interaction required" after turning on function's System Assigned Identity</title>
      <link>https://techcommunity.microsoft.com/t5/sharepoint-developer/spfx-call-gets-error-quot-interaction-required-quot-after/m-p/4433389#M13909</link>
      <description>&lt;P&gt;I have an spfx web part that is connected an Azure Function. All was working until I turned on the System Assigned Identity for the function. Below is my configuration while it was working:&lt;/P&gt;&lt;P&gt;Function app: contoso-fn&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;App Service authentication enabled&lt;/LI&gt;&lt;LI&gt;Unauthenticated requests get a 302 HTTP code&lt;/LI&gt;&lt;LI&gt;Microsoft is the identity provider, with app registration "contoso-fn-auth"&lt;/LI&gt;&lt;LI&gt;It allows token audiences from api://&amp;lt;id-contoso-fn-auth&amp;gt; and from &amp;lt;my-tenant&amp;gt;.sharepoint.com&lt;/LI&gt;&lt;LI&gt;Allowed client applications include&amp;nbsp;&lt;STRONG&gt;08e18876-6177-487e-b8b5-cf950c1e598c&lt;/STRONG&gt;&amp;nbsp;and &amp;lt;id-contoso-fn-auth&amp;gt;&lt;/LI&gt;&lt;LI&gt;CORS:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/answers/questions/4374948/spfx-making-call-to-azure-function-gets-error-inte" target="_blank"&gt;https://portal.azure.com&lt;/A&gt;&amp;nbsp;and https://&amp;lt;my-tenant&amp;gt;.sharepoint.com&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;App registration "contoso-fn-auth" (used above when setting up identity provider)&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Authentication &amp;gt; Web &amp;gt; Redirect URI:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/answers/questions/4374948/spfx-making-call-to-azure-function-gets-error-inte" target="_blank"&gt;https://contoso-fn-xxxxx.azurewebsite.net/.auth/login/aad/callback&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;ID tokens issued&lt;/LI&gt;&lt;LI&gt;only accounts in the tenant can access this API&lt;/LI&gt;&lt;LI&gt;API permissions &amp;gt; contoso-fn-auth &amp;gt; user_impersonation ; Delegated; Status: granted for tenant&lt;/LI&gt;&lt;LI&gt;Expose an API: Scopes api://&amp;lt;id-contoso-fn-auth&amp;gt;/user_impersonation&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The code in the SPFX to request the function is something like this:&lt;/P&gt;&lt;LI-CODE lang="typescript"&gt;this.context.aadHttpClientFactory 
.getClient('&amp;lt;id-contoso-fn-auth')
.then((client: AadHttpClient): void =&amp;gt; { client.get(&amp;lt;url-to-the-fn&amp;gt;/api/upload)...});&lt;/LI-CODE&gt;&lt;P&gt;In the SharePoint Admin Center, under Advanced &amp;gt; API Access, the user_impersonation permission is approved for contoso-fn.&lt;/P&gt;&lt;P&gt;I then changed the Function app identity, turning on "system assigned", as I needed the function to authenticate against the Azure Blob Client, and now I'm getting the following error:&lt;/P&gt;&lt;P&gt;interaction_required: Seamless single sign on failed for the user. This can happen if the user is unable to access on premises AD or intranet zone is not configured correctly&lt;/P&gt;&lt;P&gt;I read something about turning on the function's system assigned identity affecting how I requests tokens using the aadHttpClientFactory, but I haven't been too successful in finding how to solve the issue (including internet search and asking several LLMs).&lt;/P&gt;&lt;P&gt;I don't need my function to have user context (I could send that from the spfx) but I need this to work without any redirects. I would appreciate help to be able to call the function from the spfx seamlessly, while keeping the function secured with Microsoft identity.&lt;/P&gt;&lt;P&gt;(porting from a &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/answers/questions/4374948/spfx-making-call-to-azure-function-gets-error-inte" target="_blank"&gt;different forum&lt;/A&gt;, as requested)&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2025 14:08:40 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sharepoint-developer/spfx-call-gets-error-quot-interaction-required-quot-after/m-p/4433389#M13909</guid>
      <dc:creator>WFC</dc:creator>
      <dc:date>2025-07-15T14:08:40Z</dc:date>
    </item>
  </channel>
</rss>

