Any of you that have been working with SharePoint for any length of time knows that she has some personality quirks. Many times when we or our coworkers encounter one of these quirks and ask the question, “Why is this happening?”. The response is almost always, “Because it’s SharePoint.”
If you tuned into my webinar on Valentine’s Day (Yay, I’m so glad you did!), you got to hear a few of us talk about those things which we love to hate about SharePoint. If you missed the live webinar or just want to relive it, simply follow the image below!
We also discussed the ways we work with, around, or just plain cope with these quirks and features. If you didn’t attend the webinar (insert sad face here) don’t fret, I’m going to recap and expand a bit on what we discussed.
In the webinar we hit on the following things:
- An unexpected error has occurred
- HUGE amount of data; tiny little window through which you can view it
- SharePoint is always changing! What was customized in the last version isn’t always going to be supported!
- Working on it…
All these things can lead to a broken heart. We’re going to talk openly and honestly about a few of these heart breakers and share with you best practices and coping mechanisms. Let’s get down to it.
An unexpected error has occurred…
This one can definitely be a heartbreaker. But, grab that Correlation ID and time stamp then run, don’t walk (or just email it) to your SharePoint Administrator. If you’re the admin, time to hit the ULS logs. But remember, the Correlation ID isn’t an error code, it’s a GUID that gets generated automatically for each request that your SharePoint servers get. What this means for you is that the ID will be unique to the request received by the server, not the error. That’s why the time stamp matters.
Huge amount of data; tiny window to view it through
This was one of our SharePoint Architect Stephen Wilson's love to hate items. SharePoint, when properly configured, has a list limit of 30,000,000 items. Yes, that’s per list. But no, you may not consume 30,000,000 in one single view. The default number of items you can have in a single view is 5000. Why not everything in the list? Because all that data is in SQL and SQL can only do so much at a time. If we ask SQL to go get everything and show it to us RIGHT NOW then SQL will put a lock on the table holds not just that one list’s data, but all the data for the content database. The lock will last however long it takes for SQL to pull the data and send it on to you. While that’s happening, if anyone else is trying to access data in that content database they’re going to have to get in line and wait. Presuming it doesn’t just crash all together. If it does crash, I recommend skipping ahead to the end of this blog.
So what to do? How can we get to all 9,000 items in out massive list/library? In small(er) manageable chunks called views.
Views are based on metadata:
- Country, State, City, Office
- Mix and Match
Once a view is configured there’s not much else to do. When a document is uploaded or an item created SharePoint uses the metadata provided in columns to show it in the appropriate view(s). An added bonus that comes with views is their own unique URL. Remember that with SharePoint, if you can browse to it you can link to it. Use links to views to help folks get to the data they need.
Folders are the old way of organizing our data. Let’s face it, there's not really such a thing as one folder. It usually becomes something like this:
Aside from hiding data from our view, folders make it all too easy for data to become duplicated in our libraries. Since each folder has its own URL we can drop the same file into multiple folders in the same library. We all know from our file shares that when users (ourselves included) can’t find what they’re looking for, where they expect it to be, they will put it there. Regardless of if it exists somewhere else. Now, the next time we need to update that file which one will be updated? Well, that depends on who will be doing the updating and which copy of that file they know how to find, doesn’t it?
Another reason to be wary of folders is the additional characters they add to our URLs. Remember, we only get 256 characters and every time we add a folder inside a folder we’re adding more length to the address.
Let’s say we work at an Awesome Company and that they have a Great Site with Important Documents. Some of these Important Documents are Important Budget Documents. Depending on who set up the SharePoint library for them and how they’re used to working with data we may find a structure that looks something like this:
Honestly, this is a best case scenario for someone not used to thinking about URL lengths (and we’ve all been there) because you’ll notice that there are some abbreviated words. We’ve all see those files that are named, practically word for word, with the first sentence of the document, sometimes with all kinds of punctuation thrown in; maybe even the date! That just adds more and more length to the URL.
If we create a view, sure the view name will be part of the URL but after that come the document title. That’s it. Short and sweet. Just like some SharePoint consultants.
We just have to change the way we approach organization and a little getting used to.
Speaking of change…
Have you ever noticed that SharePoint changes?
The first HUGE change to SharePoint I lived through was the jump from 2007 (good ‘ol MOSS) to 2010. Just the change in the number of service applications alone was massive, not to mention the UI changes. We survived but, alas, not all customizations did. Although we may not be able to future-proof all add-ins and customizations to your SharePoint environment, PAIT’s very own Stephen Wilson does have these words of wisdom to offer.
“SharePoint has always been a changing target and with O365 the pace of change has accelerated. There is no guarantee that any given feature or interface will work forever. Despite that uncertainty there are things you can do to increase the longevity of solutions you create.
Remember, SharePoint has a lot of functionality and Microsoft provides more through various tools. Use as much of it as you can.
The quickest way to get into trouble with SharePoint is to try and completely change the way it works. Extending functionality is one thing, but trying to replace something built in is asking for trouble. If you want to automate something look at the built in workflows, or the newer Flow instead of a completely custom process. If you want to customize a form to work with a mobile device look at PowerApps to see if you can get what you need, instead of altering a page completely.
The current favored model of customizations in SharePoint, the Add-in Model (formerly App Model) is preferable for exactly this reason, most of the logic and resources used by the customizations happen outside of SharePoint either on a different server or on the clients. This is done, at least in part, to allow Microsoft to make changes and updates to the underlying system with as little disruption as possible. Problems will still occur, but far fewer than if the solutions were hosted inside of SharePoint itself.
Use clues from Microsoft, they give you lots of advice on their Office Blogs and a lot of talented people who don’t work for Microsoft add content there as well. Our own MVP Mark Rackley has an elegant forms solution called Stratus Forms that offers a great alternative to InfoPath. You can find more of his bacon-wrapped SharePoint solutions on his site.
There is no silver bullet, unfortunately, but these are some of the things that you can do to make sure SharePoint meets your needs as a platform and a service with the less effort and disruption.”
Wise words from a wise man. The next time your developers start talking “custom code” please refer back to this page. You’ll thank Stephen when it’s upgrade time.
Working on it… This shouldn’t take long
But it might. And it can be annoying. Take heart; slow is good with SharePoint!
“But I just need a subsite. It shouldn’t take this long!”
Really, let’s think about what all is happening. SharePoint is gathering the necessary site and page templates, content types, columns, apps and app templates, making sure permissions are correctly copied or set up as you specified on the previous screen.
Maybe you’re simply importing a spreadsheet so it can be used as a living, breathing list instead of a flat, easily corruptible Excel file, that doesn’t always happen lickety-split either. Remember, there’s stuff SharePoint has to do to prepare that file and give it all of the awesome attributes every other list has.
If there’s one thing that working with SharePoint has taught me it’s this: When something has happened fast, then that something happened wrong. Don’t rush women and don’t rush SharePoint. Both are complicated creatures and need to take their time, sometimes. It shouldn’t take long… but it might.
Coping with the heartbreak SharePoint can bring
I hope that this has blog and the webinar that inspired it has been a comfort and a help to you. We all have our things that we love to hate about SharePoint but where would we be without her? I don’t know about you but I don’t think I could ever go back to Access databases and Excel spreadsheets being the primary tools of data management. Yes, we have our issues to work through with SharePoint but we’ll get there.
Along the way we have each other and the SharePoint community to offer advice and a shoulder to cry on. And on those evenings when you just need to relax and get away from the unexpected errors and deeply nested fodders I offer this to you:
“SharePoint Blues” Gin-Fizz