This post lists a few gems I’ve learned over the years about SharePoint, many through some hard-fought lessons. If you’re new to SharePoint and self-identify as a power user or citizen developer, you may find some of these helpful.
My curated list in no specific order:
Let’s dig in.
1: Did you know there’s a hidden Taxonomy list on every site?
This list needs to be updated before you’ll see any managed metadata changes made in the tenant term store on the site collection.
Content on the site references this local list to display the values associated with the underlying term IDs. It is periodically updated to reflect the latest terms by a batch process (in case they were changed in the term store).
The hidden list can be found on any site collection at this URL:
2: Did you know you can make a unique constraint on a site/list column?
What does this mean? It means you can ensure each value in a column is unique. An excellent use-case for this is the Title property in a lookup list. You want to ensure every value in a lookup list is unique – if you set Enforce unique values to Yes on the column settings, it guarantees that!
3: Did you know you can enforce a relationship behavior between a lookup list value and any place that uses it so if a lookup value is being referenced, it can’t be deleted? Good idea by the way.
This is particularly important if you have business users maintaining the lookup list who may not be aware of the downstream effects of deleting an item – they may not even be aware of which lists are using it as a lookup since this is not visible through the UI! If you select the option to Enforce relationship behavior with Restrict Delete, you will be unable to delete an item from a lookup list if it’s being referenced anywhere else. Conversely, you can select Cascade delete if you want to delete all items referencing the lookup list value if it is deleted. However, I don’t see this option used very often.
Note: this option is only available to you at a list content type level or on a regular list column… not at a site content type level.
What’s the use-case for this? Imagine you had a lookup list of document types. If you had several documents tagged with a specific document type, this would prevent you from deleting the document type from the lookup list because it’s in use.
4: Did you know a custom site content type becomes a list content type once it’s added to a list or library?
Why is this important? If you try editing the custom content type associated to a list, you are not changing the site content type. You need to ensure you’re editing the content type at the correct level… if you want content type to be used consistently across the site, make sure you’re editing the site content type and NOT the list content type.
Note: NEVER modify a base content type. Always create a custom content type inheriting from the base content type its modeled after and make the changes to the custom one.
- Project document content type inherits from the document content type
- Hot Sheet content type inherits from the item content type
5: Did you know if you remove a column from a site content type, it will leave a local list instance of the column on the list?
Sometimes you decide to remove a column from a site content type. When you do this, the column will remain on any list where the content type is being used. It will turn the column into a list column and will disassociate it from the content type. To completely remove the column, you must also remove it from the list/library columns through the settings page of the list/library. It’s a good idea to do this to keep your lists and libraries clean.
6: Did you know you can use calculated columns to get “smart” with your metadata?
I love using Calculated columns as something that is automatically done for an end-user. You can group and filter a list/library with their value and even reference them in a Microsoft Flow. Here’s a list of commonly used calculated columns I’ve used with customers of mine:
7: Did you know the Hidden/Required/Optional option for a column is only available within a content type?
If you need to hide a column in a list (often a very useful thing to do), you can do this for columns on both a custom or base content type. Hidden columns’ values can be displayed in views, but they are not editable by an end-user. But… there are rules to follow to use them!
List columns added to a list or library can be made hidden by showing the default item or document content type in the settings. You do this by enabling content types in advanced settings. Once enabled, you’ll see the item/document content type in the list/library settings. Click the content type and toggle the hidden option for any list column you want hidden.
Site columns added to a custom content type (anything inheriting from a base content type) can also be hidden. The best place to set this is at the site content type level. If you edit a site column, you will be able to set the hidden property. This will make the site column hidden across any list/library the content type is used in.
A good use case for hiding a column: If you want to have a column on an item or document that is controlled by a Microsoft Flow and you don’t want an end-user changing it… make it hidden! A site provisioning status is a great example of this.
8: Did you know the listview threshold is about the number of items/documents you’re trying to retrieve at one time in a view and NOT directly about the number of items/documents in a list/library?
I can’t begin to tell you the number of times I’ve had people say SharePoint can’t manage more than 5,000 documents in a library. This is simply not true. You can have millions of documents in a library; however you need to plan ahead for how you’re going to want to retrieve/view them.
Search is your best friend when it comes to finding documents in a large library. Recent improvements to large library performance allow column indexes to be automatically built on libraries up to 20,000 items, however you still need to follow the guidance in this Manage large lists and libraries in SharePoint post.
9: Did you know Audience Targeting is the only thing where a web part can be hidden from a site collection administrator on a page?
Audience targeting has been around for a long time in Classic SharePoint. It was recently announced in modern SharePoint as well! Check out a recent post I wrote on Valo’s blog, Target your modern SharePoint content to the right audience, where I show how to set up modern pages for target audiences.
Normally, a site collection administrator has access to everything and can see all things in a site. Audience targeting is an exception to this. Unless the site collection administrator is in the group that a web part is targeted to, they will not see it. They would have to edit the page, and only then would they be able to see the web part to edit it.
What’s the use case for this? Have a Highlighted Content Web Part on the home page of a site targeting Senior Leaders to contain curated content for them. Please know that this is not the same thing as security-trimming content, it’s only showing/hiding web part content based on membership in a group – a person not in the group could still navigate to the list and see the items showing in the web part if they had permission to the list/library.
10: Did you know not EVERYTHING in SharePoint has a recycle bin or an undo button?
This one can be a hard lesson to learn. Examples of things you can’t easily revert are:
- Changing some site column’s settings: for example, if you change a column’s data type you may lose data you can’t get back by reverting the change
- Deleting a column definition from a list – once you do this, the only way to get the data back that was associated with the column is to restore the site/list
Therefore, it’s important for site owners to understand what can and can’t be recovered from when making changes.
I hope you found some of these helpful as you build out your own solutions in your SharePoint environment.
Interested in learning more about the Board of Directors site in Office 365, essentials of a Modern Site Architecture or Intranet Home Page Design? Great!