Developing Microsoft SharePoint Server 2013 Core Solutions

Request more details:

Description:
In this course, participants 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.
Prerequisites:
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.
SharePoint as a Developer Platform:
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

After completing this module, students will be able to:
Describe the opportunities for developers in SharePoint Server 2013.
Choose appropriate execution models for custom SharePoint components.
Choose appropriate deployment models for custom SharePoint components.
Working with SharePoint Objects:
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.
Working with Lists and Libraries:
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

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.
Designing and Managing Features and 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.
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.
Managing Identity and Permissions:
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.
Introducing Apps for SharePoint:
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.
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 managed code to interact with a SharePoint deployment.
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.
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 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

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.
Publishing and Distributing Apps:
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

After completing this module, students will be able to:
Explain how SharePoint manages app publishing and distribution.
Describe the contents of an app package.
Publish apps to a corporate catalog or the Office Marketplace.
Install, update, and uninstall apps.
Automating Business Processes:
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

At the end of this module, student will be able to:
Describe the architecture and capabilities of workflow in SharePoint 2013.
Create declarative workflows in Visio 2013 and SharePoint Designer 2013.
Create and deploy custom workflows by using Visual Studio 2012.
Managing 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

After completing this module, student will be able to:
Work with taxonomy building blocks in SharePoint 2013.
Create and configure content types declaratively and programmatically.
Work with advanced features of content types.
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.
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.
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
Adding Custom Navigation Controls to a Master Page

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.