SSW Foursquare

Rules to Better SharePoint for End Users - 10 Rules

Want to get your organization using SharePoint to collaborate? Check SSW's SharePoint consulting page.

  1. Do you avoid using specific characters in friendly URL?

    When adding a friendly URL, please avoid using specific characters like + : # & , ) ( ! \ } { @ / = $ (and so on) due to these reasons:

    1. When adding a friendly URL, we meant to make it friendly and easy for the user to read and remember, and these characters add complexity
    2. Some characters are unsafe characters, they will be encoded, which end up making the URL really messy and ugly. Example: double quote (“) will be encoded as %22.

    SharePoint

    Some characters are reserved characters, which may not be supported by some features, based on our experience, “+" is not supported in “canonical" to redirect from http to https.

    http://ssw.com.au/rules/when-to-use-+1

    Figure: Bad example - This URL will throw a 404 error rather than redirecting to https://

    http://ssw.com.au/rules/when-to-use-plus-1

    Figure: Good example - Redirect works fine if the URL doesn't include “+"

  2. Do you know how to name documents/files?

    When naming documents and images, use descriptive words and kebab-case (where you separate words with hyphens) to make your files more easily discoverable.

    ✅ Choose the right words

    The file name and its title is regarded more highly by search than the content within documents. Also, the file name is what is displayed in search results, so by making it descriptive you are making it easier for people to identify the purpose of your document.

    Once you have chosen the best words, make it readable and consistent in formatting:

    ❌ Avoid spaces

    Monthly Report.docx

    Figure: Bad example - File name using spaces to separate words

    As far as search goes, using spaces is actually a usable option. What makes spaces less-preferable is the fact that the URL to this document will have those spaces escaped with the sequence %20. E.g. sharepoint/site/library/Monthly%20Report.docx. URLs with escaped spaces are longer and less human-readable.

    Know more on Do you remove spaces from your folders and filename?

    ❌ Avoid CamelCase

    MonthlyReport.docx

    Figure: Bad example - File name using CamelCase doesn't have spaces but also doesn't contain any separators between words

    This is a popular way to combine words as a convention in variable declarations in many coding languages, but shouldn't be used in document names as it is harder to read. Also, a file name without spaces means that the search engine doesn't know where one word ends and the other one begins. This means that searching for 'monthly' or 'report' might not find this document.

    ❌ Avoid Snake_Case

    Monthly_Report.docx

    Figure: OK example - Underscored (Snake_Case) URLs have good readability but are not recommended by Google

    Underscores are not valid word separators for search in SharePoint, and not recommended by others. Also, sometimes underscores are less visible to users, for example, when a hyperlink is underlined. When reading a hyperlink that is underlined, it is often possible for the user to be mistaken by thinking that the URL contains spaces instead of underscores. For these reasons it is best to avoid their use in file names and titles.

    ✅ Use kebab-case

    monthly-report.docx

    Figure: Good Example - File name uses kebab-case (dashes to separate words)

    A hyphen (or dash) is the best choice, because it is understood both by humans and all versions of SharePoint search.

    You may use Uppercase in the first letter in Kebab-Case, however it's important to keep consistency

    Extra

    • Add relevant metadata where possible

    If a document library is configured with metadata fields, add as much relevant information as you can. Metadata is more highly regarded by search than the contents within documents, so by adding relevant terms to a documents metadata, you will almost certainly have a positive effect on the relevance of search results.

    • Ensure filenames are unique when tracking files with Git

    Within a team, there may be a mix of operating systems being used by its members. For users on MacOS or other OS's that have case-sensitive filenames, it's crucial to ensure that filenames are unique. For example, don't use 'File.txt' if 'file.txt' already exists. This is especially important if these files are being tracked with Git, as it can cause issues for users on Windows, which has case-insensitive filenames.

  3. Do you know how to use SharePoint search?

    SharePoint search is a powerful tool for discovering information. Here are some tips to make sure you are getting the most from it. There are two things to consider regarding SharePoint search; firstly, how you save information to SharePoint to be more easily discoverable; secondly, how to perform searches within SharePoint.

    Here are some tips for performing searches:

    Know how to navigate SharePoint search – watch this video

    • Use the categories (top)
    • Use the filters (right navigation / faceted search)
    • Use the scope to go wider
    • Use the specific properties (see below)
    • People - Use Delve indexed properties (i.e. Skills)

    Search a specific property

    If you are familiar with the structure of the metadata in the content you're searching, you can restrict your searches to a property with the syntax <property>:<search term>. E.g. to search the filename field for the term "report", you would use "filename:report".

    Example of properties you can use (common ones);

    • Filetype:
    • CreatedBy:
    • ModifiedBy:
    • Title:

    More: https://docs.microsoft.com/en-us/office365/securitycompliance/keyword-queries-and-search-conditions

    filter sharepoint example
    Figure: Example of using Filetype: filter

    Use Boolean OR and AND operators Similar to Google and Bing, you can use OR and AND Boolean operators. E.g. "sharepoint AND search".

    Note: OR and AND must be capitalized, however, the case is irrelevant for actual search terms.

    Use an asterisk (*) wildcard for partial matches

    This can be useful if you know that certain words are used together, e.g. Fire* will return results for FireBootCamp.

    Note: Because of word stemming which is enabled by default in SharePoint 2019, 2016, and 2013, you do not need to use wildcards to find variations on words. For example, searching for "computer" will return results that contain "computers", so you do not need to search for "computer*".

    Use double quotes to find specific phrases

    E.g. search for "social media" to make sure you get results for social media, as opposed to results that simply contain the words "social" and "media" in the same document.

  4. Do you know how to view changes made to a SharePoint page?

    If you find a mistake on a SharePoint page, you should find who made the change before you fix it. That way you can inform the person of their mistake.

    As long as you are using the Text Webpart (aka the Rich text editor), you can easily see the exact changes made in each version of the page. See the advantages of the Text Webpart in this rule: Do you know why to use the Rich text editor over the Markdown editor?

    Viewing changes on a SharePoint page

    1. On the page you want to check, click on Page details

    sharepoint page details
    Figure: SharePoint | Page details

    1. Click on Version history

    sharepoint version history
    Figure: SharePoint | Version history

    1. Make sure Highlight changes on the page is on

    sharepoint highlight changes
    SharePoint | Highlight changes

    1. View the changes

    sharepoint view changes
    Figure: SharePoint | View color-coded changes

    Viewing changes to documents in SharePoint Online

    1. For the document you want to check, click on the 3 dots (Show actions)
    2. Click Version history

    Snipaste 2018 10 08 13 21 05
    Figure: Show actions | Version History

    Snipaste 2018 10 08 13 22 46
    Figure: Version history listed

    If you want to see how this is done in Azure DevOps, read Do you know the benefits of using source control?

  5. Do you know why to use the Rich text editor over the Markdown editor?

    When creating a SharePoint Modern page, you can use many different webparts to enrich your content - Videos, Embedded PowerBI, and many more.

    When you want to add plain text to a page, you have two choices: Text (or Rich Text) Webpart, or Markdown WebPart.

    md vs text select
    Figure: The two common types of Text WebParts - "Text" and "Markdown"

    Whenever possible, you should use the Text WebPart as it offers a much nicer editing experience, but more importantly provides a detailed Version History.

    version history nav
    Figure: You can navigate to the page version history through "Page Details" | "Version History"

    tick the highlight switch
    Figure: Good example - Turn on Highlight changes on this page so you can see the detailed changes in an easy-to-read format

    bad example md
    Figure: Bad Example - Markdown WebPart - No detailed history, all I can tell is that something changed on that component

    good example text
    Figure: Good example – Rich Text WebPart - I can very easily tell what's been added/removed from the content

  6. Do you know the keyboard shortcuts?

    Document libraries in SharePoint 2016 are much better. The keyboard shortcuts are:

    • Alt +  N  -  N ew
    • Alt +  E  -  E dit
    • Alt +  U  -  U pload
    • Alt +  M  -  M anage
    • Alt +  S  -  S hare
    • Alt +  Y  - Synchronization

    Read more at https://support.office.com/en-us/article/Keyboard-shortcuts-for-SharePoint-7dec847a-4f2a-47f6-9964-0ea1fba45160

  7. Do you know why you should use "Open with Explorer" over OneDrive?

    Watch Adam Cogan explaining why you should use "Open with Explorer" over OneDrive (formerly called SkyDrive):

    /***** Update on Jul 2018 ******/

    With the latest version of OneDrive,

    1. It maps the folder in a second and shows the document previews without actually download the files. Files will be downloaded when you double click them or set their parent folder as “always available locally”, then they will show a “green tick” in "status" column to indicate that the files are available locally.
    2. You can select sub folders you want to sync on your computer.

    Considering the above two points, plus "Explorer view" is being decommissioned by Microsoft Mordern pages, we'd recommend you to use OneDrive over "Explorer view" now.

  8. Do you know how to rename a Teams Channel file folder correctly?

    Have you ever made a spelling mistake when you named a Teams channel? Have you then tried to rename the Channel? If so you will notice that the underlying SharePoint folder is still named incorrectly.

    renamingachannel0
    Figure: Unwanted name on channel

    There is a workaround to rename the folder correctly.

    1. Rename the Team channel

    renamingachannel2
    Figure: Renaming the channel

    ::: infoNote: This hasn't changed the name of the folder in SharePoint!

    renamingachannel3
    Figure: The folder name didn't change yet
    :::

    1. Delete the channel

    renamingachannel4
    Figure: Delete the channel

    1. Now, in SharePoint, rename the folder

    renamingachannel5
    Figure: Renaming the folder in SharePoint

    ::: infoNote: Make sure that you rename the folder exactly the same as you named the channel.

    renamingachannel6
    Figure: Make sure the name is the same as the channel
    :::

    1. Click the ellipses beside the Team name | Manage Team

      renamingachannel7
      Figure: Manage the Team

    2. Click Channels | Select the arrow beside deleted | Choose restore beside the channel that you wish to restore

      renamingachannel8
      Figure: Restore the channel

  9. Do you change link sharing default behaviour?

    If you are checking your sites permissions regularly you will probably notice a lot of unique permissions being applied.

    uniquepermissions
    Figure: Some items may have unique permissions

    The default "Copy Link" setting in SharePoint is usually set to "People from your organization can view this document". This creates a unique sharing link each time it is used, giving people access to the file even if they didn't already.The consequence in SharePoint is that unique permissions are applied to the individual items breaking permission inheritance. It also has performance implications. Links should instead be created with the "People with existing access" setting.

    To fix the issue you need to change the default sharing method. There are 2 ways to do this - manually via the GUI or programmatically via PNP.PowerShell.

    Method 1 - Manually via SharePoint Admin GUI

    1. In the SharePoint Admin site select the SharePoint site and click Sharing
      defaultsharinglinktype1
      Figure: Select Sharing
    2. Untick same as organization-level setting | Select People with existing access | Click Save
      defaultsharinglinktype2
      Figure: Select people with existing access
    3. Repeat for each site

    Method 2 - Programmatically via PNP.PowerShell

    1. Run the following PowerShell script to change this default for all sites associated to your SharePoint Hub-Site - This script could be extended to include all sites in your tenant.
    #Variables
    $AdminCenterURL = "https://sswcom-northwind.sharepoint.com"
    $HubSiteURL = "https://sswcom.northwind.com"
    
    #Connect to PnP Online
    Connect-PnPOnline -Url $AdminCenterURL -Interactive
    
    #Get the children of the main HubSite
    $Hub = Get-PnPHubSiteChild -Identity $HubSiteURL
    
    foreach ($Url in $Hub)
    {
        #Remove the "Same as organization-level" setting. Can be set to anything Internal, None or Direct.
        Set-PnPTenantSite -Url $Url -DefaultSharingLinkType Internal
    
        #Set the Default Link type to be Existing Access
        Set-PnPTenantSite -Url $Url -DefaultLinkToExistingAccess $true
    }

    Figure: PowerShell to change default link sharing behaviour that affects security

  10. Do you confirm there is no checked out files?

    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.

    sp docs
    Figure: Here Greg Harris has not checked in a file

    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

    1. 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

    1. Run the PowerShell script
    2. 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.

    Figure: An example of the reminder email that all users receive

We open source. Powered by GitHub