20488: Developing Microsoft SharePoint Server 2013 Core Solutions

Length: 5 days | Audience: IT Professionals | Level: 200

In this course, students learn core skills that are common to almost all SharePoint development activities. These include working with the server-side and client-side object models, developing and deploying features, solutions, and apps, managing identity and permissions, querying and updating list data, managing taxonomy, using workflow to manage business processes, and customizing the user interface.

Module 1: SharePoint as a Developer Platform

This module examines different approaches that can be used to develop applications with SharePoint Server 2013 the scenarios in which each approach might be appropriate.

Lessons 

  • Introducing the SharePoint Developer Landscape
  • Choosing Approaches to SharePoint Development
  • Understanding SharePoint 2013 Deployment and Execution Models

Lab : Comparing Web Parts and App Parts

  • Creating and Deploying a SharePoint Web Part
  • Creating and Deploying a SharePoint App Part

 

Module 2: Working with SharePoint Objects

This module introduces the server-side SharePoint object model and how the core classes relate to sites and collections. The server-side SharePoint object model provides a core set of classes that represent different items in the logical architecture of a SharePoint deployment. Students also learn how manage permissions for server-side code.

Lessons 

  • Understanding the SharePoint Object Hierarchy
  • Working with Sites and Webs
  • Working with Execution Contexts

Lab : Working with Sites and Webs

  • Working with Sites and Webs in Managed Code
  • Working with Sites and Webs in Windows PowerShell.

Lab : Working with Execution Contexts   

  • Running Code with Elevated Privileges
  • Adapting Content for Different User Permissions

 

Module 3: Working with Lists and Libraries

This module explains how to interact with lists and libraries. Students learn about how to work with lists and libraries programmatically using the server-side SharePoint object model and how to use query classes and LINQ to SharePoint to query and retrieve data from SharePoint lists. Students also learn how to efficiently work with lists that contain large numbers of items.

Lessons  

  • Using List and Library Objects
  • Querying and Retrieving List Data
  • Working with Large Lists

Lab : Querying and Retrieving List Data  

  • Querying List Items
  • Updating List Items

Lab : Working with Large Lists   

  • Using the ContentIterator Class

 

Module 4: Designing and Managing Features and Solutions

This module examines creating and deploying custom Developing a SharePoint solutions and features. The students also learn how and when to use sandbox solutions.

Lessons   

  • Understanding Features and Solutions
  • Configuring Features and Solutions
  • Working with Sandboxed Solutions

Lab : Working with Features and Solutions  

  • Configuring SharePoint Features
  • Creating Feature Receiver Classes
  • Creating Features with Dependencies

 

Module 5: Working with Server-Side Code

This module describes how to develop and deploy Web Parts and event receivers in a solution.

Lessons   

  • Developing Web Parts
  • Using Event Receivers
  • Using Timer Jobs
  • Storing Configuration Data

Lab : Working with Server-Side Code   

  • Developing an Event Receiver
  • Updating a Web Part
  • Creating a Timer Job

 

Module 6: Managing Identity and Permissions

This module describes how manage permissions through code and customize authentication using custom claims providers.

Lessons  

  • Understanding Identity Management in SharePoint 2013
  • Managing Permissions in SharePoint 2013
  • Configuring Forms-Based Authentication
  • Customizing the Authentication Experience

Lab : Managing Permissions Programmatically in SharePoint 2013   

  • Managing List Permissions Programmatically

Lab : Creating and Deploying a Custom Claims Provider  

  • Creating a Custom Claims Provider
  • Supporting Search and Resolve in a Claims Provider
  • Deploying and Testing a Claims Provider

 

Module 7: Introducing Apps for SharePoint

This module introduces the SharePoint App, a new way to customize SharePoint functionality with SharePoint Server 2013.

Lessons  

  • Overview of Apps for SharePoint
  • Developing Apps for SharePoint

Lab : Creating a Site Suggestions App   

  • Creating a New SharePoint App
  • Using the Client-Side Object Model

 

Module 8: Client-Side SharePoint Development

This module describes how to use JavaScript Client Object Model (CSOM), managed code CSOM and the REST API to build SharePoint Apps.

Lessons  

  • Using the Client-Side Object Model for Managed Code
  • Using the Client-Side Object Model for JavaScript
  • Using the REST API with JavaScript

Lab : Using the Client-Side Object Model for Managed Code   

  • Add Site Column
  • Add the Mileage Claim Content Type
  • Add the Claims List

Lab : Using the REST API with JavaScript   

  • Creating List Relationships
  • Add Vote Recording
  • Display Votes for Each Suggestion

 

Module 9: Developing Remote Hosted SharePoint Apps

