The Great SharePoint Developer Adventure 2013 / 2016

Course Details

  • Course Type: Developer
  • Duration: 5 days
  • Price: £
  • Residential: £
    (UK midlands only)
  • Provided in association with the World Education Alliance

Course Dates (click date to select)

     
  Location Jul Aug Sep Oct Nov Dec Venues  
  UK Midlands       9th     Midlands
Ullesthorpe
 
  UK London             London
Aldgate East
 
     

Terms & Conditions

PDF About this course

The Great SharePoint 2016/2013 Adventure for Developers is an intensive 5-day training course that teaches students how to develop custom solutions for SharePoint Server in an on-premises environment. Students will learn about developing full trust solutions (aka farm solutions) with features, web parts and customized pages. The course teaches students how to develop SharePoint add-ins (aka SharePoint apps) and how to understand the important differences between SharePoint-hosted add-ins and provider-hosted add-ins. The course also introduces students to the emerging SharePoint Framework and discusses the relevant issues about using the SharePoint Framework to develop custom solutions for a SharePoint farm in an on-premises environment.
This training course includes a rich set of hands-on lab exercises designed to build programming skills and to reinforce the concepts and development techniques discussed in the lectures. Students will gain hands-on experience developing and debugging custom solutions for SharePoint on-premises. During the lab exercises, students will use Visual Studio to create SharePoint Solution projects as well as SharePoint Add-in projects using AnglarJS and ASP.NET MVC. Students will also learn the requirements for deploying a SharePoint provider-hosted add-in in a local network with a server-to-server (S2S) trust allowing it to make authenticated calls across the network to SharePoint Server.
Note that Microsoft does not currently offer any developer certification for SharePoint 2016. However, this course will help to prepare students for the two Microsoft SharePoint 2013 developer certification exams:

  • Exam 70-331: Core Solutions of Microsoft SharePoint Server 2013
  • Exam 70-332: Advanced Solutions of Microsoft SharePoint Server 2013

Student Prerequisites

Attendees should have experience developing with Visual Studio, JavaScript, C#, .NET and ASP.NET. Students should also have experience working with SharePoint sites.

Course Modules

  • Developing for SharePoint On-premises
  • Developing Full Trust Solutions
  • Developing SharePoint-hosted Add-ins
  • Programming the SharePoint REST API
  • Developing SharePoint Add-ins with AngularJS
  • Understanding SharePoint Add-in Security
  • Developing Provider-hosted Add-insProgramming the Client-side Object Model (CSOM)
  • Working with SharePoint Lists and Events
  • Developing Custom Web Services using Web API 2
  • Publishing, Installing and Upgrading SharePoint Add-ins
  • JavaScript Injection and Remote Provisioning
  • Getting Started with the SharePoint Framework
  • Working with SharePoint Managed Metadata
  • Developing with the SharePoint Search Service

 

Course Module Detailed Outline

Module 01: Developing for SharePoint On-premises

This module provides a developer-centric introduction to SharePoint Server and SharePoint development in an on-premises environment. Students will learn about SharePoint architecture and common topologies used to create SharePoint on-premises farms. Students will learn about the tradeoffs between the various development strategies for SharePoint on-premises including full trust solutions, SharePoint add-ins, JavaScript Injection, Remote Provisioning and the emerging SharePoint Framework. The module discusses popular SharePoint developer tools and building a virtual machine to create a SharePoint development environment.

Topics Covered

  • SharePoint Architecture and Topology
  • SharePoint Development Strategies
  • SharePoint Developer Tools and Utilities
  • Creating a SharePoint Development Environment

 

Module 02: Developing Full Trust Solutions

This module teaches students how to develop full trust solutions (aka farm solutions) as well as how to deploy a full trust solution to a SharePoint farm using a PowerShell script. Students will learn the details of how Visual Studio is able to package the source files of a SharePoint full trust solution project into a WSP solution file for distribution. Along the way, students will also learn how to develop full trust solutions which include features, web parts, modules and customized pages.

Topics Covered

• Understanding Full Trust Solutions
• Creating Features and Feature Receivers
• Working with XML in Element Manifests
• Developing Server-side Web Parts
• Provisioning Site Pages and Application Pages

Module 03: Developing SharePoint-hosted Add-ins

This module introduces students to the development model for SharePoint add-ins (aka SharePoint apps) and discusses how to choose between SharePoint-hosted add-ins and provider-hosted add-ins when creating a new project. The module then shifts to focus on the SharePoint-hosted add-in model and client-side programming with JavaScript and jQuery. Students will learn how SharePoint Server loads the pages for a SharePoint-hosted app into a private app web to isolate its code inside a unique DNS domain. Students will learn the best practice of developing a SharePoint-hosted add-in as a single page application (SPA). Along the way, students will also learn to extend a SharePoint-hosted add-in project using Add-in Parts (aka App Parts) and user custom actions.

