I inherited a SharePoint site that needed some TLC. While we have utilized SharePoint and I was familiar with the basic concepts, I never delved too deep into the specifics.
This site was already half-baked, and in production use. So I had to come up with some ideas on updating and moving content without affecting the organization.
Little tips and tricks
I’m not sure how useful the rest of these items will be, but I personally found them to help.
- As an admin, you’ll get a little gear icon at the top right of each page. But it doesn’t appear right away - it could take up to 15 seconds or so sometimes. It can be confusing. Be patient and it will appear.
- Microsoft puts a nice paint job on top of existing older architecture, but you’re going to find yourself jumping deep into admin areas that haven’t been updated to the new skin. It can also be confusing.
Prepping for the work
I’m listing things in the order I SHOULD have completed things, not the way I actually did them.
You need a separate login as a global administrator, not just a SharePoint administrator. Don’t make your personal everyday login the global administrator because you’ll want to see how things look with a regular user. Also, jump into the Global Administrator account as little as possible, you don’t want to be logged in as that user all day and accidentally mess something up. But you’re going to need that level of access - I kept bumping up against permissions issues without it.
Start your administration exploration in the web portal rather than directly on the command line (https://domain-admin.sharepoint.com is the pattern to find the admin site)
You’ll have to jump into the command line at some point, but the majority of things can be completed through the web admin.
I’m not sure this was necessary for me right now as I start learning the ropes, but I did end up installing all this and by golly I was going to use it!
You can’t utilize the PowerShell SharePoint command line options on Mac so don’t waste your time going down that route. I wasted far too much time going down that route.
You will need:
- Windows Terminal from the Microsoft App Store
- An updated version of PowerShell
Note that I didn’t link to a specific version. If you are on the latest version of PowerShell, you’ll get warning that the SharePointPnPPowerShellOnline module is legacy. You can install PnP.PowerShell instead. There’s also a SharePointPnPPowerShell2016 and 2013 version so you’ll have to pick the right one for you.
If you inherit an existing site, or you’re starting your build. Make sure you get permissions right and audit them on an existing site before you do anything else!
Don’t fight SharePoint’s default permissions groups. They provide you with the following out of the box:
- Site owners - full control
- Site members - limited control
- Site visitors - no control
Put at LEAST two people in the Site owners group - and NOT your global admin account - that way if one person is not available, the other can cover.
Site members should be the support team that may need to make edits but shouldn’t be altering the layout of the site. It will probably vary by each site you create.
Site visitors - now this one you may want to setup a “All employees” group for your communication sites and use that globally. That gives them the ability to peruse the site and pull down docs, but they can’t save to the site or make any kinds of edits. I didn’t find it, but I bet there is a way to set this group as the default value across all new sites that get generated.
And, although the first layer of Permissions Admin UI sure looks nice when it pops up, every time I had to jump into the “Advanced permissions settings” at the bottom of the modal to get things setup the way they needed to be.
I have no idea why SharePoint didn’t set the defaults this way, but for any type of sharing (OneDrive and SharePoint), the default options should be set to “Only members of my organization” and “Users with link can view, not edit”.
Do this EARLY, before you users get settled into a specific way it works. You’re not taking anything away, but you’re increasing security by setting these options, which is most often what users want anyway - but sometimes forget to set.
- Guest access to a site or OneDrive will expire automatically after
- File and folder links - Default to sharing with Only people in your organization
- Permissions - Default to View only
- Expiration and Permissions for Anyone links - Set the expiration to SOMETHING. Don’t just let them be active forever. Even if it’s 720 days, it’s better than nothing.
I had imagined SharePoint was just a big collection of pages, but there is a new concept of Hubs connected to Sites, and those connections affect things like Search Results. I still need to do more data on this part, here’s some useful links I’ll reference later.
We did a conversion from an old version of SharePoint to the newest fancy Office 365 version. We had some SharePoint wikis, and it was a bear to convert over. I understand now there may have been a conversion tool we could have utilized, but I wasn’t part of that process, so I just have to go with what exists today.
The way the wikis are structured doesn’t allow you to extract the content easily, like as markdown files for example. It’s all stored in a database and the .aspx wiki pages don’t actually store the text, which is a bummer.
So I don’t really recommend utilizing Wikis on the new SharePoint either because you’ll be in the same boat. I wish there was a better solution, but for now we are using OneNote notebooks instead. It’s so much easier for staff to update and manage that way.
This is just my personal preference.
Every time you create a new MS Teams “Team”, a SharePoint site along with all kinds of other things get created. But depending on the type of SharePoint site you create, the reverse isn’t true - you can create a SharePoint site without all the overhead and connectivity of a MS Teams configuration.
If you don’t maintain this it can get really out of control - users have the ability, by default, to create as many MS Teams as they want and they have no idea what all is going on behind the scenes when they do that. You’ll have tons of sites with no idea if they are really needed.
My recommendation is this: MS Teams should MOSTLY be for small teams that are working on a specific project. I’ve found at least one instance in our organization where that isn’t true, but that’s out of 15 sites. To be honest, I’m not going to promote that there is an associated SharePoint site for every MS Team - if they find it, great. But they like working in MS Teams and don’t normally want to switch over to SharePoint. I’m not going to display them one SharePoint site navigation.
SharePoint should mostly be communication sites - content that isn’t specifically related to an ongoing project, but content that general staff may need access to.
A good example - Finance may need a MS Teams site to chat and share amongst themselves, but that MS Team group should be restricted to only their team members. But they also will need a communication site to share specific forms and information to staff (reimbursement forms, tax forms, etc.)
One of the sites I created was a port of all the documentation that existed on our previous SharePoint portal. I wanted this to be an archive and I was concerned about bringing it into the new SharePoint because I was afraid it would get pulled into Search Indexes and staff would be pulling up old stuff.
I found a way to limit indexing of a document library to only the site it was contained within. So that way, these archived documents don’t appear in the main SharePoint portal’s search results.
Again, you’re going to delve into layers upon layers of admin pages - I’m sure there is a simple command line function that would do this much faster.
From the document library itself, you’re going to go here:
Gear Icon > Library Settings > More Library Settings > Advanced Settings
Set “Allow Documents to appear in Search” to No.
You could also do this at the Site level as well or instead of each library.
Site Page > Gear Icon > Site Settings > Search > Search and offline availability
Set “Allow this site to appear in search results” to No. I didn’t go this route so make sure to test your changes.
I bet you have to wait 24 hours for the indexing and I don’t know where to go to see the status of index jobs.
I’ve got a lot of work to do on this portal. I’m not going to be able to get every site and page updated at once. So how do I keep track of what I’ve completed and what’s left to do?
What I ended up doing was applying a distinct new template design to the pages I have audited and updated. You could also just put a little stamp or a version indicator, but this template change made it super simple not only for me but for staff to know if the content was updated.
In my example, I went to Gear Icon > Site Settings > Change the look > Theme and changed the site theme from a lite theme (white background) to the Dark Blue theme (dark background).
You can’t just throw SharePoint and Office 365 into the laps of your staff and expect things to go smoothly. A guided path is necessary - as I stated before, restrict everything, then introduce new things as necessary. Don’t HIDE the features from staff, but also don’t put them out there without an introduction to their usage.
There’s a “learning path” module that I am going to look into configuring for our organization.