This module examines the difference between provider hosted Apps and Remote Hosted Apps. The students will also create and deploy a Provider Hosted App.

Lessons  

  • Overview of Remote Hosted Apps
  • Configuring Remote Hosted Apps
  • Developing Remote Hosted Apps

Lab : Configuring a Provider Hosted SharePoint App   

  • Configuring a Server to Server Trust Relationship
  • Creating a Provider Hosted App

Lab : Developing a Provider Hosted SharePoint App   

  • Working with SharePoint Data
  • Using the Chrome Control

 

Module 10: Publishing and Distributing Apps

This module introduces the App Catalog so users to locate, purchase, and install apps easily. The students learn how to package and publish Apps to the App Catalog.

Lessons  

  • Understanding the App Management Architecture
  • Understanding App Packages
  • Publishing Apps
  • Installing, Updating, and Uninstalling Apps

Lab : Publishing an App to a Corporate Catalog  

  • Creating an App Catalog
  • Creating an App Package
  • Publishing an App Package

Lab : Installing, Updating, and Uninstalling Apps  

  • Installing an App
  • Upgrading an App
  • Removing an App

 

Module 11: Automating Business Processes

This module explains how to create workflows and workflow actions using Visio 2013, SharePoint Designer 2013 and Visual Studio 2012.

Lessons  

  • Understanding Workflow in SharePoint 2013
  • Building Workflows by using Visio 2013 and SharePoint Designer 2013
  • Developing Workflows in Visual Studio 2012

Lab : Building Workflows in Visio 2013 and SharePoint Designer 2013   

  • Creating Workflows by Using Visio
  • Editing Workflows by Using SharePoint Designer

Lab : Creating Workflow Actions in Visual Studio 2012   

  • Creating Custom Workflow Actions
  • Using a Custom Workflow in SharePoint Designer

 

Module 12: Managing Taxonomy

This module explains the importance of a good taxonomy in SharePoint and working with the components of the taxonomy. The students also see how to tie event receivers to the taxonomy.

Lessons  

  • Managing Taxonomy in SharePoint 2013
  • Working with Content Types
  • Working with Advanced Features of Content Types

Lab : Working with Content Types  

  • Create a System to Capture Vacation Requests

Lab : Working with Advanced Features of Content Types  

  • Creating an Event Receiver Assembly
  • Registering an Event Receiver with a Site Content Type

 

Module 13: Managing Custom Components and Site Life Cycles

This module explains how you can create custom component definitions and templates, which enable you to deploy custom sites, lists and other components across a farm.

Lessons 

  • Defining Custom Lists
  • Defining Custom Sites
  • Managing SharePoint Sites

Lab : Managing Custom Components and Site Life Cycles   

  • Create a Site Definition
  • Create a List Definition
  • Developing an Event Receiver

 

Module 14: Customizing User Interface Elements

This module explains different ways of customizing the SharePoint user interface, such as adding buttons to the ribbon or modifying the appearance of list views.

Lessons  

  • Working with Custom Actions
  • Using Client-Side User Interface Components
  • Customizing the SharePoint List User Interface

Lab : Using the Edit Control Block to Launch an App  

  • Configuring an App to Display Customer Orders
  • Use a Custom Action to Launch an App

Lab : Using jQuery to Customize the SharePoint List User Interface   

  • Creating a Custom List View

 

Module 15: Working with Branding and Navigation

This module explains ways to customize branding, designing, publishing and navigating sites in SharePoint Server 2013. The students also learn how to create devise independent sites standard web technologies, such as HTML, CSS, and JavaScript.

Lessons  

  • Creating and Applying Themes
  • Branding and Designing Publishing Sites
  • Tailoring Content to Platforms and Devices
  • Configuring and Customizing Navigation

Lab : Branding and Designing Publishing Sites  

  • Creating SharePoint Master Pages
  • Building Master Page Functionality
  • Publishing and Applying Design Assets

Lab : Configuring Farm-Wide Navigation  

  • Creating a Custom Site Map Provider
  • Adding Custom Navigation Controls to a Master Page

Before attending this course, students must have:

  • A working knowledge of using Visual Studio 2010 or Visual Studio 2012 to develop solutions.
  • A basic working knowledge of SharePoint solution development, either in SharePoint 2013 or in earlier versions of SharePoint.
  • A working knowledge of Visual C# and the .NET Framework 4.5.
  • A basic understanding of ASP.NET and server-side web development technologies, including request/response and the page lifecycle.
  • A basic understanding of AJAX and asynchronous programming techniques.
  • A basic working knowledge of client-side web technologies including HTML, CSS, and JavaScript.
  • Familiarity with approaches to authentication and authorization, including claims-based authentication.