Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Site templates are coming to SharePoint Online

Microsoft is introducing scenario-based site templates in SharePoint online. This new SharePoint release of scenario-based site templates will help you expand what’s possible with content, pages, and web parts while helping you quickly get started building your own site.

Each template contains pre-populated content and web parts that are fully customizable to meet the needs of your organization. This feature is rolling out on SharePoint Online web and mobile.

This feature is associated with Microsoft 365 Roadmap ID 70574.

How this will affect your organization

Users will be able to benefit from the ability to browse, preview, and apply site templates to a new or existing SharePoint site. Users can select a site template that meets organizational business objectives and best fits the site goal while ensuring a higher level of consistency throughout their organization. They can then review pre-populated content and customize the site to address their needs.

This feature is by default ON with no admin control.

Apply a template to an existing site

Users can choose to browse site templates and can apply a template to an existing site at any time by accessing the template gallery from Site Settings and then Apply a site template.

Apply a template when you create a new site

If a site owner is visiting their new site for the first time, they may see a message asking if they want to use a template that will take them to the site templates gallery.

Choose or Select a site template in SharePoint online modern experience
Select a site template in SharePoint online
Preview and apply selected site template to SharePoint online modern experience site
Preview and apply selected site template
Note

When you apply a template to an existing site, your content will not automatically merge with the new template. Instead, a new default home page will be created along with other new content. Existing pages, libraries, and lists will be saved and can be accessed in Site contents.

Available scenario-based site templates

Communication site templates
Site templateDescription
DepartmentEngage and connect viewers with departmental news, highlight upcoming events, and provide easy access to frequently accessed files.
Leadership connectionBuild organizational culture by connecting leadership and team members through engaging in conversation, news, and events.
Learning centralProvide an internal landing experience for your organization that serves as the single place where events, news, and extra-curricular resources are showcased.
New employee onboardingStreamline and refine new hire onboarding by engaging and guiding new employees through your onboarding process.
ShowcaseSpotlight a product, event, or team using visual content like images and video. 
TopicEngage viewers with informative content like news, announcements, and events. 
BlankCreate your own custom site starting with a blank home page. 
Team site templates
Site templateDescription
Event planningCoordinate and plan event details with your team. Use ready-made event recap and event status news post templates to quickly get your team up to date.
Project managementCreate a collaboration space for your team where you can access frequent tools, share project updates, post meeting notes, and upload team documents.
Training and coursesPrepare course participants and students for specific learning opportunities by sharing course resources, news, and events.
Training and development teamBrainstorm and plan opportunities to help others learn and grow.
Team collaborationManage projects, share content, and stay connected with your team.
From your organization

Site templates created by your organization, also known as third-party templates, can be found in the tab titled From your organization when selecting a site template. Customization instructions will vary depending on the site template design.

Notes
  • In previous versions of SharePoint, site templates were called site designs but will be referred to as site templates moving forward.
  • The Site designs entry point will be replaced by the Apply a site template entry point in the Settings panel.
  • In this new site template experience, a progress screen is displayed while the site template is being applied instead of a notification bar.
  • Today, the new site template experience cannot be disabled and you cannot view template version history but will be included in future updates.

Release Timeline

Targeted Release (Selected users and organization): Microsoft will begin rollout in late June (previously late May).

Standard Release: Rolling out in late August (previously late July).

What you need to do to prepare

  1. Share this template guide with end-users: Learn how to apply and customize SharePoint site templates.
  2. For tips on improving and customizing your site, review the SharePoint Next steps panel.
    • The Next steps experience currently exists on Team sites and is now being introduced to Communication sites.
  3. For admins using custom site templates (previously known as site designs and sometimes called third-party templates), review learn how to create a custom site template and site script.

Custom list templates in SharePoint Online/Microsoft Lists

This new feature will support the addition of custom list templates from your organization alongside the ready-made templates Microsoft provides to make it easy to get started tracking and managing information.

Today, we have several ready-made List templates designed to make it easy to get started tracking and managing information – like events, issues, and requests. Now, Microsoft will be supporting custom list templates – the ability for organizations to define custom list templates. Note, you will be able to manage which templates are available to which people, based on their job role.

