Introduction
This web-part will help the administrators who are currently maintaining the user profiles in their organization. Since not all the properties from Azure are synced automatically to SharePoint UPS, this solution will help administrator to synchronize specific properties (default or custom) from Azure or maintained in a separate system directly to SharePoint UPS using property import. Moreover, the web-part can be configured to be used by the certain users using the SharePoint group.
Features
- Property Mapping panel provides a flexible and user-friendly way to pick the properties to be synced.
- Templates can be generated based on the ‘Property Mapping‘.
- Templates generated can be downloaded either in CSV or JSON format.
- User selection to allow you to update only the users whose properties are changed or yet to be updated.
- User selection method will allow the admin to update both
- Manually entered properties or which are maintained in a separate system
- Properties from Azure AD
- Bulk Sync will allow the admin to upload the data using the templates generated. They can also use this templates as a base for exporting the data from other system and then feed them here to update the properties.
- Access control based on SharePoint Group, not all the users can access the applictaion.
- Anytime access to the template files generated with different property set and the files uploaded for bulk update.
- Separate section to check the status of the property update. Detailed status on each property and also display the overall status.
- Azure Function to handle the property update. PnPPowershell is used in Azure Function.
- The application supports SPA. It can be used in MS Teams too.
Note: All the supporting lists were created when the web part is loaded for the first time. Whenever the web part is loaded, the supported lists were checked whether it exists or not.
Properties
- Select a library to store the templates: A document library to store all the templates generated and also the data files uploaded for bulk sync.
- Azure Function URL: Azure function URL to run the property update silently.
- Use Certificate for Azure Function authentication: The video mentioned below to setup Azure Function has different options. This setting will decide whether to use the certificate or stored credentials to communicate with SharePoint.
- Date format: Date format to be used across the entire application. Used momentJS.
- SharePoint Groups: Only the users from the configured SharePoint Groups and Site Administrator shall be allowed access.
- Use page full width: This is used when the web part is added to a site page where it has to use full width.
Note: Only the Site Administrator is allowed to update the application properties.
Preview
Source Code
The above web-part is shared with the community and is of free to use. Please click the below link to download the code and have fun.
Happy Coding…
Pingback: SharePoint PnP Dev SPFx JS SIG Call – June 4th, 2020 – Screenshot Summary - Warner Digital
Hello Sudharsan K
I watched your “Community demo – SharePoint User Profile Property Sync with SPFx and Azure Function” (https://www.youtube.com/watch?v=BaNWS0hzUpQ)
Your solution looks really awesome. 🙂
One major headache I face for quite some time:
Is there any possible solution to update the name of a mail-enabled security group in the hidden SPO User Information List of each Site Collection whenever I rename a group in AD (hybrid environment = synced from AD on-prem)?
We heavily use mail-enabled security groups to grant permissions in SharePoint Online.
I want to rename a mail-enabled security group in AD. The updated name is not synced to / reflected in SharePoint Online (user information list).
I was wondering if I could use your solution to update the “user information” of these AD groups with its Azure properties without deleting the account (c:0t.c|tenant|) from the user information list and re-share all contents where the account had access to <– which is the only solution I came across so far.
By means of PnP PowerShell cmdlets I could not manage to make that happen, e.g. update the user profile properties of group accounts of this schema c:0t.c|tenant|
If you know of any solution, I would be pleased if you let me know.
Thank you 🙂
LikeLiked by 1 person
Hi, thanks for the feedback. Let me verify and get back to you. Meanwhile, have you tried setting the AzProperty and SPProperty value and tried updating the mail-enabled security group? Is the UPS property for storing the group information is a custom property or the default?
LikeLiked by 1 person
Excellent post. I was checking constantly this blog and I’m impressed! Extremely helpful information specifically the last part 🙂 I care for such info a lot. I was seeking this particular information for a very long time. Thank you and best of luck.
LikeLiked by 2 people
Thanks for your feedback. Let me know if you have any issues or clarifications on the solution and also let me know if you are looking for any other requirement or component to be developed. Please feel free to contact me.
LikeLiked by 1 person
I’m amazed, I must say. Seldom do I come across a blog that’s both educative and interesting, and let me tell you, you’ve hit the nail on the head. The problem is an issue that too few people are speaking intelligently about. I’m very happy I came across this during my search for something relating to this.
LikeLiked by 1 person