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. There are a lot of great posts and articles related to the latest and greatest, but I haven’t found people trying to utilize modern web technologies in 2010 or 2013 environments. For clients who currently work in 2013 and for whatever reason do not have the App Model working, these posts should help out. Again, the goal of these posts is to give the ability to develop using the latest web technologies, regardless of the environment and roadblocks.
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.
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.
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 uses the the “Intro to Redux” project, but the concept can be used for any NodeJS project. It brings together all of the work, including JSLinks. I wrote a separate article to focus on just the JSLink portion of the post, as I thought this was a very important concept. We can utilize JSLinks and fully customize a list view to display your NodeJS project, while letting SharePoint’s out-of-the-box (OTB) list view webpart do all the work related to the data source. This will allow the developer to focus soley on the visualization of data.
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.
All of the posts, except for the JSLink one, 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. This will force the developer to have to download the actual git project, which I didn’t really like. To make life easier, I created a github project to display examples of the Fabric UI components. This page will give an option to view the code and give basic examples of how to use them in React.
This post gives a recommended approach to developing scripts for SharePoint. This template contains sample code for creating a link in the top ribbon, customizes a list view using JSLinks and includes install/uninstall scripts for the SharePoint solution.
This post gives a recommended approach to creating modern webparts in SharePoint 2013.
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 latest web technologies.