Key points

  • Microsoft 365 Roadmap ID: 70753
  • Timing:
    • Targeted release (entire organization): will roll out in mid-July and complete by mid-August 2021 – Complete
    • Standard release: will roll out in mid-September 2022 (previously mid-May) and be complete by early November (previously mid-June)
  • Roll-out: tenant level
  • Control type: user control / admin control
  • Action: review, assess and educate

How this will affect your organization

This feature will give organizations the ability to create their own custom list templates with custom formatting and schema. It will also empower organizations to create repeatable solutions within the same Microsoft Lists infrastructure (including list creation in SharePoint, Teams, and within the Lists app itself).

End-user impact

Visual updates to the list creation dialog and the addition of a From your organization tab when creating a new list. This new tab is where your custom list templates appear alongside the ready-made templates from Microsoft.

Custom list templates in SharePoint online/Microsoft Lists modern experience
Custom list templates in SharePoint online/Microsoft Lists
Admin impact

Custom list templates can only be uploaded by a SharePoint administrator for Microsoft 365 by using PowerShell cmdlets. For consistency, the process of defining and uploading custom list templates is like the custom site templates experience.

To define and upload custom list templates, admins will use the following site template PowerShell cmdlets:

The visual updates for this feature will be seen by end-users in the updated user interface (UI) when creating a list.

The From your organization tab will be empty until your organization defines and publishes custom list templates.

From your organization tab in custom list templates wizard in SharePoint online/Microsoft Lists
From your organization tab in custom list templates wizard

What you need to do to prepare

You might want to notify your users about this new capability and update your training and documentation as appropriate.

Learn more

Create an Organization Assets Library in SharePoint Online

In the dynamic world of business collaboration, organizing and sharing digital assets efficiently is a key factor for success. SharePoint Online provides a robust solution for managing organizational assets through the creation of an “Organization Assets Library.” In this blog post, we’ll explore what an Organization Assets Library is and provide a step-by-step guide on how to create organization asset libraries in SharePoint Online.

What is an Organization Assets Library in SharePoint?

An organization assets library in SharePoint is a centralized repository for storing and managing digital assets like images such as company branding photos & logos and office templates like word, excel & PowerPoint documents that are commonly used across the organization. It provides a structured way to organize, access, and share these assets, ensuring consistency in branding (logos, style guides, templates) and seamless collaboration.

Types of Organization Assets Library

You can create two types of Organization Assets libraries in SharePoint Online:

  • Organization Asset Library for Images (ImageDocumentLibrary): Document library for images like branding images, company logos, etc. These images will be available under “Your organization” option when user opens the file picker while adding images in SharePoint web parts and pages.
  • Organization Asset Library for Office Templates (OfficeTemplateLibrary): Document library for office templates like word, excel and PowerPoint. These templates will be available when user creates a new office document from Office Apps. Follow this article for creating office templates.

How to Create an Organization Assets Library in SharePoint Online?

Step 1: Create a SharePoint Online site

You can use an existing site or create a new site for storing organization assets. The site can be of any type (communication site or team site). However, I will recommend you to create a new/blank communication site for hosting organization asset libraries. Follow this guide for creating a new SharePoint site: Create a site in SharePoint.

Step 2: Grant permissions on SharePoint Online site

Grant following permissions on the newly created SharePoint communication site:

  1. Owners: Add users who should be able to upload files to asset libraries as well as manage permissions of the site.
  2. Members: Add users who should be able to upload files to asset libraries.
  3. Visitors: Add Everyone except external users group so that all users in tenant can see assets.
Step 3: Create Document libraries and upload assets

Create new document libraries to store the organization assets by following this guide: Create a document library in SharePoint. After creating document libraries, upload the images or office templates to your document libraries.

Step 4: Register Document library as organization asset library

First of all, download the latest version of SharePoint Online Management Shell. Then you can run SharePoint Online PowerShell script like below from SharePoint Online Management Shell to register a document library as an organization asset library for images (you can use $orgAssetType = "OfficeTemplateLibrary" for office templates asset library):

# URL of SharePoint document library
$libraryUrl = "https://contoso.sharepoint.com/sites/OrgAssets/Images"

