Consistently extend SharePoint with the SharePoint Framework
Extending modern SharePoint experiences
SharePoint Framework is a new development model that organizations can use to extend SharePoint to their specific needs. It is the only development model that developers can use to extend modern SharePoint experiences. If your organization is transitioning or planning to transition to modern experiences, you can already prepare, by building your solution using the SharePoint Framework because they work both in classic and modern SharePoint sites.
Using the SharePoint Framework developers can build client-side web parts as well as extensions that allow them to add new functionality to SharePoint user interface in a supported and future-proof way. By building extensions, developers can add menu items to list toolbars, control how fields are rendered or present extra information in page header and footer.
Until recently, only web parts could have been deployed to all sites in a tenant. SharePoint Framework extensions had to be activated on each site separately. And while developers and administrators could build scripts to automate the installation, it was still hard for them to ensure that the particular extension was deployed consistently across the whole tenant.
Tenant-wide deployment of SharePoint Framework extensions
In version 1.6 of the SharePoint Framework, we’ve added support for tenant-wide deployment of SharePoint Framework extensions. When building SharePoint Framework solutions, developers can decide if the particular solution should be deployed globally or not. If so, then when adding the solution package to the app catalog, administrators will be informed that the particular solution package will activate one or more extensions across all sites.
After deploying the solution package, extensions that were chosen to be activated globally, are enabled on all sites.
How it works
When adding extensions to their SharePoint Framework projects, developers can choose if they should be activated on specific sites or all sites across the tenant. If the particular extension should be added globally, developers need to add an XML file specifying the ID of the extension as well as properties with which it should be activated. Following is an example how that XML looks like:
When deploying the package to the app catalog, the information from the XML is added to the Tenant Wide Extensions list located in the app catalog site collection. You can access that by clicking Site contents link from the left menu.
When loading sites, SharePoint retrieves the information from the Tenant Wide Extensions list and loads extensions as specified in the list. When you change the properties of the particular extension or on which type of sites it should be activated, it will be reflected consistently across the whole tenant.
Following video shows the steps on using the custom footer showed in this article, which is available on GitHub and you can deploy it to your tenant for testing using the included sppkg file. This footer uses Office UI Fabric to provide a consistent look and feel aligned with the out-of-the-box SharePoint experience. Feel free to use this solution or the provided source code any way you prefer in your own solutions.
Tenant-wide deployment of SharePoint Framework extension is a great addition that helps developers deliver their solution to end-users and administrators to ensure consistency across the whole tenant. It also simplifies deployment and maintenance allowing you to focus on what truly matters: helping your organization get more out of SharePoint.
“Sharing is caring”
SharePoint Team, Microsoft – 18th of September 2018