28,99 €
Explore the robust functionalities of SharePoint that ensure your business processes remain flexible and scalable. With its custom development features, SharePoint presents abundant opportunities to meet evolving needs, deliver personalized experiences, and seamlessly integrate across platforms. If you’re looking for practical guidance on developing custom SharePoint solutions, Customizing and Extending SharePoint Online is your essential companion.
This book takes you through the different techniques for customizing SharePoint, harnessing its native capabilities, and extending them across other platforms. You’ll begin by organizing content with SharePoint sites and learning best practices for permission governance before learning how to create and manage pages and use web parts to create, aggregate, and format content. This SharePoint book also covers specialized use cases of the Viva Suite and delves into SharePoint automation with Power Automate while extending solutions with Power Apps. Toward the end, you’ll get to grips with designing personalized solutions with SharePoint Framework and Microsoft Graph.
By the end of this book, you’ll be ready to deliver highly customized SharePoint solutions that align with your business objectives.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 331
Veröffentlichungsjahr: 2024
Customizing and Extending SharePoint Online
Design tailor-made solutions with modern SharePoint features to meet your organization’s unique needs
Matti Paukkonen
Copyright © 2024 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Aaron Tanna
Publishing Product Manager: Kushal Dave
Senior Editor: Ruvika Rao
Technical Editor: Rajdeep Chakraborty
Copy Editor: Safis Editing
Book Project Manager: Prajakta Naik
Indexer: Hemangini Bari
Production Designer: Prashant Ghare
Developer Relations Marketing Executives: Deepak Kumar and Mayank Singh
Business Development Executive: Thilakh Rajavel
First published: March 2024
Production reference: 1290224
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB.
ISBN 978-1-80324-489-1
www.packtpub.com
To my true love, Soile, and to my family who have been supporting and believing in me through this journey.
- Matti Paukkonen
Matti Paukkonen is a modern work professional who has been working in the IT industry and Microsoft ecosystem for over 15 years and with Microsoft cloud solutions for over 10 years. He has been awarded the Microsoft Most Valuable Professional (MVP) in the Microsoft 365 app and services award category.
He is based in Kuopio, south central Finland and he holds a Bachelor of Engineering degree in telecommunications technology from Savonia University of Applied Sciences.
Aaron Rendell is a Microsoft MVP and Professional Services Director at Encodian, leading a team of experts in delivering business solutions for customers using Microsoft 365 and Azure technologies. Aaron specializes in information, document, and records management, as well as low-code and pro-code development platforms such as Power Automate, Power Apps, and SharePoint.
He has more than 15 years of experience in the Microsoft cloud ecosystem, and has a proven track record of successfully orchestrating digital transformations for a diverse range of organizations, from small and medium enterprises to large enterprises, across all sectors and industries.
Randolph Perkins-Smart is a motivated, successful senior leader with an entrepreneurial mindset, specializing in Microsoft technologies. BCS Chartered IT Professional and AgilePM Practitioner adept in Microsoft 365, SharePoint, and web-based information systems. He leverages acute business and commercial acumen to introduce initiatives using a proactive, results-focused style. A seasoned leader with proven success across cross-functional team management, operations, problem-solving, stakeholder management, market analysis, marketing, and branding strategy.
He is experienced across multiple industries including IT, Finance & Insurance, Health, Construction, Education, Public Sector, Transport and the Arts, and different organizations leading their field such as Tate, Sky, British Heart Foundation, IBM, and Anglia Ruskin University. Randolph is exposed to global markets and has worked in Belgium, Dubai, Jersey, and the USA.
In this part, you will get an overview of SharePoint Online’s fundamental concepts and structures, such as sites, lists, and libraries. In addition to this, you will also learn about access permission management, usage of site columns and content types, and how to use modern SharePoint pages for creating engaging and stunning content.
This part has the following chapters:
Chapter 1: SharePoint Online in a NutshellChapter 2: Organize Content with SharePoint SitesChapter 3: Access Controls in SharePointChapter 4: Lists and LibrariesChapter 5: Describe Content with Site Columns and Content TypesChapter 6: Create Informative and Stunning Content with Modern SharePoint PagesMicrosoft SharePoint Online is a content and collaboration platform for intranets, document management repositories, teamwork, and collaboration across organizations. It’s one of the core technologies in Microsoft 365, supplying rich experiences to other services; nowadays, examples are file management capabilities on the Microsoft Teams Files tab and storage for content, such as news articles and videos, to different Microsoft Viva Suite services. Versatile security, access management capabilities, and integration to Microsoft Entra ID (ME-ID) ensure the data is available for the correct audiences and kept inside of managed borders. Governance policies at different levels ensure that compliance requirements can be met, data is retained for the required period of time, and outdated content is automatically cleaned up.
SharePoint Online is also an application platform enabling the management and publishing of apps extending SharePoint, Teams, Viva, and Office applications. The novel application development model, SharePoint Framework (SPFx), enables developers to create solutions with modern development tools, also using open source tooling and frameworks. Power Automate workflows can be used to automate and create processes on top of SharePoint content, and Power Apps can be used to extend SharePoint lists or create simple apps to access and modify data on SharePoint lists and libraries.
In this chapter, we’re going to cover the following main topics:
A brief history of Microsoft SharePointSharePoint Online as a platform for portals and teamworkSharePoint Online as an app platformHow SharePoint supplies experiences to other Microsoft 365 servicesMicrosoft SharePoint is already an over-20-year-old product. SharePoint started at the end of the 1990s as codename Tahoe, and the first versions under the SharePoint brand were released in 2001, called SharePoint Portal Server 2001 and SharePoint Team Services. The next releases followed the update cadence of Microsoft Office:
Microsoft Office SharePoint Portal Server 2003 in 2003Microsoft Office SharePoint Server (MOSS) 2007 in 2007Microsoft SharePoint Server 2010 in 2010Microsoft SharePoint Server 2013 in 2013Microsoft SharePoint Server 2016 in 2016Microsoft SharePoint Server 2019 in 2019Microsoft SharePoint Server Subscription Edition in 2021These SharePoint Server versions were and are hosted in the customer’s data center and are quite often referred to as on-premises SharePointin discussions.
The cloud journey of SharePoint started in 2008 when SharePoint Online was released as a part of the Business Productivity Online Suite (BPOS) Software-as-a-Service (SaaS) offering, which also included Exchange Online email services and Live Meeting capabilities. In 2011, BPOS was rebranded as Office 365, and SharePoint Server 2010 became the core of SharePoint Online. One of the biggest milestones was in the May 2016 announcement of new, modern user experience SharePoint team sites, integrations with Microsoft Flow (rebranded later as Microsoft Power Automate) and Power Apps, and the SPFx client-side software development model:
Figure 1.1 – Modern SharePoint site
Nowadays, when talking about SharePoint Online, it’s common to hear the terms classicand modern:
Classic refers to the experience used in SharePoint 2013. The classic experience in SharePoint Online is still needed for some mostly administrative or configuration tasks, but end users are using SharePoint Online’s features with modern user experience.Modern refers to the new SharePoint user experience, which is also included in SharePoint Server 2016 and later versions. The modern experience is natively responsive and supports mobile devices, tablets, and computers, supporting all common, modern internet browsers.SharePoint is a platform for an organization’s news, guidance, policies, videos, and important links – commonly the intranet. SharePoint’s rich content pages are used for bringing text, images, documents, and videos together in an easily accessible format using any device. Rich document views and a native video player reduce the need for the user to jump back and forth between content. Native web parts enable adding questionnaires or surveys using Microsoft Forms or creating small apps with Power Apps to rich content pages, again improving the user experience.
Lists and libraries are core building blocks of storing data in SharePoint and can be used in various solutions. A SharePoint list itself can be a small application, extended with views and workflows. A document library is a place for documents, but when adding an approval workflow, it already transforms into a document management solution. Transforming a list from Excel to a list in SharePoint can make it more usable with prepopulated choices, users and groups, and views, enabling even more functionality with Power Apps and Power Automate workflows.
Users can access and process content hosted in SharePoint using different channels. Document libraries, folders, and files integrate natively into Office applications, such as Word, Excel, and PowerPoint. With mobile, users can use the SharePoint mobile app or just a browser to access content and files. Portals can be brought to Microsoft Teams with Viva Connections or adding tabs to Teams’ channels. In some cases, users aren’t even aware that they are using SharePoint.
Even though teamwork has largely moved to Microsoft Teams, SharePoint is still a key technology enabling the co-authoring of files, controlling access to content, and sharing content internally and across organizations. Users can access files via Teams’ Files tab, using Office Online or Desktop applications, and can synchronize files and folders to Windows File Explorer or Mac Finder.
Extending and customizing SharePoint has also evolved. With on-premises SharePoint versions, customizations were commonly made by modifying master pages and page layouts with SharePoint Designer or another HTML editor, running server-side C# code hooked into different events or loaded as a control during page load, or even creating customized APIs for accessing data. Development environments were heavy, consumed a lot of RAM, and required a local installation of SharePoint Server, which also required other services such as a Microsoft SQL database engine. The client-side implementation was quite commonly made by loading JavaScript using Script Editor web parts or injecting code directly to master pages or page layouts.
Since SharePoint Online is a SaaS offering, and actual servers are managed by Microsoft, there aren’t possibilities to run custom server-side code as in SharePoint Server environments hosted in customers’ data centers. With SharePoint Server 2013, Microsoft introduced the SharePoint Add-in model, which enabled developers to run client-side code and host it either in SharePoint (SharePoint-hosted) or outside of SharePoint (Provider-hosted). The main difference between these was that SharePoint-hosted add-ins could only run client-side code. The SharePoint Add-in model is still available today, but it is no longer preferred as the model for novel solutions, and new solutions should be rather developed using SPFx, Power Automate, Power Apps, SharePoint’s REST APIs, and the Microsoft Graph API.
SharePoint is not just an app platform for hosting SharePoint-related customizations. SPFx can also be used to develop solutions for Microsoft Teams and Office. The same solution can be used on all platforms. Of course, when developing solutions to support SharePoint, Teams, Outlook, and Office, it is essential to consider all specialties of each platform, such as layout, user interface elements, and theming. SPFx is also the development platform for extending Microsoft Viva Connections, in which experiences are hosted in SharePoint.
When solutions are developed using SPFx, code can be hosted completely inside of the SharePoint environment without the need for a separate hosting environment. Solutions can be deployed just by uploading to the app catalog. The deployment process can also be automated using SharePoint REST APIs or PowerShell. Third-party solution offerings are available on the SharePoint Store, which also allows simple deployment and installation.
As mentioned earlier, SharePoint supplies rich experiences, content management capabilities, and a platform for other Microsoft 365 services. We’ll look at how that works here with the different services.
The Files tab on Microsoft Teams channels is a view of files and folders stored in the SharePoint document library connected to the Teams team. The Files tab is actually hosted on an application page on the SharePoint side:
Figure 1.2 – The Files tab in Teams
Also, the Lists, SharePoint, and Document Library tabs and content are hosted on SharePoint.
The sharing dialog, which allows granting permissions for files and folders stored on SharePoint document libraries, can be used from different Microsoft 365 services, such as the new Microsoft 365 home app, OneDrive, and Teams:
Figure 1.3 – Sharing dialog
OneDrive for Business, which is a personal storage location for users, is run on top of SharePoint. SharePoint enables co-authoring, version history, and permissions management capabilities for OneDrive.
Microsoft Viva Connections, which is an employee experience communications solution for Microsoft Teams, uses news articles and videos stored on SharePoint. Viva Connections Dashboard is a page hosted on the SharePoint Home Site, and the dashboard’s content is managed on a separate Dashboard page in SharePoint. Extensions and customizations for Viva Connections are developed using SPFx.
The new Stream video service uses SharePoint document libraries and OneDrive storage for videos. The same permissions and governance features as for other documents in libraries apply to videos. Stream’s video player experiences are nowadays run on SharePoint or OneDrive.
SharePoint lists are quite a common data source for small-scale applications and automations. A SharePoint list can be used as a data source for Power Apps and Power BI reports. SharePoint can be a channel for publishing Power Apps or Power BI reports since it natively supports adding them to the content pages. Power Automate automations and workflows can use SharePoint lists as a data source or modify data stored in lists.
SharePoint can also be as a data source for custom applications extending Microsoft 365 via SharePoint’s RESTful APIs or using the Microsoft Graph API.
With this chapter, we learned how SharePoint is a versatile communication and collaboration platform for organizations to manage their content, information, and business processes. SharePoint is one of the core technologies in the Microsoft 365 cloud service, integrating and providing experiences for other services. As a content platform, SharePoint hosts rich content pages, which can combine content with other Microsoft 365 services, such as Forms questionnaires or videos, and include Power Apps and Power BI reports without users needing to navigate away from the page.
SharePoint Online is also an application platform that enables extending and customizing SharePoint using modern web development technologies. The SPFx development model supplies capabilities for creating apps for other Teams, Outlook, and Viva Connections services, and these applications do not require a separate hosting environment. Developers can choose their development tools; open source tooling is 100% supported. Deploying SharePoint to a local development environment is no longer required. There is also a large developer community around SharePoint, bringing guidance, examples, and support to other developers.
In the next chapter, we will learn the concept of a site, what different site types there are, and how sites can be used to organize and share content.
Sites are the foundation of organizing, structuring, securing, and bringing context to content in SharePoint Online. As this book focuses on the modern experiences of SharePoint Online, the term site is used to describe what was earlier called a site collection.
For on-premises SharePoint and classic experiences, site collections and sub-sites were used for widespread practice in terms of structuring and organizing content. In the modern SharePoint experience, sub-site hierarchies are no longer recommended for organizing content. Modern sites can be connected using navigation, linking, or connecting sites in the same context using hub sites.
A site holds lists for list items and libraries for files, folders, documents, and pages, depending on the purpose of the site; for example, human resources can have a site for their published guidance using pages and documents and a human resources team in Microsoft Teams for their documents, task lists, and conversations. A site also acts as a security boundary. Access to a specific site does not automatically give access to other sites. External sharing is also managed at the site level if enabled at the tenant level.
In this chapter, we’re going to cover the following main topics:
Different site types and special sitesOrganizing and categorizing sites with hub sitesCreating multilingual content with SharePointManaging sites in the SharePoint Admin CenterIn the modern SharePoint experience, there are three main site types:
Communication siteTeam siteContent centerImportant note
Classic site types still exist and can be created, but these are not covered in this book.
Users can create both communication and team sites (if enabled) at the tenant level. New sites are always created underneath predefined managed paths. The managed path is either /sites/ or /teams/, depending on the site creation setting in the SharePoint Admin Center.
Commonly, these sites are used for communicating intranet-like content, guidance, document centers, archiving, and some extranet-like cases. The focus of communication sites is to make content, documents, business processes, reports, and apps easily accessible via rich content pages. Content is organized according to pages, news articles, lists, and document libraries. Communication sites can be used for collaboration and teamwork purposes as well, but since Microsoft Teams launched in 2018, the role of SharePoint as an actual surface for collaboration has decreased. A communication site cannot be connected to a Microsoft Teams team, and it’s not linked to a Microsoft 365 group with linked resources such as a shared mailbox or calendar. Permissions regarding the communication sites are managed using SharePoint groups and at the site level. The following is an image of the communication site:
Figure 2.1 – Communication site
A team site is a site type for collaboration and teamwork. By default, a team site is connected to a Microsoft 365 Group; this is the option for user-created team sites. A Microsoft 365 Group is an entity in Microsoft Entra ID, which connects group members and related services together (such as a SharePoint team site, a shared group mailbox and calendar, Planner, and OneNote notebook).
A group’s services can be extended with a Teams team or a Yammer community, as well as with a Microsoft Project workspace. Group members have access to connected services based on group membership. Group owners will also act as owners for a SharePoint site, Teams team, and a Yammer community. Groups can be used to give access to other resources and applications from Microsoft or a third party as well. When a Microsoft 365 Group is created, a SharePoint site is also automatically created for that group.
Administrators can create team sites without a group connection from the SharePoint Admin Center. Permissions for these types of sites are managed using SharePoint default membership groups or creating custom permissions. The following is an image of the team site:
Figure 2.2 – Team Site
Channel sites are special sites related to Microsoft Teams’ private and shared channels. A channel site is automatically created when a new private or shared channel is created for a team in Teams. These sites host files and other SharePoint experiences for related channels. Channel site permissions are managed only with channel permission management in Teams, and managing permissions in SharePoint is disabled. Separate sites for private and shared channels are for ensuring content security with a site-level boundary.
Channel sites are named following this pattern “Team name–Channel name”, for example, “HR Team–HR Managers”. The URL follows this pattern “Team URL–Channel URL”, for example, “HRTeam–HRManagers”. When a channel is renamed, the site name also changes, but the URL stays the same.
A small difference between private and shared channels on the SharePoint side is that a private channel’s Files tab in Teams is linked to a subfolder named as the channel, whereas a shared channel’s Files tab in Teams is linked to the site’s default document library.
Channel sites are mainly used via Teams, and, for example, new lists are created using Teams’s functionality. In some rare cases, such as restoring files and folders from the recycle bin, users may end up using a channel site via SharePoint.
Every Microsoft 365 tenant also has a root site, which is found at the tenant’s root address, for example, https://your-tenant.sharepoint.com. Depending on when the root site is created, it might be a modern experience or a classic experience. If the root site needs to be upgraded or renewed, it can be replaced with an existing site. The root site cannot be deleted since it leads to all sites in the tenant being inaccessible. Replacing the root site can be done from the SharePoint Admin Center or with PowerShell using SharePoint Online Management Shell:
Figure 2.3 – Replace site in SharePoint Admin Center
With PowerShell, replacing the root site is done by using the Invoke-SPOSiteSwap cmdlet, which is found in SharePoint Online Management Shell. For the script SourceUrl, the parameter is the URL of the site, which should be set as the new tenant root site; TargetUrl is the tenant root address, and ArchiveUrl is the URL where the existing root site is moved:
Invoke-SPOSiteSwap –SourceUrl https://contoso.sharepoint.com/sites/new-root-site -TargetUrl https://contoso.sharepoint.com -ArchiveUrl https://contoso.sharepoint.com/sites/archiveBefore replacing the root site, make sure that it’s not promoted as a hub site, which can be used to connect sites together, and that it’s not configured as a SharePoint home site. The site that will replace the root site needs to be a communication site or a modern team site (which is not connected to a Microsoft 365 Group and cannot be promoted as a hub site or associated with a hub site). If the target site is registered as a hub site, then do the following:
Unregister it.Do a root site replacement operation.