0

In our company we have departments. Each department has is own SharePoint site. However the departments list should be unique for all the sites.

Is there a way to share the "Departments" list between multiple SharePoint sites?

The sites are communication sites and are independent sites (not sub-sites)

PS. The "managed metadata" are not a real solution for us, because the department list should be sync with the database, and is harder and doesn't worth to sync managed metadata in our view. So, we would like to really have a shared list.

1 Answer 1

1

You cannot share a list between multiple sites. Buy you could consider other options.

Term store

Note: this solution was proposed before the original author edit his question to specify I did not want to use term store.

The solution is to use the Managed Metadata (also called taxonomy or term store). It's available for both SharePoint Server (via Central Administration and a new service application of type managed metadata service) or SharePoint Online (via SharePoint Admin center > Content services > Term store). By default there is already a term Department!

term store

Then, on each site you have to create a new site column linked to a term of the Managed Metadata.

site column

You can check this article: How to Use Managed Metadata Within SharePoint Online

Business Connectivity Service

Business Connectivity Services, or BCS, is a feature to connect to external data sources like SQL Server. However, Business Connectivity Services in Microsoft 365 is a deprecated feature and will be disabled on January 2024. So, this not an option anymore.

Source: Manage Business Connectivity Service Applications

Power Automate cloud flow

You can create a Power Automate cloud flow to synchronize data from a list to another list. Considering you have a referential list A on Site 1, you can create a flow (scheduled, like everyday or when an item is added or edited) to recreate the same item to Site 2, Site 3, etc.

PowerShell PnP

You can also create a PowerShell script with PowerShell PnP to read list data from one site to recreate on another site. Script can be executed from a computer on-demande or with Azure Functions (and start by a scheduled Power Automate cloud flow)

Code could be something like that:

$sourceList = "ReferentialList"
$sourceConnection = Connect-PnPOnline -Url $siteUrlSource -Interactive -ReturnConnection:$True
$targetConnection = Connect-PnPOnline -Url $siteUrlTarget -Interactive -ReturnConnection:$True

$batch = New-PnPBatch -Connection $targetConnection

$sourceItems = Get-PnPListItem -List $sourceList -Query $camlQuery -Connection $sourceConnection
foreach ($item in $sourceItems) {
    $values = @{
        "Title" = $item.Title
    }
    Add-PnPListItem -Connection $targetConnection -List $sourceList -Values $values -Batch $batch
}

Invoke-PnPBatch -Batch $batch -Connection $targetConnection
4
  • The problem with managed metadata is that I can't sync them. The tools like FME does not work with managed metadata, I can't sync it with a database. I need a shared list.
    – serge
    Nov 7, 2023 at 9:32
  • Ok, you did not mention this in the first place so my answer is inadequate now. I will edit it.
    – jleture
    Nov 7, 2023 at 10:49
  • in other words, there is no way to share a list, only diuplicate it in every site.
    – serge
    Nov 8, 2023 at 12:53
  • No, it's not possible. But as you are using a third-party software, maybe SharePoint list as a datasource is not the right solution.
    – jleture
    Nov 8, 2023 at 13:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.