Topics Covered

  • SharePoint-hosted Add-in Architecture
  • Understanding the Role of the App Web
  • Designing SharePoint-hosted Add-ins as SPAs
  • Developing App Parts
  • Adding User Custom Actions

 

Module 04: Programming the SharePoint REST API

This module begins with a quick primer on fundamentals of REST and the ODATA protocol. Students will learn about the SharePoint REST API and how it can be used in general application development. Students will learn to formulate REST URIs to target SharePoint objects such as sites, lists and list items. Students will also learn techniques for using the SharePoint REST API in a SharePoint-hosted add-in project to program against the app web and the host web. Students will also learn coding techniques for dealing with SharePoint-specific issues such as passing the request digest and using ETags to implement optimistic concurrency.

Topics Covered

  • Getting Started with the SharePoint REST API
  • Creating REST URIs for SharePoint Objects
  • Consuming OData Results from SharePoint
  • Paging SharePoint List Items
  • Adding and Updating SharePoint List Items

Module 05: Developing SharePoint Add-ins with AngularJS

This module introduces students to the AngularJS framework and teaches them how to leverage AngularJS when developing SharePoint-hosted add-ins. Students will learn about essential topics in AngularJS development such as working with Angular directives, configuring an app routing scheme and creating controllers and views to read and write items from a SharePoint list. Along the way, students will learn how to extend a SharePoint-hosted add-in project with a custom AngularJS service that communicates across the network with SharePoint Server using the SharePoint REST API.

Topics Covered

  • Introduction to AngularJS
  • Directives and Modules
  • Routes, Views and Controllers
  • Programming with Built-In Angular Services
  • Creating a Custom Angular Services

 

Module 06: Understanding SharePoint Add-in Security

This module introduces students to the SharePoint add-in security model and explains how SharePoint Server authenticates and authorizes web service calls from a SharePoint add-in. Students will learn about the default permissions set granted to a SharePoint add-in and how to configure additional permission requests in a SharePoint add-in project for scenarios in which the SharePoint add-in must access and modify SharePoint content in the host web. The module explains why a provider-hosted add-in in a SharePoint on-premises environment must be configured with a server-to-server (S2S) trust to make authenticated calls from server-side C# code. The module also discusses the essential topic of programming with access tokens which is required in server-side C# code when making authenticated calls to the SharePoint host.

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

Module 07: Developing Provider-hosted Add-ins

The module examines the architecture of a provider-hosted add-in and teaches students how to develop provider-hosted add-ins in Visual Studio using the MVC framework provided by ASP.NET. Students will learn how to create a new MVC project and extend the project's routing scheme by adding controllers and action methods. Students will also learn how to write razor views to generate a user interface using C# code mixed together with HTML. Along the way, students will learn how to use ASP.NET MVC to develop a provider-hosted add-in that uses session state to cache access tokens and information about the host web across requests.

Topics Covered

  • Getting Started with Provider-hosted Apps
  • Developing Web Applications with ASP.NET MVC
  • Creating Provider-hosted Apps using MVC5
  • Caching SharePoint Session State for the Logged-On User
  • Designing a Strongly-typed View Model in MVC

Module 08: Programming the Client-side Object Model (CSOM)

This module introduces students to programming with the Client-side Object Model (CSOM) in SharePoint 2016. Students will learn how to write C# code in console applications and provider-hosted add-ins which program against CSOM to access and create resources in a SharePoint site such as lists, document libraries and child sites. The module discusses how to optimize the performance of CSOM calls across the network as well as how to use leverage CSOM’s ability to batch multiple requests in a single round trip and to execute batches using remote exception handling.

Topics Covered

  • CSOM Fundamentals
  • User and App Authentication
  • CSOM Code Optimization
  • Remote Exception Handling
  • Provisioning Lists and Documents Libraries

Module 09: Working with SharePoint Lists and Events

This module teaches students how to use site columns and content types to create customized lists and document libraries in a SharePoint site. The module explains why Microsoft now recommends that developers provision site columns, content types and lists using CSOM instead of the older approach which involves creating features with declarative XML in a SharePoint Solution. Students will learn to how to develop full trust solutions which take advantage of the SharePoint’s original server-side event model. Students will also learn how to extend a provider-hosted add-in with a remote event receiver to add validation logic to the standard SharePoint data entry forms which users work with when adding and editing items in a SharePoint list.

Topics Covered

  • Provisioning Site Columns and Content Types
  • Updating Site Columns, Content Types and Lists
  • Creating Event Receivers in a Full Trust Solution
  • Creating and Registering Remote Event Receivers  

Module 10: Developing Custom Web Services using Web API 2

