The Great SharePoint Developer Adventure 2016 / 2013 - Online Class

 

 

Course Dates (click date to select)

     
  Region Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec  
  Europe & Middle East                        
  USA, Canada & Americas     24th   5th     18th        
     
Regional online class times are as follows (approximate):
Region Start Time End Time Time Zone
Europe & Middle East 08:30 15:30 GMT / BST
USA, Canada & Americas 09:00 17:00 EST / EDT*
* Daylight saving time changes are based on the UK calendar i.e. +1hr from the last Sunday in March to the Last Sunday in October

 


Terms & Conditions

PDFAbout this course

This 5-day course explores the development opportunities available with SharePoint Server 2016, Microsoft’s newest on-premises version of the SharePoint platform. Students will learn about the tradeoffs of developing SharePoint full trust solutions versus SharePoint add-ins (aka SharePoint apps). This course teaches students how to develop SharePoint-hosted add-ins using JavaScript, jQuery and the Angular-JS framework and also teaches students how to develop provider-hosted SharePoint add-ins using server-side C# and the ASP.NET MVC framework.
The course provides students with a wealth of hands-on labs using Visual Studio 2015 to reinforce the concepts and techniques discussed during lectures. Students will also learn the low level details of how security and authentication work when developing and deploying provider-hosted add-ins within a private local area network. Along the way, students will learn how to use important Microsoft frameworks such as the Entity Framework for creating custom databases and Web API 2 for creating custom web services.
The last two days of this class examine essential SharePoint Server 2016 service applications which provide additional development opportunities working with Business Connectivity Services, the Secure Store Service, the SharePoint Search service and the Managed Metadata Service as well as the Enterprise Content Management features and Web Content Management features.
Student Prerequisites

Attendees should have professional development experience with Visual Studio, JavaScript, C#, the .NET Framework and ASP.NET as well as familiarity with Microsoft Office products such as Word and Excel.

Course Modules

  • Developer Overview of the SharePoint 2016 Platform
  • Developing SharePoint Full Trust Solutions
  • Developing SharePoint-hosted Add-ins
  • Programming the SharePoint REST API
  • Developing SharePoint Add-ins with AngularJS
  • Understanding SharePoint Add-in Security and Authentication
  • Developing Provider-hosted Add-ins using ASP.NET MVC
  • Developing with SharePoint Lists and Events
  • Programming the Client-side Object Model (CSOM)
  • Publishing, Installing and Upgrading SharePoint Add-ins
  • Developing Custom Web Services using Web API 2
  • Extending SharePoint Sites using JavaScript Injection
  • Developing Custom Workflows in SharePoint 2016
  • Developing Solutions with Business Connectivity Services
  • Developing Solutions with SharePoint Search
  • Managed Metadata and Enterprise Content Management

Course Module Detailed Outline

Module 01: Developer Overview of the SharePoint 2016 Platform

In this module students 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 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-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 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 Add-ins with AngularJS

This module provides an introduction to the AngularJS Framework. Students will learn what features the framework provides 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 Framework in 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 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 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 back to 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 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 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 on Your 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 Add-ins

This module discusses how to manage the lifecycle 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 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 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 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 using the permissions of the current user. Students will learn to get started with JavaScript injection using the Script Editor Web Part. Next, students will learn how to extend a SharePoint site by adding new pages and custom JavaScript code which makes use of the JavaScript Object Model (JSOM) and the SharePoint REST API. The module explains how to design an effective approach for loading JavaScript library dependencies as well as how to execute custom JavaScript code with user custom actions such as ribbon buttons, ECB menu items 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 JSLink and Display Templates

Hands-on Lab: Developing and Debugging a Provider-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 JSLink and 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 allows you to configure 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 Web Parts 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 WingtipCustomersDB
  • 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 Search

Earlier versions of SharePoint included various search implementations between SharePoint search & FAST search. In SharePoint 2013 Microsoft merged their search implementations into a single, unified search architecture with a powerful and robust 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 cover all 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