# Type of Organization asset library - ImageDocumentLibrary or OfficeTemplateLibrary
$orgAssetType = "ImageDocumentLibrary"

# SharePoint online admin center URL
$adminCenterUrl = Read-Host -Prompt "Enter your SharePoint admin center site URL (e.g https://contoso-admin.sharepoint.com/)"

# Connect to SharePoint online admin center
Connect-SPOService -Url $adminCenterUrl

# Register document library as an organization asset library
Add-SPOOrgAssetsLibrary -LibraryURL $libraryUrl -OrgAssetType $orgAssetType

# Disconnect SharePoint online connection
Disconnect-SPOService

You’ll be prompted to enable a content delivery network (CDN) while adding an organization asset library, type Y (Yes) or A (Yes to All) and press Enter.

If you get an error – Add-SPOOrgAssetsLibrary : This library is not on the site that contains other organization asset libraries while running above PowerShell script, that means some other organization asset libraries are already available in your Microsoft 365 SharePoint tenant. In that case, try this:

1. Firstly, check if you have any existing organization asset libraries in your Microsoft 365 tenant using this command:

Get-SPOOrgAssetsLibrary

2. Create a new document library on same SharePoint site where your existing organization asset libraries are created.

3. Run PowerShell script given in step 4 to register the newly created document library as an organization asset library.

Notes

  1. You can create up to 30 organization asset libraries for a single tenant / organization.
  2. All organization asset libraries must be on the same SharePoint site.
  3. Only document libraries (not folders) can be set as organization asset libraries.
  4. It may take up to 24 hours for the organization assets library to appear in the desktop office apps.
  5. Users need at least read permissions on the SharePoint root site for the organization assets library to appear in the desktop office apps.

How to Remove an Organization Assets Library from SharePoint Online?

If you want to remove/unregister an existing organization asset library from your SharePoint tenant, you can use below SharePoint Online PowerShell script:

# URL of SharePoint document library
$libraryUrl = "https://contoso.sharepoint.com/sites/OrgAssets/Images"

# SharePoint online admin center URL
$adminCenterUrl = Read-Host -Prompt "Enter your SharePoint admin center site URL (e.g https://contoso-admin.sharepoint.com/)"

# Connect to SharePoint online admin center
Connect-SPOService -Url $adminCenterUrl

# Remove/unregister an organization asset library in SharePoint tenant
Remove-SPOOrgAssetsLibrary -LibraryUrl $libraryUrl

# Disconnect SharePoint online connection
Disconnect-SPOService

In conclusion, implementing an organization assets library in SharePoint Online can significantly enhance the management and utilization of essential resources within your organization. By centralizing assets, maintaining consistency, and enabling seamless collaboration, SharePoint empowers teams to work more efficiently and effectively.

Learn more

Set a page template as default page template in SharePoint Online

SharePoint Online is a powerful collaboration and content management platform that allows organizations to create and manage sites for various purposes. One of the key features that enhances site design and improves user experience is the use of Page Templates. In this blog post, we will delve into what are page templates in SharePoint online and how to set a default page template for a SharePoint site.

What are Page Templates in SharePoint?

Page templates in SharePoint Online are pre-designed layouts or structures that provide a consistent and standardized format for creating site pages within a site. They serve as a starting point for designing and organizing content on SharePoint pages, ensuring a cohesive look and feel across the site.

Page templates can include a variety of elements such as placeholders for text, images, web parts, page sections, and more. By using page templates, users can quickly create new pages with a predefined structure and layout, saving time and effort while maintaining visual consistency.

Setting a Default Page Template for a SharePoint Site

When users try to create new site pages from SharePoint site home page, the default selected template in the Page Templates pane is Blank. If users don’t select a different template, the blank template will be used for their new page.

If you prefer to have another custom page template be the default selection for your SharePoint site while creating new site pages, follow one of the methods given below:

Using SharePoint User Interface

Follow below steps to set a default page template for your SharePoint online site from SharePoint UI:

1. Go to home page of your SharePoint online site.

2. Click on New from page command bar and select Page:

Open Page templates pane from SharePoint online site home page
Open Page templates pane from SharePoint online site home page

