About this course
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.
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.
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.
Module 1: 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
- 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
Lessons
- Understanding the SharePoint Object Hierarchy
- Working with Sites and Webs
- Working with Execution Contexts
Lab : Working with Sites and WebsLab : Working with Execution Contexts
- 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
Lessons
- Using List and Library Objects
- Querying and Retrieving List Data
- Working with Large Lists
Lab : Querying and Retrieving List DataLab : Working with Large Lists
- 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
Lessons
- Understanding Features and Solutions
- Configuring Features and Solutions
- Working with Sandboxed Solutions
Lab : Working with Features and Solutions
- Explain the purpose and key functionality of Features and solutions.
- Configure and manage Features and solutions.
- Create and manage sandboxed solutions.
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
- 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 2013Lab : Creating and Deploying a Custom 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: Introducing Apps for SharePoint
Lessons
- Overview of Apps for SharePoint
- Developing Apps for SharePoint
Lab : Creating a Site Suggestions App
- 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 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 CodeLab : Using the REST API with JavaScript
- 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.
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 AppLab : Developing a Provider Hosted SharePoint App
- 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 10: 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 CatalogLab : Installing, Updating, and Uninstalling Apps
- 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 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 2013Lab : Creating Workflow Actions in Visual Studio 2012
- 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 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 TypesLab : Working with Advanced Features of Content Types
- Work with taxonomy building blocks in SharePoint 2013.
- Create and configure content types declaratively and programmatically.
- Work with advanced features of content types.
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
- Define and provision custom lists
- Define and provision custom sites.
- Manage the SharePoint site life cycle.
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 AppLab : Using jQuery to Customize the SharePoint List User Interface
- 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.
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 SitesLab : Configuring Farm-Wide Navigation
- 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.
20488
- Developing Microsoft SharePoint Server 2013 Core Solutions Microsoft
- Download Companion Content for Microsoft Official Courses Microsoft
ALM
Best Practices
Content Types
Debugging
- Chapter 3 Monitoring SharePoint 2010 (Real World SharePoint 2010)
- Debugging SharePoint 2010 Web Parts from Visual Studio 2010 DigiOz Blog
- Debugging SharePoint Solutions
- PremierPoint Solutions Team Blog Developer's Tip Render System.Diagnostics.Trace ouptut in a SharePoint WebPart Page
- Simplifying SharePoint debugging by creating the troubleshooting toolbox – CodeProject
- Using Event and Trace Logs in SharePoint
InfoPath Migration
- Deliveron Blog SharePoint Conference 14 Notes Update on InfoPath and SharePoint Forms
- Don’t Look for an InfoPath Replacement. Look for Three. MikeFitz's Blog
- InfoPath Deprecated What is InfoPath's Replacement FoSlMetroStar Systems Blog
- Keep Calm and InfoPath On – Association for Information and Image Management International
Intro
- Technical diagrams for SharePoint 2013
- Overview of apps for SharePoint
- What is SharePoint A Simple, Straightforward, and Jargon-Free Answer
- sharepoint – Bing Images
Misc
- http–www.corpbizsolutions.com-UserFiles-Image-33TCmoss1_lg.jpg
- Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part 1 of 2)
- http–blogs.askcts.com-wp-content-uploads-2013-02-image3.png
- http–1.bp.blogspot.com–MRavzWwD3lw-T6j0IKeDX-I-AAAAAAAAAQY-rlgjOHudJo8-s1600-Dhaval_Shah_Sharepoint_Blogs_Sharepoint_2010_COM.png
- SharePoint List Template Ids – Coding Times of a .Net Developer from Yard – Site Home – MSDN Blogs
- Ahmed Moosa – Embedded Code and Inline Server Tags
- Manage lists and libraries with many items
- SharePoint lists V: Techniques for managing large lists
- How can indexing help to manage SharePoint's List View Threshold? : Colligo Support
- LINQ vs. SPQuery
- Default Project Templates in Visual Studio
- Host-named site collection architecture and deployment (SharePoint 2013)
- Packages and Parts – Eric White's Blog – Site Home – MSDN Blogs
- Create SendEmail Workflow 4 Custom Activity – CodeProject
- Step-by-step: Sending email messages from a workflow in an app for SharePoint 2013 – Apps for Office and SharePoint blog – Site Home – MSDN Blogs
Navigation
- Configure metadata navigation for a list or library
- Enable managed navigation for a site in SharePoint
- Navigation options for SharePoint Online
- Building global navigation in SharePoint 2013 – Blog – Mavention
- Help me on SharePoint: Custom SharePoint Top Menu and QuickLaunch menu using SiteMapProviders
Security
- Introduction: Control user access with permissions
- Permission levels and permissions
- HTML and JavaScript Injection – CodeProject
- The Dangers of JavaScript Injection in SharePoint Apps – Eric Shupps | The SharePoint Cowboy
Web Apps
Workflow Manager
- Install and configure workflow for SharePoint Server 2013
- Installing and Configuring Workflow Manager 1.0
- Start: Set up and configure SharePoint 2013 Workflow Manager
- Getting started with SharePoint Server 2013 workflow
- Video series: Install and configure Workflow in SharePoint Server 2013
- SharePoint 2013 workflow fundamentals
- which one is better considering performance, workflow or event receiver? – SharePoint Stack Exchange
- Using Workflows and Event Receivers