Developing Microsoft SharePoint Server 2013 Core Solutions

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.

Course Duration: 5 days

Prerequisites

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.

Audience Profile

The course is intended for professional developers who develop solutions for SharePoint products and technologies in a team-based, medium-sized to large development environment. While some familiarity with SharePoint solution development is required, candidates are not expected to have prior experience with the new features in SharePoint Server 2013.

The ideal candidate is a technical lead with at least four years of SharePoint and web development experience. The candidate is responsible for designing custom code for projects that are deployed to or interact with SharePoint environments. Before attending this course, students must have:

Course Outline

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.

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

After completing this module, students will be able to:

Explain the purpose of key classes in the server-side SharePoint object model.

Programmatically interact with SharePoint site collections and sites.

Adapt solutions for users with different levels of 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. Student 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 Content Iterator Class

After completing this module, students will be able to:

Interact with lists and libraries programmatically.

Query and retrieve list data.

Perform operations efficiently on large lists.

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

After completing this module, students will be able to:

Explain the purpose and key functionality of Features and solutions.

Configure and manage Features and solutions.

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

Module 5: Working with Server-Side Code

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

After completing this module, students will be able to:

Describe the process for developing a web part.

Use event receivers to handle SharePoint events.

Use timer jobs to perform out of process, and scheduled operations.

Store and manipulate configuration data for custom components.

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

After completing this module, students will be able to:

Describe how authentication and identity management work in SharePoint 2013.

Verify and manage permissions programmatically in SharePoint 2013.

Create and configure custom membership providers and role managers for forms-based authentication.

Create claims providers and customize the sign-in experience.

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

After completing this module, students will be able to:

Describe SharePoint apps and compare them to SharePoint farm solutions and sandboxed solutions.

Describe how to develop apps for SharePoint 2013 that work on-premises and in the cloud. This module describes how to use JavaScript Client Object Model (CSOM), managed code CSOM and the REST API to build SharePoint Apps.

Module 8: Client-Side SharePoint Development

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

After completing this module, students will be able to:

Use the client-side object model for JavaScript to interact with a SharePoint deployment.

Use the REST API with JavaScript or C# to interact with a SharePoint deployment.

Use the client-side object model for managed code to interact with a SharePoint deployment.This module examines the difference between provider hosted Apps and Remote Hosted Apps. The students will also create and deploy a Provider Hosted App.

Module 9: Developing Remote Hosted SharePoint Apps

Lessons

Overview of Remote Hosted Apps

Configuring Remote Hosted Apps

Developing Remote Hosted Apps

Lab: Configuring a Provider Hosted SharePoint App

Configuring An 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

After completing this module, students will be able to:

Describe how remote-hosted apps work and how to configure the permissions and cross-domain calls that they may require.

Configure apps for hosting on Windows Azure or remote servers.

Develop apps for hosting on Windows Azure or remote servers.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.

Create and deploy custom workflows by using Visual Studio 2012.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.

Work with advanced features of content types.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.

Module 13: Managing Custom Components and Site Life Cycles

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

After completing this module, students will be able to:

Define and provision custom lists

Define and provision custom sites.

Manage the SharePoint site life cycle.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.

Module 14: Customizing User Interface Elements

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

After completing this module, students will be able to:

Use custom actions to modify the SharePoint user interface.

Use JavaScript to work with client-side SharePoint user interface components.

Describe how to modify the appearance and behavior of list views and forms.This module explains the changes in SharePoint Server 2013 to branding, designing, publishing and navigating sites. The students also learn how to create devise independent sites standard web technologies, such as HTML, CSS, and JavaScript.

Module 15: Working with Branding and Navigation

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

After completing this module, students will be able to:

Create and apply themes to SharePoint sites.

Create publishing site design assets such as master pages and page layouts.

Use device channels and image renditions to adapt content for different devices.

Configure and customize the navigation experience for publishing sites.