Curriculum of SharePoint 2016 Development Training
?
MODULE 01: Developer Overview of the SharePoint 2016 Platform
In this module professional or developers will introduce students to the big picture of development.You will learn about the architecture and topology of a SharePoint on-premises farm.You will learn about the two main SharePoint development strategies which include full trust solutions and SharePoint add-ins.You will also be introduced to a set of tools that are often used during SharePoint development.
Topics Covered
- SharePoint Architecture and Topology
- What’s New for Developers in SharePoint 2016
- SharePoint Development Strategies
- SharePoint Developer Tools and Utilities
- Creating a SharePoint Development Environment
Hands-on Lab: Getting Started with SharePoint Server 2016
- Exercise 1: Getting Up and Running with the Student VM
- Exercise 2: Installing Office 2016 Professional and Visio 2016 Professional
- Exercise 3: Getting Around in Central Administration
- Exercise 4: Activating and Deactivating Site Features
MODULE 02: Developing SharePoint 2016 Full Trust Solutions
This module introduces students to the original SharePoint development model based on Full Trust Solutions. Students will learn how to create a farm solution containing features, feature receivers, Web Parts, modules and custom pages. Students will also learn about the steps to deploy and update a farm solution in a production environment.
Topics Covered
- Understanding SharePoint Solutions
- Features and Feature Receivers
- Creating Web Parts
- Creating Site Pages and Application Pages
Hands-on Lab: Creating SharePoint Farm Solutions
- Exercise 1: Setup Lab Environment
- Exercise 2: Creating Web Parts using Farm Solutions
- Exercise 3: Creating a Visual Web Part with AJAX Behavior
- Exercise 4: Add Site Pages to a SharePoint Solution
MODULE 03: Developing SharePoint 2016-hosted Add-ins
This module provides an in-depth examination of the supporting architecture for SharePoint-hosted add-ins. Students will learn about the role of the app web and how to design the user interface for an add-in start page. Students will also learn how to leverage the app web as a storage container for creating lists and document libraries that are private to the add-in. The module concludes with a discussion of how to develop and test add-in parts in the host web where the app is installed.
Topics Covered
- SharePoint Add-in Model
- SharePoint-hosted Add-in Architecture
- User Interface Design Techniques
- Developing Add-in Parts
- Adding Custom User Actions
Hands-on Lab: Developing SharePoint-hosted Add-ins
- Exercise 1: Creating a New Developer Site for Testing
- Exercise 2: Creating and Debugging a SharePoint-Hosted App
- Exercise 3: Creating the Hello World App Part
- Exercise 4: Creating an App Part with Custom Properties
MODULE 04: Programming the SharePoint 2016 REST API
This module examines the SharePoint REST API that is made available to developers in SharePoint 2016. Students will learn how to create REST URIs to target SharePoint objects such as sites, lists and list items. Students will also learn about the SharePoint-specific issues such as dealing with ETags and the request digest as well as passing the list item type whenever adding or updating a list item.
Topics Covered
- The SharePoint REST API
- Creating REST URIs for SharePoint Objects
- Consuming OData Results from SharePoint
- Paging SharePoint List Items
- Adding and Updating Items
Hands-on Lab: Programming with the SharePoint REST API
- Exercise 1: Getting the SharePointCRM Starter Project Up and Running
- Exercise 2: Querying a SharePoint List using the SharePoint REST API
- Exercise 3: Adding and Deleting Items with the SharePoint REST API
- Exercise 4: Updating Existing Items with the SharePoint REST API
MODULE 05: Developing SharePoint 2016 Add-ins with AngularJS
This module provides an introduction to the AngularJS Framework. Students will learn what features the frameworkprovides as well as in which scenarios it makes sense to use it.You will learn essential concepts including the MVC pattern, Angular directives and view bindings.You will also learn how to use the AngularJS Frameworkin a SharePoint-hosted app by creating controllers and programming with the $scope object to pass data from a controller to a view.
Topics Covered
- Introduction to AngularJS
- Directives and Modules
- Routes, Views and Controllers
- Angular Services
Hands-on Lab: Creating a SharePoint-hosted Add-in using Bootstrap and AngularJS
- Exercise 1: Creating a SharePoint-hosted App using Bootstrap and AngularJS
- Exercise 2: Working with Views, Controllers and Routing
- Exercise 3: Extending the AngularCRM Project with a Custom Service
MODULE 06: Understanding SharePoint 2016 Add-in Security and Authentication
This module examines how to develop provider-hosted add-ins with a server-to-server (S2S) trust in a SharePoint 2016 on-premises environment. Student will learn how to create a test certificate and how to configure an S2S trust. Student will also learn how to create a provider-hosted app project that uses an S2S trust which makes it possible to execute authenticated web service calls backto the SharePoint host environment. The module also includes a discussion of using the TokenHelper class to create access tokens and pass them to the SharePoint host when making authenticated calls.
Topics Covered
- SharePoint Add-in Security Overview
- Configuring SharePoint Add-in Permissions
- Understanding App Security Principals
- Server-to-Server (S2S) Trust Configuration
- Programming with Access Tokens
- App Authentication using OAuth
Hands-on Lab: Configuring App Permissions and S2S Authentication
- Exercise 1: Setup Lab Environment
- Exercise 2: Create a SharePoint-Hosted App that Requires Custom Permissions
- Exercise 3: Create a Test Certificate for Working with S2S Trusts
- Exercise 4: Create a S2S High Trust SharePoint Provider-Hosted App
MODULE 07: Developing Provider-hosted Add-ins with ASP.NET MVC
The module begins with an in-depth examination of the architecture of a provider-hosted add-in. Student will learn how to create a user interface experience in the pages of the remote web using a customer master page and the SharePoint Chrome Control. The module discusses how to write and test server-side code which leverages ASP.NET and the libraries of the .NET Framework. Student will learn how to create remote event receivers as well as how to implement the remote web of a provider-hosted app in Visual Studio 2015 using an ASP.NET MVC5 project.
Topics Covered
- Getting Started with Provider-hosted Apps
- User Interface Design for the Remote Web
- Working with ASP.NET MVC
- Creating Provider-hosted Apps using MVC5
Hands-on Lab: Developing Provider-hosted Add-ins with MVC5
- Exercise 1: Create and Populate the Wingtip CRM Database in SQL Server
- Exercise 2: Creating a Provider-Hosted App that uses the MVC Framework
- Exercise 3: Creating a Multipage User Interface in an MVC App
- Exercise 4: Tracking SharePoint State using an ASP.NET Session Object
- Exercise 5: Accessing a SQL Server Database using a Strongly-typed Controller Class
MODULE 08: Developing with SharePoint 2016 Lists and Events
In this module you will learn how to create lists and document libraries using the SharePoint development tools in Visual Studio 2015. Students will also learn about the various events in SharePoint 2016 including the new remote event receiver capability.
Topics Covered
- Site Columns and Content Types
- Creating Lists and Document Libraries
- Updating Columns, Content Types and Lists
- Creating Event Receivers
- Creating Remote Event Receivers
Hands-on Lab: Creating SharePoint 2016 Lists and Event Receivers
- Exercise 1: Setup Lab Environment
- Exercise 2: Creating Site Columns & Content Types
- Exercise 3: Creating Lists with Visual Studio
- Exercise 4: Create Server-Side Event for all Announcement Lists
- Exercise 5: Creating List-Based Remote Event Receivers
MODULE 09: Programming the SharePoint 2016 Client-side Object Model (CSOM)
This module introduces students to programming with the Client-side Object Model (CSOM) in SharePoint 2016. Emphasis will be placed on writing server-side C# code in the remote web using CSOM and executing queries efficiently. Student will learn how to leverage CSOM to create lists and document libraries in the host web during add-in installation. Students will also learn how to use CSOM to register remote event receivers to add behaviors to list and document libraries that have been created in the host web.
Topics Covered
- CSOM Fundamentals
- User and App Authentication
- CSOM Code Optimization
- Remote Exception Handling
- Creating Content Types and Lists
Hands-on Lab: Programming a Provider-hosted App using the CSOM
- Exercise 1: Make Sure the S2S Configuration onYour VM is Setup Correctly
- Exercise 2: Create a Provider-hosted App that Uses CSOM
- Exercise 3: Program CSOM to Query the Set of Lists in the Host Web
- Exercise 4: Using CSOM to Create a List in the Host Web
MODULE 10: Publishing, Installing and Upgrading SharePoint 2016 Add-ins
This module discusses how to manage the life cycle of a SharePoint app in a production environment. Students will learn how to create an App Catalog site and how to publish SharePoint apps. Student will also learn about the differences between site-scoped app installation and tenancy-scoped app installation. The module concludes with a discussion of app versioning and strategies for evolving the behavior of an app over time.
Topics Covered
- Creating the App Catalog
- Publishing Apps in the App Catalog
- Installing and Upgrading Apps
- Deploying Provider-hosted Apps
Hands-on Lab: App Deployment, Installation and Upgrade
- Exercise 1: Setup Lab Environment
- Exercise 2: Creating an App Catalog Site Collection
- Exercise 3: Package and Deploy a SharePoint-Hosted App
- Exercise 4: Install a SharePoint Hosted App at the Tenancy Scope
- Exercise 5: Deploy an App Update
- Exercise 6: Deploy a Provider-Hosted App in an On-premises Environment
MODULE 11: Developing SharePoint 2016 Custom Web Services using Web API 2
This module teaches student show to create, test and debugcustom web services using Web API 2. Students will learn how to implementa RESTful web service using an API controller as well as how to call this RESTful service from JavaScript code running in the browser. Student will learn how to leverage the Visual Studio scaffolding support to create astrongly-typed ODATA controller from an entity model created using EntityFramework. The module concludes with an examination of Cross-Origin Resource Sharing(CORS)and a demonstration of how to add CORS support to webservices created with Web API 2 to allow cross-domain calls from client-side JavaScript code running in a browser.
Topics Covered
- Understanding API Controllers and Call Routing
- Creating a RESTful Web Service using an API Controller
- Designing a Custom Routing Scheme using Attribute Routing
- Creating an OData Web Service using an OData Controller
- Adding Support for Cross-Origin Resource Sharing (CORS)
Hands-on Lab: Developing Custom RESTful and ODATA Services using Web API 2
- Exercise 1: Creating and Calling a RESTful Web API
- Exercise 2: Creating and Calling an OData Web API
- Exercise 3: Creating an OData Web API using a Strongly-typed API Controller Class
- Exercise 4: Adding Support for Cross-Origin Resource Sharing (CORS)
MODULE 12: Extending SharePoint 2016 Sites using JavaScript Injection
The module begins by explaining the central concept of JavaScript injection where scripts containing custom JavaScript code are uploaded to SharePoint Online and executed usingthepermissionsof the current user. Students will learn to get started with JavaScript injection usingthe Script Editor WebPart. Next, students will learn how to extend a SharePoint site by adding new pages and custom JavaScript code which makesuse of the JavaScript Object Model (JSOM)and the SharePoint REST API. The module explain show to design an effective approach for loading JavaScript library dependencies as well a show to execute custom JavaScript code with user custom actions such as ribbon buttons, ECB menuitems and ScriptLinks. The module concludes by demonstrating how to use JavaScript injection in a custom solution to provision lists and document libraries in SharePoint Online and to customize list views using client-side rendering with JSLink and custom display templates.
Topics Covered
- Understanding How JavaScript Injection Works in SharePoint Online
- Programming the JavaScript Object Model (JSOM)
- Loading JavaScript Library Dependencies
- Executing Custom JavaScript Logic with User Custom Actions
- Provisioning Lists and Document Libraries in SharePoint Online
- Customizing SharePoint List Views using JSLinkand Display Templates
Hands-on Lab:Developing and Debugging a SharePoint-hosted Add-in
- Exercise 1: Getting Started with the Script Editor Web Part
- Exercise 2: Programming the JavaScript Object Model (JSOM)
- Exercise 3: Executing Custom JavaScript Logic with User Custom Actions
- Exercise 4: Creating a Custom Solution to Provisioning SharePoint Lists
- Exercise 5: Customizing SharePoint List Views using JSLinkand Display Templates
MODULE 13: Developing Custom Workflows in SharePoint 2016
SharePoint 2016 provides a choice of two different workflow architectures. This module examines both types of Workflow and discusses how the new style of workflow relies on Workflow Manager. In this module students will learn how to create custom workflows using SharePoint Designer and Visual Studio 2015 as well as learn about some of the new capabilities in custom workflow development such as working with dynamic values, stages and remote web service calls.
Topics Covered
- Introduction to SharePoint Workflow
- Creating Custom Workflows
- Workflow Template Types
- Developing Workflows with Visual Studio
- Programming Workflows using CSOM
Hands-on Lab: Automating Working with SharePoint 2016 Workflow
- Exercise 1: Setup Lab Environment
- Exercise 2: Visio & SharePoint Designer Workflows
- Exercise 3: Developing a Sequential Workflow with Visual Studio 2015
MODULE 14: Business Connectivity Services
In this module you will learn about the architecture of Business Data Connectivity Services (BCS) which allow syoutocon figure read/write connections to backend data sources such as SQL Server databases and line of business systems (e.g. SAP,PeopleSoft).You will learn how to create external content types using SharePoint Designer.You will also learn several different ways to surface backend data from an external content type using external lists, the Business Data WebParts and external data columns. The module also discusses the new BCS support for creating external content types based on external data sources that expose their data using the OData protocol.
Topics Covered
- BCS Overview
- Creating Secure Store Service Applications
- Creating External Content Types
- Consuming External Content Types
- External Content Types with SharePoint Add-ins
Hands-on Lab: Working with External Data using BCS
- Exercise 1: Creating the SQL Server Database named Wingtip Customers DB
- Exercise 2: Creating a Secure Store Service Application
- Exercise 3: Create an External Content Type using SharePoint Designer 2016
- Exercise 4: Create an External List Based on the External Content Type
- Exercise 5: Creating an App that uses the Business Connectivity Service (BCS)
MODULE 15: Developing Solutions with SharePoint 2016 Search
Earlier versions of SharePoint includ edvarious search implementations between SharePoint search & FAST search. In SharePoint 2013 Microsoft merged their search implementations in to asingle,unified search architecture with apowerfulandrobust search API that is accessible both in server side and client-side solutions. SharePoint 2016 extends the SharePoint search architecture with several additional features for developers/ In this module students will learn about the search architecture as well as how to leverage it in custom solutions.
Topics Covered
- SharePoint 2016 Search Architecture
- Managed Properties
- Query Execution using KQL
- Result Sources and Query Rules
- Result Types and Custom Display Templates
- Executing Searches Programmatically
Hands-on Lab: Creating Custom Search Verticals and Apps
- Exercise 1: Setup Search & Creating the Glossary List
- Exercise 2: Creating the Search User Interface Vertical
- Exercise 3: Search App
MODULE 16: Managed Metadata and Enterprise Content Management
This module will coverall the Enterprise Content Management (ECM) capabilities in SharePoint 2016 in the areas of document management, recordings management and eDiscovery. Microsoft invested a considerable amount of effort in eDiscovery in SharePoint 2016 and this module will cover what students need to know. In addition, students will also learn how to work with Managed Metadata, what’s new in SharePoint 2016 and how to leverage it in custom solutions using either the existing server-side API or the new client-side API.
Topics Covered
- The Managed Metadata Service
- Configuring Enterprise Content Types
- Document Sets, Records Management and eDiscovery
- Programming with Managed Metadata
- Working with Publishing Sites and Web Content Management
Hands-on Lab: Working with and Developing with Managed Metadata
- Exercise 1: Creating & Using Taxonomies with the Managed Metadata Term Store Tool
- Exercise 2: Query and Update the Taxonomy Using the Server-Side API
- Exercise 3: Query and Update the Taxonomy Using the Managed CSOM