3. Click on vertical ellipses at the bottom right side of the template you want, and then select Set default selection:

Set default selection of page template for SharePoint online site
Set default selection of page template for SharePoint site

4. Click OK from Changing default selection confirmation popup.

Note: When you change the default selection in the page templates pane, it will be changed for all users in the SharePoint site.

Using PnP PowerShell

You can use below PnP PowerShell script to set a page template as default page template for SharePoint online site:

# SharePoint online site URL
$siteUrl = Read-Host -Prompt "Enter your SharePoint site URL (e.g https://contoso.sharepoint.com/sites/work)"

# Connect to SharePoint online site
Connect-PnPOnline -Url $siteUrl -Interactive

# Get page template details and Unique ID
$page = Get-PnPFile -Url "/sites/work/SitePages/Templates/PlainHeaderNoComments.aspx" -AsListItem

# Set a page template as default page template for SharePoint online site
Set-PnPPropertyBagValue -Key DefaultNewPageTemplateId -Value $page["UniqueId"]

# Disconnect SharePoint online connection
Disconnect-PnPOnline

You may get error like below while executing above PnP PowerShell script if custom scripts are not enabled for your SharePoint site:

Set-PnPPropertyBagValue: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Site might have NoScript enabled, this prevents setting some property bag values.

In that case, you have to first enable the custom scripts for your SharePoint site by following: Allow use of custom scripts in SharePoint Online using PowerShell.

Using CLI for Microsoft 365

Use below CLI for Microsoft 365 script to set a page template as default page template for SharePoint online site:

# Get Credentials to connect
$m365Status = m365 status
if ($m365Status -match "Logged Out") {
    m365 login
}

# SharePoint online site URL
$siteUrl = Read-Host -Prompt "Enter your SharePoint site URL (e.g https://contoso.sharepoint.com/sites/work)"
 
# Get page template details and Unique ID
$page = m365 spo file get --webUrl $siteUrl --url '/sites/work/SitePages/Templates/PlainHeaderNoComments.aspx' | ConvertFrom-Json

# Set a page template as default page template for SharePoint online site
m365 spo propertybag set --webUrl $siteUrl --key DefaultNewPageTemplateId --value $page.UniqueId

If custom scripts are not enabled for your SharePoint site, above CLI for Microsoft 365 script will throw error like:

Error: Site has NoScript enabled, and setting property bag values is not supported

In that case, you have to first enable the custom scripts for your SharePoint online site by following: Allow use of custom scripts in SharePoint Online using PowerShell.

Conclusion

Page templates in SharePoint online provide a valuable tool for enhancing site design and improving user experience. By setting a default page template, organizations can establish a consistent and standardized format for creating web pages within their SharePoint sites. This not only saves time but also ensures a cohesive and professional look across the site. By leveraging page templates, organizations can effectively showcase their content while maintaining their branding and style guidelines.

Learn more

Delete custom site scripts in SharePoint online

In SharePoint online, you can use Site templates (previously known as “Site designs”) and Site scripts to provide reusable site columns, content types, lists, themes, site navigation layouts, or custom actions so that your users can quickly build new SharePoint sites with the features they need. SharePoint custom site scripts can help you to add custom branding, theming, or automation like setting a site logo, activating a site feature, etc. to your SharePoint online site.

However, over time, these custom site scripts can become outdated or unnecessary and ends up just hanging around in your SharePoint tenant for a long time even though you no longer need them. In this blog, we will discuss how to delete the custom SharePoint site scripts using PowerShell “scripts” (pun intended).

Using SharePoint Online PowerShell

You can run below SharePoint online PowerShell script from SharePoint Online Management Shell to delete the custom site scripts in your tenant:

# SharePoint online admin site URL
$siteUrl = "https://contoso-admin.sharepoint.com/"

# Connect to SharePoint online admin center
Connect-SPOService -Url $siteUrl

# Get all site scripts from the current tenant
$siteScripts = Get-SPOSiteScript

# List of custom site scripts to exclude from deletion
$keepThese = "Base Site Settings", "English Region", "Standard Site Columns", "Standard Libraries"
$siteScripts = $siteScripts | Where-Object { -not ($keepThese -contains $_.Title)}

