Rules to Better SharePoint - 25 Rules
Organizations are extremely good at accumulating data. Mostly in the form of documents and records, this data is often haphazardly located across the organization, and poorly integrated into document processes.
SharePoint is the best organization tool to improve this situation by storing all documents & records in a centralized system. SharePoint stores every version of a document, allows you to enforce information management policies and improves efficiency by automating common business processes. Here you will find many rules for a better experience with SharePoint.
If you still need help, visit our SharePoint consulting page and book in a consultant.
Other SharePoint Rules:
- Rules to Better SharePoint Development
- Rules to Better SharePoint for End Users
- Rules to Better SharePoint Migration from 2007 to 2010
- Rules to Better SharePoint Migration from 2010 to 2013
- Rules to Better SharePoint Migration from 2013 to 2016
- Rules to Better SharePoint Migration from 2016 to Online
- Rules to Better SharePoint Virtualisation
SharePoint is a great platform for intranet, and the new version SharePoint 2019 and SharePoint Online is getting even better every day.
- Powerful content discoverability via full-text search
- Rich workflow capabilities (e.g. approval & distribution processes)
- Document Accessibility (over the web and via Office programs)
- Information Management Policies (e.g. Document retention policies)
- Compliance suitability (e.g. Email archiving)
- Great for storing both structured and unstructured content. (e.g. meeting workspaces, ad-hoc lists, project workspaces, company portal)
- Highly customizable and extensible
It's important for all your SharePoint Sites to be as consistent as possible. This helps users' navigation through new pages as they know exactly where to look.
Following these simple rules makes this really easy:
- Put your preferred navigation in the same place (usually on the left-hand side)
- Keep the headings consistent
- Use icons for each type of link, so users easily know what to expect when clicking on a link (E.g. A Microsoft Word document is going to open a Word document) Aldo, a link to "Home" looks the same on every page.
Navigation consistency between pages
Headings and icons consistency within a page
In the days of classic SharePoint, subsites were a popular way of organising your intranet. Modern SharePoint architecture leans toward a flatter hierarchy, where sub-sites are generally not recommended.
There are several reasons why sub-sites are no longer recommended. Callum Crowley talks about some of the important benefits of a flat hierarchy, including:
Flexibility – Sub-sites are a pain to move - you'll never need to do this with a flat hierarchy. Using Hub sites, it’s easy to change links and use dynamic content to make sure your SharePoint architecture matches your organisational structure.
Microsoft Teams & 365 Groups – Every Microsoft Team you create has its own SharePoint site, and SharePoint integrates with Microsoft 365 groups. So with a flat hierarchy, users and admins have a consistent experience across apps and Document Libraries.
It is worth noting that this flexibility comes at a cost - permissions can be more difficult to manage, as each site will need permissions set separately, and you cannot use nested groups.
Links
Introduction to SharePoint information architecture - SharePoint in Microsoft 365 | Microsoft Docs
Did you know that when you delete or disable a user in Active Directory or Entra ID the user is still stored in SharePoint. Did you also know that SharePoint retains any permissions that the user did have in SharePoint at the time? This means that if the user returns and their account is re-enabled they will have all of the same permissions that they had before. Luckily for us ShareGate offer us an easy way to remove these 'orphaned users'.
- Open ShareGate Desktop
- Click All reports | Orphaned user report
- Add your connection
- Add your site address, Choose your Authentication method and press Connect
- Choose Navigate to choose individual sites or tick the box to choose all sites and teams folders
- Under Navigate choose the individual site | Click Next
- Click Run now
- Select Users | Select Clean orphaned users
- Click Continue
- View results of report
Get rid of classic features in SharePoint Online.
Microfeed
Microfeed list is used to support the MicroFeed Classic web part. If you’re using Modern SharePoint Sites and Pages (and you should !) everywhere, you don’t need that list anymore.
To delete the Microfeed List, simply de-activate the Site Feed feature at the Web level:
Company Announcements
"Announcements" is a default List that used to be created with classic Team Sites. If you’re not using it, chances are you will never do, and modern News should be your replacement for it.
To remove company News, click “Settings” | “Remove” from Site Contents:
Drop Off Library
Drop Off Libraries (Content Organizer feature) were a way to automate moving documents around based on Metadata. This is no longer the optimal solution and you should use Power Automate instead. To remove Drop Off Library from your site, you need to disable the “Content Organizer” Web level feature:
Deleting leftovers from Migrations
After migrating content from older versions of SharePoint, you may end up in a hybrid state where the abovementioned features are disabled, but associated libraries/lists are still present on your site. If that happens, you ideally want to clean it up.The first thing you can try is enabling/disabling the feature again. In some cases, that will fix the issue and remove the unwanted list/library.If that doesn’t work, however, there is a more radical approach: removing the list/library using Powershell:
(In case you prefer using code straight away instead of the screenshot)
Remove-PnPList -Identity "Workflow Tasks" -Force
However, on system Lists, you may get an error:
The workaround is to set the “AllowDeletion” flag to true before calling delete:
(In case you prefer using code straight away instead of the screenshot)
$list = Get-PnPList -Identity "Workflow Tasks" $list.AllowDeletion = $true $list.Update() Remove-PnPList -Identity "Workflow Tasks" -Force
You want to be on the latest version of SharePoint.
There are multiple ways to get it:
Check SharePoint DLL version
Check
http://<CentralAdminSite>/\_admin/FarmServers.aspx
Check
http://<AnySiteCollection>/\_vti\_pvt/service.cnf
See Get SharePoint version number of your platform quickly for details.
vti\_encoding:SR|utf8-nl vti\_extenderversion:SR|16.0.0.4327
Figure: On SharePoint 2016, this is what you get for intranet.ssw.com.au for example
You should review all your Intranet content and for all classic features (pages, web parts, etc…), and decide if you want to keep or migrate them.
More info: Getting started with the SharePoint modernization scanner.
TODO TIAGO: ADD IMAGE OF WINDOWS EXPLORER (4 files in it) AND ANOTHER WITH SHAREPOINT DOCUMENTS LIBRARY
You may need a link in a SharePoint document to help you navigate to a different URL (like shortcut in Windows), there are different ways to implement this.
A. Create a shortcut in windows, then upload the shortcut file (.url) to the document library.
B. Use "Link to a document" content type in SharePoint.
Details on how you to create a link to a document in a SharePoint library.
A. Create a shortcut in windows, then upload the shortcut file (.url) to the document library.
To do this, you need to remove .url file type from your blocked file types in your web application. This will bring some security risk, which is not recommended, and I won't show the step details here.
B. Use "Link to a document" content type in SharePoint.
- Enable "Content Type management" in your document library. Figure: Enable Content Type management in library setting
- Add "Link to a Document" content type into the library. Figure: Add from existing site content type Figure: Select "Link to a Document" content type
- Create a "Link to a document" instance Figure: select "File | New Document (dropdown) | Link to a document" Figure: Input "Name" and "URL"
- Done
You should be able to see the link type document in your library: Figure: Link type documents with the lovely shortcut icon
Instead of displaying a direct " Access Denied " warning info, you can allow end users to send an " Access Request ".
The "request manager" will receive an email:
The link in the email will navigate administrator to the Pending Requests list:
After reading the request infomation, the administrator can "Approve" or "Decline" the request, or he can start a conversation with the request user on the Pending Requests list directly to inquire more information:
To setup permission request for a SharePoint site collection, go to " Site Settings (Gear Wheel icon) | Site Permissions ":
Limition: This "Access Request" only works for authenticated users to inquire more access permission, that means if your site allows "anonymous access", then an anonymous user cannot send "access request" as he doesn't have an identify to be assigned more access permission.
Most SharePoint site templates contain a calendar list, this will bring lots of useless calendars.
Use the below PowerShell script to clean them:
$site = Get-SPSite("http://<site collection URL>/"); # Specify url here foreach ($web in $site.AllWebs) { $lists = $web.Lists for ($i=($lists.Count-1);$i -gt 0; $i--) { $list = $lists[$i] #Write-host $i $list.Title $list.BaseTemplate.ToString() if ($list.BaseTemplate.ToString().ToLower().contains('events')) { if ($list.Items.Count -eq 0) { Write-Host $list.Items.Count "items in the list" $list.Title '('$list.BaseTemplate') at '$web.Url "- cleaning it!" $list.Recycle() #$list.Delete() } } } }
This script will put the calendars which do not have any events into Site Settings | Recycle Bin:
One of the annoying things with SharePoint document and page libraries is that users often accidentally leave checked out files, that prevents others from modifying them.
Suggestion to Microsoft: send an email to the user to remind them they have outstanding checkouts potentially blocking other users.
There are 2 ways to remind users of their "checked out files":
- Solution A: Use Powershell scripts (see PNP.github.io sample)
- Solution B: Custom application report (Includes some low-code work) E.g. SSW.Dory
Solution A. Powershell scripts
- Create a new PowerShell Script
#Config Variables $SiteURL = "https://crescent.sharepoint.com/sites/marketing" $CSVFilePath = "C:\Temp\CheckedOutFiles.csv" #Connect to PnP Online Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential) #Get all document libraries $CheckedOutFiles = @() $DocumentLibraries = Get-PnPList | Where-Object {$_.BaseType -eq "DocumentLibrary" -and $_.Hidden -eq $False} #Iterate through document libraries ForEach ($List in $DocumentLibraries) { Write-host "Processing Library:"$List.Title -f Yellow #Get All Checked out Files of the library $FilesCheckedOut = Get-PnPListItem -List $List -PageSize 500 | Where {$_["CheckoutUser"] -ne $Null} #Collect data from each checked-out file ForEach ($File in $FilesCheckedOut) { $CheckedOutFiles += [PSCustomObject][ordered]@{ Library = $List.Title FileName = $File.FieldValues.FileLeafRef CheckedOutTo = $File.FieldValues.CheckoutUser.LookupValue Location = $File.FieldValues.FileRef } } } #Export Checked out Files data to CSV File $CheckedOutFiles $CheckedOutFiles | Export-Csv -Path $CSVFilePath -NoTypeInformation
To run the script against your entire tenant, see PNP.github.io sample
- Run the PowerShell script
- Go chase after the users.
Solution B. Custom application report (Includes some low-code work)
Learn more: SSW.Dory
To make reminding users easier, we have created a Power Automate flow called SSW.Dory that will find checked out files and send out a notification email to all the naughty people automatically every day.
To: Dave Subject: SSW.Dory | 🔷 SharePoint files need your attention Hi Dave,
You currently have the following pages checked out in SharePoint:
- {{ LIST OF URLS }}
- If you are no longer editing these files, check them in!
Note: You should check in at least daily, as per rule SSW.Rules | Do you confirm there is no checked out data?. - Reply to this email with something like:
‘Done - x files checked in’
Note: See all files you have checked out at {{ LINK TO CHECKED OUT LIST }}
-- Powered by Power Automate, Job: SSW.Dory
Figure: An example of the reminder email that all users receive
The SharePoint "People Picker" is a great tool for quickly selecting users of your SharePoint site. It allows you to quickly select users from your organization by browsing Active Directory.
Unfortunately, if you have added users directly to your site collection, and later deleted or disabled them from Active Directory, you will notice that these orphaned users will still appear in your People Picker. This will eventually clutter up your People Picker.
To remove these orphaned users, as a SharePoint Administrator, you can open the following URL (where <www.northwind.com> is your SharePoint URL):
http://www.northwind.com/\_catalogs/users/sample.aspx
On this page you will find a list of all the users that are members of your site collection, including the orphaned users.
To remove the user simply click on the Username | Click Delete User from Site Collection . This will instantly remove the user from the People Picker.
Try to use content query web part to show data instead of jQuery as it's better for Google indexing.
For those out of date data, you can use an archive page and change the filtering of CQWP to return all of them, so that the old data are still there and the ranking of the page won't be influenced.
For more SharePoint SEO, check from this article.
You often need to share links to a file or folder in SharePoint.
You may be tempted to share a link via the Share email invite. In doing so, the sharing permissions default to 'can view', which is fine if you are sharing the file externally. If you are sharing to someone who already has access to the file, it breaks permissions on the item you're sharing and creates a unique permission set for whoever you share it with. This means that a person who already had access to a file may find that using the shared link grants them different permissions. This makes it very difficult for SharePoint admins to maintain permissions!
Using "Copy link" to share a file and pasting it in an email ensures that permissions already given remain the same once the file is shared.
Your SharePoint admin should set the default sharing link type to "People with existing access" for copied links. If this has been done, then all you need to do is "Copy link" and share link via email.
You can select the folder (or file) and click on "Copy link" at the top bar to get the link:
You can also right-click the folder/file to copy the link:
If your SharePoint admin has not set the default sharing link type to "People with existing access", this can be done individually each time you share a file.
You might need to recover a delete file in SharePoint. You will find it at the Recycle bin. This is where you can find it:
Here are the options we have:
For cloud users:
- LinkedIn skills [sync] office365 list. (Preferred)
- Office 365 users profile | skills. (Limited)
- Azure AD [sync] office365 list
For on-premises users:
- User profile [sync] list. (Old)
- default zone should be over http, this is so search can access it over non-secure connection
- default zone should not be accessible outside of internal network
- extend the web application to an internet zone, this should be https to provide secure connection
- this section should be extended with strategy to work with reverse proxy.
Reverse proxy handle https connection to client, and connects to SharePoint via http to reduce https overhead on SharePoint
SharePoint also needs to support https for internal traffic, if I click on a link to HTTPS it should work internally
For this scenario to work, web application needs to be extended 2 to 3 different zone
Default (http for internal and search)
Internet (http for reverse proxy)
Intranet (https for internal https link)
Using default zone URL in search content source, it will be automatically convert to the relative URL on the search result (e.g. if a user access search "keyword" via http://projects.ssw.com.au/search, the result will be like http://projects.ssw.com.au/search/keyword).
While another user access search center via https://projects.ssw.com.au/search, the result will be https://projects.ssw.com.au/search/keyword.
AD has all your users e.g. Bob, Mary, Jane...
SharePoint also has all your users, plus you can extend this information using the UserProfile Service.
The beauty of this is that if everyone has updated their skills, it is wonderfully searchable.
SharePoint has an Admin UI to manage User Profiles.
Delve is a cool product with a nice UI that is essentially a portal onto the User Profiles.
Where it all falls down...
What if your people’s skills are stored in another system such as Dynamics 365 CRM or Salesforce?
You can use PowerShell and SharePoint PNP libraries to programmatically interact with the SharePoint UserProfile service. This process allows you to sync skills across systems with a custom solution:
OpenSearch is another solution, using the OpenSearch protocol you can add external data sources to your SharePoint search results.
Suggestions to Microsoft:
#1 Help me better sync my Dynamics 365 CRM data with the SharePoint user profile service
This should be a simple SharePoint connector so this piece of PowerShell glue is not required 👌
E.g. CRM user skills to User Profile properties#2 Help me make Dynamics 365 CRM data searchable from SharePoint search
If not using a connector, we should be able to easily index and search through Dynamics 365 CRM data. This is essentially just calling a different API.
#3 Help me customise SharePoint search results
If you don’t want either of those options (i.e. you users’ skills are stored somewhere else), we should be able to change the search results UI.
E.g. Search for people here: https://ssw.com.au/people#4 Help me search for user entities in Dynamics 365 CRM
There should be a global user search that goes across all entities in Dynamics 365 CRM.
Out of the box, SharePoint provides widgets (aka webparts) to style your link with a consistent look and feel. Standard left-navigation also supports emojis 💖.
If that's not enough and you want to customize your own links somewhere else on screen, use CSS to match the extension at the end of the
<a>
tag. Don't forget to add some padding to give it some space before the text (where the icon will be).Option A: Standard left navigation + emojis 💖
If you want to style your navigation, using emojis is the simplest way to achieve consistency.
✅ UI - Consistent icons
✅ No-code solution (configuration only)
✅ Fast to load (no extra CSS to load)
✅ Free $ (Out of the box)
✅ Can be used in any size
❌ Somewhat limited choiceOption B: Navigation using buttons via configurable Webparts (Recommended)
Using webparts is the best way to achieve a consistent look and feel. Webparts can be customized by admin users, and require no maintenance as far as styling is concerned. SharePoint uses Office UI Fabric icons under the hood.
✅ UI - Consistent emojis
✅ No-code solution (configuration only)
✅ Fast to load (no extra CSS to load)
✅ Free $ (Out of the box)
✅ Can be used in any size
✅ Large choice of iconsSharing the news is an effective way to update the team about important developments, announcements, and articles. SharePoint's News feature provides a streamlined platform for disseminating information and engaging your team members, now enhanced with the capability to send news directly to email.
Getting Started
- Navigate to SharePoint and locate the "My News" section on the left side of the page.
- If you're using the News feature for the first time:
- Select "Create news post" to create a new post from scratch or select from a template.
- Alternatively, you can select a news post from the previous month and click the "+ New" button, followed by "Copy of this News Post" to duplicate the content.
Creating the News
- Once you're in the News post editor, update the date to reflect the current or intended publication date.
- Enter your news content in the provided text editor. Be clear, concise, and engaging in your writing, keeping in mind the target audience for the news post.
- You can use formatting options such as headings, bullet points, bold or italic text to enhance the readability and visual appeal of your news post.
- Consider including relevant images, videos, or attachments to provide additional context or resources, if necessary.
- Proofread your news post for any spelling or grammatical errors before publishing.
- Imform the company that the news is ready by clicking the "Send To" button located on the news site.
- New Feature: After creating your post, use the option to send it directly to email. This can be done by selecting a new option to distribute the news post as an email, ensuring wider reach and accessibility.
Maintaining consistent site naming
- Once you have saved the news post, click the settings icon in the top right corner of the SharePoint page.
- From the dropdown menu, select "Site Contents" and then click on "Site Pages" to access the page listing.
- Locate your news post file within the list and select it.
- Click on the "Rename" option to change the file name.
- Follow a consistent naming convention, such as using the format "The-SSW-Times-YYYY-MM" (e.g., The-SSW-Times-2023-05).
- Ensure that the file name reflects the content of the news post and includes relevant identifiers, such as the title or date.
Benefits of using SharePoint's News feature, now with email integration
- Enhanced visibility and discoverability: Provides a central platform for news, now accessible both on SharePoint and directly via email.
- Structured and organized content: News posts are well-formatted, with the added benefit of being optimized for email viewing.
- Engagement and collaboration: SharePoint's News feature encourages interaction and collaboration among team members. Readers can leave comments, ask questions, or provide feedback directly on the news post, fostering a sense of community and promoting active engagement.
- Version control and archiving: With SharePoint, you can easily maintain a version history of your news posts. This allows you to track changes, revert to previous versions if needed, and keep a comprehensive record of past announcements or updates.
- Analytics and insights: SharePoint provides analytics and usage data, allowing you to track the reach and engagement of your news posts. You can Gain insights from both SharePoint and email interactions, understanding the full scope of your news post's impact.
Figure: Good Example - Share the latest announcement and updates using a digital method, such as SharePoint
Usage analytics is quite important - it allows you to identify popular and unused pages or sites, but also helps measuring users' engagement.
There are 3 places to check for Usage reports in SharePoint:
- Page Usage
- Site Usage
Site owners can access global site usage reports:
- Tenant Usage
This is by far the most interesting and import report. You need special (tenant-level) permissions to access those usage reports
Now enjoy the full power of SharePoint usage analytics !
You will need SysAdmin help to get access to those reports.
Because SharePoint server will create quite a few databases, it’s easier to manage them in a separate SQL instance rather than mixing it with other system’s databases: