Want to get your organization using SharePoint to collaborate? Check SSW's SharePoint consulting page.
Rolling out SharePoint solutions without a disciplined approach quickly creates brittle customisations, blocked release pipelines, and unhappy users.
Development for SharePoint is very different depending upon whether you are online or using On-Premises SharePoint.
- SharePoint designer can silently reformat your code and introduce errors.
- If you modify any master page or page layout file with SharePoint designer, it becomes customized. This means that SharePoint is now looking at a customized version stored in the database rather than the version on the file system. You then can't deploy future changes, because SharePoint will now always serve the customized version instead of the ghosted version in the solution package.
This is to prevent their work affecting other developers. During development, you can expect many of these things to happen:
- IIS resets may need to be done frequently, which stops the SharePoint website working.
- Custom web parts can easily introduce memory leaks which can stop SharePoint working.
- You may be running development SharePoint in debugging mode which would hold the server thread.
- You may be reading event or error logs that are being polluted by other developers simultaneously.
Thus, all SharePoint customization and development must be done on a Virtual Machine. No ifs, no buts.
- It's very important to correctly setup a SharePoint environment for development. Correctly configured, this will save you a lot of trouble later on.
- From time to time, you can seriously screw/damage a SharePoint installation during development and it is best not to install SharePoint on your day-to-day machine.
- Additionally, when you start a new SharePoint project you don't want to carry all the baggage from previous customizations that could potentially affect your new project.
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.
Most people have now moved to SharePoint Online, either from scratch or by migrating content from previous versions of SharePoint. In SharePoint Online, a lot of legacy features have been deprecated and replaced by more modern counterparts. Unfortunately, chances are you have ported a whole lot of useless things as part of your migration.
[TODO: Screenshot of Useless stuff]
Before removing seemingly useless or old stuff, you should always make sure that site owners are OK with the deletion and that the data is actually not useful. In most cases however, the libraries detailed below have been added to your site by default and contain only demo and/or defautl data.
On intranets you always want a bunch of links easily accessible and customizable by the end users.
In ASP.NET deployment is a simple xcopy. Or you can right click the website project and "Publish website" in Visual Studio.

In ASP.NET - Typically, the team will store the code on a source control system such as TFS (Team Foundation Server), check it out to their own local system, develop and test locally then check it back into source control for sharing.
In SharePoint - SharePoint comes with its own document control and version history out of the box. This is great for collaborating between developers and designers, but isn’t available for everything.
Differences - Unlike TFS, SharePoint does not support multiple check-out so each file can only be checked out to one person at a time. The modification must be checked back into SharePoint.
This is the number one, and most important rule in working with InfoPath.
Always go for the lowest common denominator. It sure beats realizing half way later that your form can't be hosted on SharePoint InfoPath Forms Services!
- Do you follow SharePoint development best practices?
- Do you use the right SharePoint development environment?
- Do you know to *never* touch a production environment with SharePoint designer?
- Do you know that developers should do all their custom work in their own SharePoint development environment?
- Do you have consistent SharePoint Sites?
- Do you get rid of legacy items in SharePoint Online?
- Do you use the best SharePoint navigation?
- ASP.NET vs SharePoint development - Do you know deployment is different?
- ASP.NET vs SharePoint development - Do you know source control is different?
- Do you always set InfoPath compatibility mode to design for both Rich and Web client forms?
- Do you always use Data Connection Library for InfoPath forms?
- Do you know common web configuration stuff you will need?
- Do you know the ASP.NET skills that do not translate (aka are different) ?
- Do you know the ASP.NET skills that translate?
- Do you know the best ways to deploy a SharePoint solution?
- Do you make small incremental changes to your VSeWSS projects?
- Do you know to do data you need CAML?
- Do you have a version page for your SharePoint site?
- Do you know to try to use the Content Query Web Part (CQWP) over the Data View Web Part (DVWP)?
- Do you know what is broken in workflow?
- Do you use SharePoint designer well?
- Do you always use Site Columns instead of List Columns?
- Do you know when to use CAML instead of object model?
- Do you know when to use SmartPart or WebPart?
- Do you have a favicon on your SharePoint site?
- Do you know where to add style files for SharePoint deployment?
- Do you know why you need to use solution package instead of deployment manually?
- Do you know you can't think of data the same way?
- Do You Let Your Designers Loose on SharePoint?
- Fix HTML - Do you make SharePoint CSS friendly?
- Do you aim to customize a SharePoint webpart first?
- Do you know how to deploy SharePoint?
- Do you use LINQ instead of CAML?
- How to publish a report based on a list?
- Do you indicate the magnitude of a page edit?
- Do you use field and list item validation (in 2010)
- Do you know how to work with document versions?
- Do you know the best way to take SharePoint data offline?
- Do you create BCS connections to all your line of business (LOB) applications?
- Do you have uptime checks for your public sharepoint site?
- Do you know how to get the SharePoint document version in Word?
- Do you turn off auto activation on farm and web application scope features?
- Do you know when to use BCS?
- Do you avoid using BCS when you need Workflow?
- Do you format date selectors to include the weekday?
- Do you know what collaboration means?
- Do you remove ‘My Site’ and ‘My Profile’ if you are not using them?
- Do you know how to fix people's display name in SharePoint ?
- Do you know this quick fix for SharePoint JavaScript errors that prevents you from switching page layout?
- Do you stop editing, when you see “Read Only”?
- Do you know the best way to implement administrators' login
- ASP.NET vs SharePoint development - Do you know what you get for free out of the box?
- Do you customize group header styling in lists?
- Do you know how to create a "Customer Portal" in SharePoint?
- Do you know how to set up Application Insights (in SharePoint)?
- Do you know how to sort in view by a column through code
- Do you know the best forms solution?
- Do you reduce diagnostic logging level after configure hybrid search?
- Do you turn off auto-update on your servers?
- Do you use the right service in SharePoint 2013
- Do you know to never dispose objects from SPContext.Current?