if ($siteScripts.Count -eq 0) { break }

$siteScripts | Format-Table Title, SiteScriptIds, Description

Read-Host -Prompt "Press Enter to start deleting (CTRL + C to exit)"
$progress = 0
$total = $siteScripts.Count

foreach ($siteScript in $siteScripts)
{
    $progress++
    Write-Host $progress / $total":" $siteScript.Title

    # Delete custom site script
    Remove-SPOSiteScript -Identity $siteScript.Id
}

# Disconnect SharePoint online connection
Disconnect-SPOService

Using PnP PowerShell

Use below PnP PowerShell script to delete the custom site scripts from SharePoint online tenant:

# SharePoint online admin site URL
$siteUrl = "https://contoso-admin.sharepoint.com/"

# Connect to SharePoint online admin center
Connect-PnPOnline -Url $siteUrl -Interactive

# Get all site scripts from the current tenant
$siteScripts = Get-PnPSiteScript

# List of custom site scripts to exclude from deletion
$keepThese = "Base Site Settings", "English Region", "Standard Site Columns", "Standard Libraries"
$siteScripts = $siteScripts | Where-Object { -not ($keepThese -contains $_.Title)}

if ($siteScripts.Count -eq 0) { break }

$siteScripts | Format-Table Title, SiteScriptIds, Description

Read-Host -Prompt "Press Enter to start deleting (CTRL + C to exit)"
$progress = 0
$total = $siteScripts.Count

foreach ($siteScript in $siteScripts)
{
    $progress++
    Write-Host $progress / $total":" $siteScript.Title

    # Delete custom site script
    Remove-PnPSiteScript -Identity $siteScript.Id
}

# Disconnect SharePoint online connection
Disconnect-PnPOnline

Using CLI for Microsoft 365

Use below CLI for Microsoft 365 script to remove custom SharePoint site scripts from your tenant:

# Get credentials to connect to SharePoint online tenant
$m365Status = m365 status
if ($m365Status -match "Logged Out") {
    m365 login
}

# Get all site scripts from the current tenant
$siteScripts = m365 spo sitescript list | ConvertFrom-Json

# List of custom site scripts to exclude from deletion
$keepThese = "Base Site Settings", "English Region", "Standard Site Columns", "Standard Libraries"
$siteScripts = $siteScripts | Where-Object { -not ($keepThese -contains $_.Title)}

if ($siteScripts.Count -eq 0) { break }

$siteScripts | Format-Table Title, SiteScriptIds, Description

Read-Host -Prompt "Press Enter to start deleting (CTRL + C to exit)"
$progress = 0
$total = $siteScripts.Count

foreach ($siteScript in $siteScripts)
{
    $progress++
    Write-Host $progress / $total":" $siteScript.Title

    # Delete custom site script
    m365 spo sitescript remove --id $siteScript.Id
}

# Disconnect SharePoint online connection
m365 logout

These PowerShell scripts are also available on PnP Script Samples site at: Delete custom SharePoint site scripts.

Learn more

Teams Meeting Templates: Helping to Organize Better Meetings

Teams Meeting Templates are part of Teams Premium

Now that Microsoft considers Teams Premium to be generally available, it’s appropriate to investigate some of the functionality enabled by the new product to see if it’s worth the $10/month/user fee. In The 30-day trial license for Teams Premium remains available.

Microsoft has introductory pricing for Teams Premium of $7/month/user until June 30, 2023, possibly because some of the features aren’t yet available. For example, branded meetings won’t be available until mid-February and the much-hyped intelligent meeting recap powered by GPT 3.5 is scheduled for sometime in the second quarter of 2023. Given the delay, you might want to wait before testing.

Managing Teams Meeting Templates

Meeting templates are available now. These are essentially policies to apply to meetings to control settings that are otherwise set by the meeting organizer. The idea is to speed up meeting creation by using templates. A new meeting inherits options from the template used.

Management of meeting templates is through the Meetings section of the Teams admin center. Figure 1 shows that the organization has four custom templates and one default (for virtual appointments).

Teams meeting templates listed in the Teams admin center

