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.
- 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 behavior of user interface elements.
- Customize navigation and site branding.
Syllabus: Developing Microsoft SharePoint Server 2013 Core Solutions
Module 1: SharePoint as a Developer Platform
- 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
- 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.
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
- Working with Sites and Webs in Windows PowerShell.
Lab : Working with Execution Contexts
- Running Code with Elevated Privileges
- Adapting Content for Different User Permissions
- 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
- 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
- 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
- Working with Features
- Deploying Solutions
- Working with Sandboxed Solutions
Lab : Working with Farm Solutions
- Create a Farm Solution
- Create a Feature
- Upgrade a Solution
Lab : Working with Sandboxed Solutions
- Create a Solution Validator
- Describe the structure and use cases of a Feature.
- Explain how to create a farm solution.
- Explain how to create a sandboxed solution.
Module 5: Working with Server-Side Code
- 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
- 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.
- 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
- 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: Managing Custom Components and Site Lifecycles
This module discusses planning and organizing sites and lists. The students also learn how to create custom component definitions and templates.
- Component Overview
- Defining Custom Lists
- Defining Custom Sites
- Managing SharePoint Sites
Lab : Managing Custom Components and Site Lifecycles
- Creating a Site Definition
- Creating a List Definition
- Developing an Event Receiver
- Explain the SharePoint component hierarchy.
- Define and provision custom lists
- Define and provision custom sites.
Module 8: 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
- 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.
Module 9: Client-Side SharePoint Development
- Creating List Relationships
- Add Vote Recording
- Display Votes for Each Suggestion
- Use the client-side object model for managed code to interact with a SharePoint deployment.
Module 10: 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.
- 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
- 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.
Module 11: 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
- Creating an App Package
- Publishing an App Package
Lab : Installing, Updating, and Uninstalling Apps
- Installing an App
- Upgrading an App
- Removing an App
- 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.
Module 12: Automating Business Processes
This module explains how to create workflows and workflow actions using Visio 2013, SharePoint Designer 2013 and Visual Studio 2012.
- 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
- 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.
Module 13: 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.
- 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
- Work with taxonomy building blocks in SharePoint 2013.
- Create and configure content types declaratively and programmatically.
- Work with advanced features of content types.
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.
- 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
- Use custom actions to modify the SharePoint user interface.
- Describe how to modify the appearance and behavior of list views and forms.
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
- 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.
- Selecting an appropriate approach and building customizations in SharePoint.
- Creating and implementing a strategy for solution packaging, deployment, and upgrading.
- Identifying SharePoint data and content structures for customizations.
- Performing diagnostics and debugging.
- Planning and designing applications for scalability and performance.
- Identifying and mitigating performance issues of customizations.
- Understanding authentication and authorization.
- Experience with Windows PowerShell.
- Broad familiarity with SharePoint capabilities.
- Familiarity with Online Services such as Azure and SharePoint Online.
- 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.
- Familiarity with approaches to authentication and authorization, including claims-based authentication.