This module teaches students how to create, test and debug custom web services using Web API 2. Students will learn how to implement a 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 a strongly-typed ODATA controller from an entity model created using Entity Framework. The module concludes with an examination of Cross-Origin Resource Sharing (CORS) and a demonstration of how to add CORS support to web services created with Web API 2 to allow cross-domain calls from client-side JavaScript code running in a browser.

Topics Covered

  • Understanding API Controller Classes
  • Creating RESTful Web Service
  • Configuring Attribute-based Routing
  • Creating an OData Web Services
  • Cross-Origin Resource Sharing (CORS)

Module 11: Publishing, Installing and Upgrading SharePoint Add-ins

This module discusses how to manage the lifecycle of SharePoint add-ins in a SharePoint on-premises farm. Students will learn how to create an App Catalog site and how to publish SharePoint add-ins in the App Catalog. Student will also learn about the differences between installing a SharePoint add-in at site scope versus installing an add-in at tenancy scope. The modules explains the technique for upgrading SharePoint add-ins that are already in use and deploying a provider-hosted add-ins and its remote web in a local area network.

Topics Covered

  • Creating the App Catalog
  • Publishing SharePoint Add-ins
  • Installing SharePoint Add-ins
  • Upgrading SharePoint-hosted Add-ins
  • Deploying Provider-hosted Add-ins

Module 12: JavaScript Injection and Remote Provisioning

This module introduces students to the concepts of JavaScript injection and explains how to leverage JavaScript injection techniques in SharePoint development. Students will learn how to use JavaScript injection with the Script Editor Web Part and how to extend a SharePoint site by uploading site pages with custom business logic written in JavaScript. The module explains how to call the SharePoint REST API from a JavaScript Injection solution. The module also teaches students how to customize the behavior of site pages using SharePoint’s JavaScript Object Model (JSOM). Along the way, students will learn to deploy a custom solution which uses JavaScript injection and to implement client-side rendering using JSLink and custom script written in JavaScript.

Topics Covered

  • Understanding JavaScript Injection
  • Programming the JavaScript Object Model (JSOM)
  • Deploying a Custom Solution using Remote Provisioning
  • Designing MDS-enabled Pages
  • Working with JSLink and Client-side Rendering

Module 13: Getting Started with the SharePoint Framework

This module introduces students to the SharePoint Framework (SPFx) and discusses Microsoft’s strategy to initially release SPFx in SharePoint Online and then roll SPFx out to SharePoint On-premises farms with Feature Pack 2 for SharePoint Server 2016. The module examines SharePoint Framework architecture and walks through how to create new SharePoint Framework projects with client-side web parts using the Yeoman template generator. Students will learn how to test and debug SharePoint Framework projects with the SharePoint Workbench. The module provides an overview of the SharePoint Framework object model and explains how to take advantage of site-relative context when writing code for a SharePoint Framework web part. The module also demonstrates how to create a SharePoint Framework web part that exposes customizable properties and that calls to the SharePoint REST API to read and modify items in a SharePoint list.

Topics Covered

  • SharePoint Framework Overview
  • Creating SPFx Projects using the Yeoman Generator
  • Running SPFx Web Parts in SharePoint Workbench
  • Programming with the SharePoint Framework Object Model
  • Extending a Client-side Web Part with Customizable Properties

Programming SPFx Web Parts using the SharePoint REST API

Module 14: Working with SharePoint Managed Metadata

This module introduces students to the Managed Metadata Service and the Enterprise Content Management (ECM) features supported by SharePoint Server 2016. Students will learn how to publish Enterprise Content Types and syndicate them across site collections. Students will also learn how to work with the Managed Metadata Service to design taxonomies by creating managed termsets and terms. The module explains how to integrate managed termsets into SharePoint lists and document libraries by adding managed metadata columns. The module also teaches students how to use CSOM in a custom solution to create managed terms sets and to update managed metadata columns in a SharePoint list.

 

Topics Covered

  • Working with the Managed Metadata Service
  • Configuring Enterprise Content Types
  • Creating Taxonomies using Termsets and Terms
  • Working with Document Sets and Records Management
  • Working with Document Sets and Records Management

Module 15: Developing Solutions with SharePoint Search

This module introduces students to the architecture of the SharePoint Search service and discusses how SharePoint search functionality is commonly used to develop custom solutions. Students will learn how to configure crawled columns and managed columns in the SharePoint search service and how to execute search queries using keyword query language (KQL) and managed properties. The module explains essential SharePoint search concepts including result sources, query rules, result types and custom display templates. Along the way, students will learn how to create custom solutions that execute searches programmatically and display search results using custom display templates created with JavaScript and HTML.

Topics Covered

  • SharePoint 2016 Search Architecture
  • Understanding Managed Properties
  • Query Search Execution using KQL
  • Creating Result Sources and Query Rules
  • Working With Result Types and Custom Display Templates
  • Executing Searches Programmatically