Teams Premium
Figure 1: Teams meeting templates listed in the Teams admin center

The process of creating and editing templates proceeds in the same way as managing other Teams objects. The only odd thing I encountered is the ability to create meeting templates with duplicate names. Although each template has a unique identifier, having multiple templates with the same display name is likely to confuse users.

Meeting Templates and Sensitivity Labels

When you create a new meeting template, you can set values for a range of meeting options, including using a sensitivity label. You don’t have to choose a sensitivity label, but if you do, the template inherits settings from the label and locks them against change (Figure 2), meaning that meeting organizers cannot change these settings for individual meetings. You can also lock settings in templates that don’t use a sensitivity label.

Some settings in a Teams meeting template are locked by a sensitivity label
Figure 2: Some settings in a Teams meeting template are locked by a sensitivity label

The control a sensitivity label exerts over a meeting template is similar to the way sensitivity labels manage containers (sites, teams, and groups). Using a sensitivity label in a meeting template does not mean that Microsoft Information Protection will encrypt the meeting and its associated artifacts (attached files, attendance report, and so on).

Configuring Sensitivity Labels for Teams Meeting Templates

Before a sensitivity label can be used with a meeting template, administrators must configure it with Teams settings (Figure 3). These are the settings inherited by a meeting template from the sensitivity label.

Editing the Teams settings for a sensitivity label
Figure 3: Editing the Teams settings for a sensitivity label

Sensitivity labels with Teams settings are tagged with “meetings” when listed in the Information Protection section of the Microsoft Purview Compliance portal. If you want, you can find the set of labels available for Teams by running this PowerShell snippet:

Connect-IPPSSession
[array]$Labels = Get-Label
$TeamsLabels = [System.Collections.Generic.List[Object]]::new() 
ForEach ($Label in $Labels) { 
    If ($Label.ContentType -Like "*Teamwork*") { # It's a label for Teams
      $DataLine = [PSCustomObject] @{
        LabelId     = $Label.ImmutableId
        DisplayName = $Label.DisplayName
        Priority    = $Label.Priority } 
      $TeamsLabels.Add($DataLine) } 
}
$Output = $ContainerLabels.DisplayName -Join ", "
Write-Output ("These labels support Teams Meetings {0}:" -f $Output)

Meeting Template Policy

Users gain access to meeting templates through the meeting template policy assigned to their accounts. The default meeting template policy for the organization allows access to all templates, but you can create policies to restrict access to specific templates. For example, you could have a policy allowing access to a set of templates that’s assigned to members of a certain department.

When planning meeting templates and the policies used to publish templates to users, it’s a good idea to focus on a scheme that gives users an appropriate amount of choice. If you use a single policy to publish 10 templates to users, people might find it difficult to select the right template for a meeting. Three or four templates is a practical number to aim for.

Creating Meetings from a Template

To create a meeting from a template, select the template from the list revealed by the down arrow beside the New meeting button (Figure 4). Teams creates a new meeting and populates its options from the template settings.

Selecting a template to create a Teams meeting
Figure 4: Selecting a template to create a Teams meeting

Apart from the number of templates shown here, the importance of good template names becomes apparent. For instance, what’s the difference between a confidence meeting and a secure meeting or a private meeting? Differences may well exist in terms of the settings meetings inherit from each template, but it’s hard for users to differentiate between the templates.

Meetings created using templates have their options set. The options that the organizer cannot change have a lock icon to indicate their status (Figure 5). Other options can be amended as usual.

A Teams meeting created from a template inherits settings
Figure 5: A Teams meeting created from a template inherits settings

Apart from having predetermined options, meetings created from templates work in the same way as do regular meetings.

The Promise of Templates

Microsoft says that meeting templates reduce “the time and thought process it takes to create and get the meeting right.” And “With templates, leaders can ensure that their meetings adhere to company best practices and policies.” I never expended too many brain cells when creating Teams meetings in the past, but I see value in applying standards to specific types of meetings. Whether that’s worth the extra license fees is a different matter. But I suspect that meeting templates will not be the key functionality that justifies an organization buying Teams Premium.


Keep up to date with developments like Teams meeting templates by subscribing to the Office 365 for IT Pros eBook. Our monthly updates make sure that our subscribers understand the most important changes happening across Office 365.

Dataverse Tip# 6 Adding a new column to an existing Excel Template

Let’s say you have an existing out of the box Excel Template that you use to export data from a dataverse Table, and you came to the need to add a new column from a related table to your template so you need to apply the below steps to update your existing template instead of having to go back and redo your template:

  1. Create a new view with the new field added and click Excel Templates and Choose Download Template.In my Example i have added on the contacts view Account Name from Company and Number

2. Open the downloaded Excel file template and then show the developer tab by going to options -> Customise Ribbon and selecting the developer tab

3. On the excel sheet navigate to the developer tab and click View Code

4. The view code opens a VBA project you will find a hidden sheet on the left hand side , called hiddenDataSheet, this is where all the binding happens between the column name in dataverse and the excel column, so go to the Visible property and set it to visible close the VBA project and go back to your excel sheet you will find the hidden sheet now visible

5.

6. Go to the hidden sheet and you will find in the first column of the first row the bindings between the dataverse columns and the Excel Column

7. Now you need to identify the New column that you need to add to your existing template that you need to update this is highlighted in the above image.

&60807094-c373-4995-91f7-712993b50884.accountnumber=Account%20Number%20%28Company%20Name%29%20%28Account%29

60807094-c373-4995-91f7-712993b50884.accountnumber is the dataverse column name

Account%20Number%20%28Company%20Name%29%20%28Account%29 is your excel column name

8. Now go back your contacts view click on Excel Templates and choose the excel template you need to update.

9. Open the excel template , Go to developer tab,click view code and set the hiddenDatasheet to visible, Go back to your Excel sheet add a new column called AccountNumber

10. Go to the hidden sheet and append the text in step 7 as below:

&60807094-c373-4995-91f7-712993b50884.accountnumber=Account%20Number%20%28Company%20Name%29%20%28Account%29

Remove the part in bold and replace by AccountNumber your new ExcelColumn

So it will be like this:

&60807094-c373-4995-91f7-712993b50884.accountnumber=AccountNumber

11. Go back to view code , hide the hiddenDataSheet and upload your template.

References:

https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/templates-overview

miraghaly

SharePoint Content Management: Distributed vs. Centralized

In modern SharePoint, we have content management tools which have been honed over decades of SharePoint use. At the same time, our ideas about content management have evolved over that time. People are far more comfortable maintaining content on the Web than they were when SharePoint first was released. Back then, we were often transitioning from a printed content mindset, so many organizations simply tried to apply the same sort of processes and logic to Web content that they had been using with physical content for the prior decades. This often led to quite convoluted “requirements” in order to support that traditional way of thinking about content management.

These days most people are very comfortable with the Web. For many people in the workplace now, it’s the only thing they have known. Binders like this on bookshelves above desks would be an anathema to most of them.

See the source image

So, cutting to today, we can instantiate simpler content management rules, and we can also rethink content ownership.

Centralized Content Management

In a centralized content management scenario, a particular content type – and you should think about this on a content type level – is fully managed by a central group of people. Some examples might include:

  • All Policies are managed by the Human Resources department
  • Operations is the only department which can issue a Standard Operating Procedure
  • Any Standard having to do with money or timekeeping must be written by Finance

These are perfectly legitimate scenarios. However, they require a “pinch point” in that anyone in the organization who wants to issue a policy, for example, must work with Human Resources to create and publish it. It puts the policy content management egg into one basket.

In many cases, centralized content management has been the norm for many years. Some of this harks back to the print-to-Web transition and some of it harks back to the ways SharePoint and the Web worked in their earlier days.

Distributed Content Management

In a distributed content management scenario, we allow the people who understand the content best to manage it where they manage the rest of their content. Some common scenarios include:

  • All departments can publish Policies based on their operational oversight
  • Standard Operating Procedures are certainly published by Operations, but other departments can also publish them, as needed
  • While Finance controls all financial Standards, other groups can publish them as well

