Niche
SharePoint 2013

Developing Microsoft SharePoint Server 2013 Core Solutions
(Microsoft Training Course: 20488) - 5 days - £1850 exc VAT

 Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct 
Edinburgh Centre         24    
Extended Classroom        20 17 07   
Leeds (City Exchange) Centre        27     
London International House Centre E1W        20 17 07 12  
London Middlesex Street Centre E109 07            
Manchester (Portland St) Centre 14   07    06     


> Target Audience
In this course, students learn core skills that are common to almost all SharePoint development activities. It is intended for professional developers who develop solutions for SharePoint products and technologies in a team-based, medium-sized to large development environment.
> Course outline
  1. SharePoint as a Developer Platform
  2. Working with SharePoint Objects
  3. Working with Lists and Libraries
  4. Designing and Managing Features and Solutions
  5. Working with Server-Side Code
  6. Managing Identity and Permissions
  7. Introducing Apps for SharePoint
  8. Client-Side SharePoint Development
  9. Developing Remote Hosted SharePoint Apps
  10. Publishing and Distributing Apps
  11. Automating Business Processes
  12. Managing Taxonomy
  13. Managing Custom Components and Site Life Cycles
  14. Customizing User Interface Elements
  15. Working with Branding and Navigation


Module 1: SharePoint as a Developer Platform
  • Introducing the SharePoint Developer Landscape and 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 and a SharePoint App Part
Skills
  • 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.
top
Module 2: Working with SharePoint Objects
  • 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 and in Windows PowerShell.
  • Lab: Working with Execution Contexts
  • Running Code with Elevated Privileges
  • Adapting Content for User Permissions
Skills
  • 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.
top
Module 3: Working with Lists and Libraries
  • Using List and Library Objects
  • Querying and Retrieving List Data
  • Working with Large Lists
  • Lab: Querying and Retrieving List Data
  • Querying / Updating List Items
  • Lab: Working with Large Lists
  • Using the ContentIterator Class
Skills
  • Interact with lists and libraries programmatically.
  • Query and retrieve list data.
  • Perform operations on large lists.
top
Module 4: Designing and Managing Features and Solutions
  • 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
Skills
  • Explain the purpose and key functionality of Features and solutions.
  • Configure and manage Features and solutions.
  • Create and manage sandboxed solutions
top
Module 5: Working with Server-Side Code
  • Developing Web Parts
  • Using Event Receivers and Timer Jobs
  • Storing Configuration Data
  • Lab: Working with Server-Side Code
  • Developing an Event Receiver
  • Updating a Web Part/Creating a Timer Job
Skills
  • Describe process for developing web part.
  • Use event receivers to handle events.
  • Use timer jobs to perform out of process, and scheduled operations.
  • Store and manipulate configuration data for custom components.
top
Module 6: Managing Identity and Permissions
  • 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
  • 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
Skills
  • 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.
top
Module 7: Introducing Apps for SharePoint
  • 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
Skills
  • 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.
top
Module 8: Client-Side SharePoint Development
  • Using the Client-Side Object Model for Managed Code and for JavaScript
  • Using the REST API with JavaScript
  • Lab: Using the Client-Side Object Model for Managed Code
  • Add Site Column, the Mileage Claim Content Type and the Claims List
  • Lab: Using the REST API with JavaScript
  • Creating List Relationships
  • Add Vote Recording
  • Display Votes for Each Suggestion
Skills
  • 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.
top
Module 9: Developing Remote Hosted SharePoint Apps
  • 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
Skills
  • 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.
top
Module 10: Publishing and Distributing Apps
  • 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 and App Package
  • Publishing an App Package
  • Lab: Installing, Updating, and Uninstalling Apps
Skills
  • 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.
top
Module 11: Automating Business Processes
  • 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 Designer
  • Lab: Creating Workflow Actions in Visual Studio 2012
  • Creating Custom Workflow Actions
  • Using a Custom Workflow in SharePoint Designer
Skills
  • 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.
top
Module 12: Managing Taxonomy
  • Managing Taxonomy in SharePoint 2013
  • 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
Skills
  • Work with taxonomy building blocks in SharePoint 2013.
  • Create and configure content types declaratively and programmatically.
  • Work with advanced features of content types.
top
Module 13: Managing Custom Components and Site Life Cycles
  • Defining Custom Lists and Custom Sites
  • Managing SharePoint Sites
  • Lab : Managing Custom Components and Site Life Cycles
  • Create a Site Definition and List Definition
  • Developing an Event Receiver
Skills
  • Define and provision custom lists
  • Define and provision custom sites.
  • Manage the SharePoint site life cycle.
top
Module 14: Customizing User Interface Elements
  • Working with Custom Actions
  • Using Client-Side UI Components
  • Customizing the SharePoint List UI
  • 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
Skills
  • 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 behaviour of list views and forms.
top
Module 15: Working with Branding and Navigation
  • 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
Skills
  • Create and apply themes to 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.
top
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • 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.
> Purpose
After completing this course, students will be able to describe design and manage features and solutions; develop code for custom server-side components; manage and customize authentication and authorization; create custom sites and lists and manage the site lifecycle; explain the capabilities and design choices for SharePoint apps; use the client-side object model and the REST API; develop provider-hosted and auto-hosted SharePoint apps; distribute and deploy SharePoint apps; create custom workflows to automate business processes; use fields and content types to manage taxonomy; customize the appearance and behaviour of user interface elements; customize navigation and site branding.