SharePoint Development Recommendations
I’ve written a lot of blog posts to help give concepts of how to do SharePoint Development, and thought it would be nice to reference them in one page. The concept of these solutions is to architect the projects to be platform independent, so we can plug them into any environment whether it be SharePoint 2013, 2016 or Online. The solution can be placed in a wsp, app or SPFX, as well as being deployed manually. Regardless of the environment, whatever you develop will have a clear upgrade path to the SPFX, to ensure the code isn’t thrown away when the client upgrades.
These posts were written for SharePoint developers who are still working in 2007/2010/2013 environments, where their client is not ready or is currently trying to upgrade to 2013/2016/Online. These posts were created to give examples of the various ways to customize SharePoint.
SharePoint REST API & React Framework
The gd-sprest library will help make the interaction with SharePoint a lot easier. It’s similar to the Office JS PnP, but this library can be used in the browser’s console window giving a “PowerShell-Like” experience in the browser console. It has many helper functions and gives a “Server-Side” development experience. The wiki has a lot of information, but one of the more important ones to reference is the ability to have full control of the request.
Most of the posts utilize the Microsoft Fabric UI React Framework. The components page in the Microsoft documentation is very useful to display what you can do with the Fabric components, but the code examples leave out references that the developer is required to know in order to actually use them in their projects. I created a github project to display more in-depth code examples of the Fabric UI components. Some of the examples on the Microsoft site have code references, which are not displayed.
SharePoint Add-In Examples
I do recommend learning both Angular and React, but chose to focus on React. I went down this route due to Microsoft selecting React as their selected choice with the Fabric UI. All of their component examples are written using the Fabric UI React Framework. This post gives an overview of my recommended architecture of the projects, and how we can develop them to easily plug into other solutions (App Model, SPFX, etc). The main goal of this post was also to give a basic introduction and explanation of webpack, babel and typescript. This information are the stepping stones to learning the SharePoint Framework, so this information will help you in the future.
This next post gives an introduction to Redux, and is a continuation of the “Intro to React” post. For more complex applications, it’s recommended to use Redux with React projects. The goal of this post is to give an example of building out components and how to connect them to the store. I try to give real-world examples, so hopefully after running through this post 3-5 times you’ll have a great grasp on how to develop real-world solutions.
This post gives an overview of a starter project using the Office Fabric UI React framework and Redux. This is a great follow-up post for the “Introduction to Redux” post. It gives a high level overview of the flow of data from start to finish, which is key to developing with React/Redux.
List Form/View Customization Examples
This post gives an overview of JSLinks, which were introduced in 2013. It can be used online, but you must set the list to be in “Classic” mode. This is another way to create customizations in SharePoint List Forms and Views.
This post utilizes the concepts from the “Deploying NodeJS Projects to SharePoint” post. It’s a great starter project for creating multiple JSLink scripts. It includes sample code to prevent conflicts when adding multiple list view webparts to the same webpart or wiki page. This post also provides a high level explanation of the list view templates.
SharePoint 2013/SharePoint Online (Classic Mode)
This post is part of a blog series of creating modern webparts for SharePoint 2013. It gives an overview and example for creating webparts with custom configuration panels. The examples use the various frameworks:
SharePoint Online (Modern Experience)
At this point, if you made it through all of the posts then I congratulate you. You have the tools and knowledge to quickly deploy basic and advanced solutions into SharePoint, while ensuring the code written is geared towards the modern web stack. The react code used in the examples, will easily be ported over to the SharePoint Framework (SPFx). For training on this, I recommend voitanos.
I hope these posts have been helpful. Please don’t forget to * the gd-sprest, gd-sprest-js & gd-sprest-react github projects 🙂