For this distributed publishing to work well, we need several things in place:

  • Each group (usually departments, but it can vary based on the Content Type) creates and vets the content in their own Team Site.
  • Team Site Owners can publish content from their Team Site to their Intranet site, simply using Copy to or, if a more rigid process is required, with that process implemented with appropriate tools.
  • Each site where a specific business object will be published has the proper information architecture (Site Columns, Content Types, Document Libraries) for that business object instantiated in it.
  • The metadata used in each Content Type should provide enough information – and not much more – that’s required to display the content in several different ways:
    • In a “content center” for that Content Type or family of Content Types
    • In search-driven experiences embedded in specific pages
    • Natively in the Document Library where the content is actually stored

Distributed Publishing Example

When we work with clients, we almost always use the example of Policies to illustrate distributed publishing. Policies are a common business object which is well-understood by most people in an organization. Some organizations have many policies, some have just a few. In most cases, each department has its own set of policies which it has created.

We choose a site to use as the starting point. Usually, it’s the first group which has said they need to post Policies. n almost all cases, we first create a “base document” content type – something like Base ClientName Document. All the custom Content Types we create for the organization inherit directly or indirectly from this Base ClientName Document Content Type. In that site, we create a Content Type called Policy, which either inherits from Base ClientName Document or another parent Content Type that makes sense for hierarchy.

For a Policy, the metadata may vary from organization to organization, but we usually hove some columns like:

  • Effective Date
  • Expiration Date
  • Applies To (maybe a set of geographies or departments)

Next, we create a Document Library called Policies and enable the Policy Content Type in it, removing the default Document Content Type. We create a Policy in the Policies library – singular and plural. At this point, there’s usually a little iteration on the metadata, etc. This is a good pause to take, so we can be sure we understand how best to construct Policy to serve its purposes.

Now that we have a Content Type and it is enabled in a library, we turn to PnP.PowerShell. With PowerShell, we can export the definition on the library as a Site Script unisng Get-PnPSiteScriptFromList, like so:

Get-PnPSiteScriptFromList -Url $fullPath | Out-File "./ListName.json"

where $fullPath is the full URL to the list, like “https://contoso.sharepoint.com/sites/teamsite/lists/MyList”. Note that PnP.PowerShell doesn’t care if we’re working with a list or library: under the covers, they are basically the same thing.

This gives us a JSON file which can be instantiated as a Site Script using Add-PnPSiteScript. Then we can bundle that one Site Script into a Site Template (nee Site Design) or include additional Site Scripts if we want with Add-PnPSiteDesign. I’m going to gloss over this a little bit and come back to it in a future post.

Now we have a Site Template we can apply to any site where we want to store Policies. Even if I’m going to include the Site Script in larger Site Templates, I may set up this simple Site Template to just instantiate the Policies library. I like the atomic approach to this.

When we choose to apply this Site Template to a site, we get the Policy Content Type (defined consistently, so to SharePoint it’s the same Content Type in each site) and a Policies library with it enabled.

Now each group of people with a site can create a Policy in their library – following their processes – and we can roll all the Policies up across the tenant or across sites associated with a Hub Site very easily. Most of the time this means a custom page built using the PnP Modern Search Web Parts (just about my favorite Web Parts!). We often call this something like the Policy Center.

End users can find a Policy where it’s published, perhaps by navigating into the HR site, or go to the Policy Center page we created above. We can also expose specific sets of Policies – maybe Policies which will expire in the next month – in experiences to help with central oversight.

If you’re thinking that this is a lot of work, it really isn’t. I do it all the time – with many more Content Types in each tenant in which I work – and this whole process can be as little as a few hours of effort. Compare that to the dreadful user experience you might have if you’re just dumping Policies into libraries as a Document Content Type, wherever you might choose. And believe me, it’s more work to clean all this up after you have a lot of content in SharePoint than it is up front, or at least early on.

Also note that starting at this level doesn’t mean you can’t layer more complex processes on top later. In fact, it makes it far easier when you get to that point; everything is neatly assorted so a Policy is a Policy is a Policy.


Taking this approach is also one important part of moving up the maturity model for Microsoft 365. Check out the Maturity Model for Microsoft 365 – Management of Content Competency in the Microsoft 365 Community Docs.

❌
❌