Trainer Preparation Guide for Course 20488B:
Developing Microsoft SharePoint Server 2013 Core
Solutions
Design of the Course
The course can be viewed as consisting of four phases:
Phase 1
Module 1 underpins the entire course and is designed to provide a high-level overview of the SharePoint developer landscape. The module should help students to make design decisions and to understand how the content that follows fits into the bigger picture.
Phase 2
This phase of the course covers server-side development tasks, both in terms of foundational knowledge and specific exam objectives. Students generally grasp client-side development techniques for SharePoint more easily if they first have a solid understanding of core SharePoint development concepts, the
SharePoint platform, and the server-side object model.
Module 2 describes the core classes of the server-side SharePoint object model. It explains how these classes relate to each other and how they relate to key components of the SharePoint
Phase 1: Provide a
high‐level view of the
SharePoint developer
landscape
• Module 1: SharePoint as a Developer Platform
Phase 2: The server‐
side object model
and server‐side
custom components
• Module 2: Working with SharePoint Objects
• Module 3: Working with Lists and Libraries
• Module 4: Designing and Managing Solutions
• Module 5: Working with Server‐Side Code
• Module 6: Managing Identity and Permissions
Phase 3: The
SharePoint app
development model
• Module 7: Introducing SharePoint Apps
• Module 8: Client‐Side SharePoint Development
• Module 9: Developing Remote‐Hosted SharePoint Apps
• Module 10: Publishing and Distributing SharePoint Apps
Phase 4:
Components that
encompass server‐
side and client‐side
development
• Module 11: Automating Business Processes
• Module 12: Managing Taxonomy
• Module 13: Managing Custom Components and Site Lifecycles
• Module 14: Customizing User Interface Elements
• Module 15: Working with Branding and Navigation
logical architecture. Working with the server-side object model is inherently more straightforward than working with the client-side object model, so it makes sense to cover these foundational concepts early in the course.
Module 3 describes how to work with lists and libraries; in particular how to query and update list data. These are core procedures that are fundamental to a wide range of SharePoint
development activities. Many of the modules that follow, both for server-side development and client-side development, rely on an understanding of list query and update operations.
Module 4 describes how to design and manage features and solutions. Features are central to deploying almost any custom component, both in solutions and apps. Students require a solid understanding of features and solutions before they cover event receivers in Module 5.
Module 5 covers core server-side development activities, such as creating web parts, event receivers, timer jobs, and storing configuration data. These activities build on the concepts introduced in Modules 2-4.
Module 6 covers identity and permissions, from straightforward permissions management to more advanced topics such as creating custom claims providers. Developers need a solid understanding of server-side development fundamentals before they approach these topics, hence this module is placed after Modules 2-5.
Phase 3
Modules 7-10 describe SharePoint app development. Module 7 introduces the core concepts of app development, Module 8 covers the essentials of the SharePoint client-side object models, and Module 9 describes the additional complexities introduced by auto-hosted and provider-hosted apps. Finally, Module 10 describes how to publish and distribute apps when the development process is complete. We want developers to have a solid understanding of the SharePoint platform and SharePoint development concepts before we introduce app development, hence the decision to place these modules after we have covered core server-side development concepts in Modules 2-6.
Phase 4
Modules 11-15 cover development activities that can encompass both server-side solution development and client-side app development. These modules rely on students having a solid understanding of both server-side and client-side development techniques, hence the decision to place these modules at the end of the course.
Required Materials to Teach This Course
To teach this course, you need the following materials:
Course Handbook
Course Companion Content on the http://www.microsoft.com/learning/companionmoc/ site
Microsoft® PowerPoint® files
OneNote Trainer Pack (OTP) on MCT Download Center
Microsoft® Virtual Server Classroom Setup Guide
Course virtual machines
List any other additional required materials
Important It is recommended that you use PowerPoint 2003 or later to display the slides for this course. If you use PowerPoint Viewer or an earlier version of PowerPoint, all the features of the slides might not display correctly.
Prerequisite Knowledge to Teach This Course
To present this course, you must have the following knowledge and skills:
Developing server-side solutions for SharePoint Server 2013.
Developing apps for SharePoint Server 2013.
Using Visual Studio 2012.
Using SharePoint Designer 2013.
Working knowledge of Visual C#.
Working knowledge of HTML 5, CSS 3, JavaScript, and jQuery.
Using Windows PowerShell.
Working knowledge of AJAX and asynchronous programming techniques.
Working knowledge of ASP.NET and the page lifecycle.
Working knowledge of claims-based authentication.
Basic working knowledge of Windows Server 2012, SQL Server 2012, and IIS 8.
Preparation Tasks
Complete the following tasks to prepare for this course.
Exams
To identify your technical proficiency with the content of this course, it is highly recommended that you pass the following exams:
Exam 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions For additional preparation, you should consider taking the following exams:
Exam 70-489: Developing Microsoft SharePoint Server 2013 Advanced Solutions
Exam 70-480: Programming in HTML5 with JavaScript and CSS3.
Technical Preparation Activities
It is highly recommended that you complete the following technical preparation activities:
Read the additional readings and references that are included in the Course Companion Content on the http://www.microsoft.com/learning/companionmoc site.
Use the OneNote Trainer Pack (OTP) on MCT Download Center to prepare for delivering the course.
The OneNote Trainer Packs include the following content for each course on each page in the OTP (and in this order):
Slides
Instructor Notes
Student Handbook Content
Also included for each module are the Lab Answer Keys (LAKs).
Practice setting up the classroom by following the instructions in the Microsoft® Hyper-V™
Classroom Setup Guide.
Review the learning product error log, which is available on the MCT Download Center.
Practice using the Microsoft product(s) and tools that are associated with this learning product.
Review the SharePoint website at http://www.microsoft.com/SharePoint for updated information on the Microsoft product.
Review the Microsoft product error log, which is available in the Microsoft Download Center.
Instructional Preparation Activities
It is highly recommended that you complete the following instructional preparation activities:
Read the Portfolio Design Guide for the broader context of the portfolio of which this course is a part.
The Portfolio Design Guide is located on the MCT Member Site (https://mcp.microsoft.com/mct/resources/ResourceCenter.mspx).
Read the About This Course at the beginning of the Course handbook for the learning product.
Walk through the Introduction slide deck for the learning product.
Walk through each module presentation slide deck and read the corresponding Instructor Notes (located in the notes view of the presentation slide deck) for the module. Note that additional hidden slides are used in each slide deck to accommodate the amount of Instructor Notes information for a given topic.
Familiarize yourself with the Course Handbook and the Course Companion Content on the
http://www.microsoft.com/learning/companionmoc site. Make note of when to direct students' attention to the Course Companion Content for further learning support. More information
pertaining to the course components is present in the Introduction slide deck.
Practice presenting each module.
Identify the key points and must-know information for each topic.
Perform each demonstration and hands-on lab.
Anticipate the questions that students might have.
Identify examples, analogies, impromptu demonstrations, and additional delivery tips that will help to clarify module content and provide a more meaningful learning experience for your specific
audience.
Note any problems that you might encounter during a demonstration or a lab exercise, and determine a course of action for how you will resolve the problems in the classroom. To access the lab answer keys, refer to the appendix in the Course Handbook.
Work through the Module Review and Takeaways section at the end of each module and determine how you will use this section to reinforce student learning and promote knowledge transfer to on- the-job performance.
Customize and enhance your instructor notes.
Consult the MCT newsgroup for additional tips and strategies--posted by your fellow MCTs--for teaching the learning product.
Review the updated information about the Microsoft Certification Program on the Microsoft Learning Certifications website.
Instructor Computer Setup
Set up the instructor computer by following the setup instructions in the “Microsoft Virtual Server Classroom Setup Guide” document. This document provides hardware requirements for the instructor computer in addition to detailed setup instructions.
Course Timing
The following schedule is an estimate of the course timing. Your timing might vary. Every student might not finish every lab. Use your judgment to set a reasonable time to move on to the next module.
Day 1
Start End Module
9:00 9:30 Introduction
9:30 10:30 Module 1: SharePoint as a Developer Platform 10:30 10:45 Break
10:45 11:30 Lab: Comparing Web Parts and App Parts 11:30 12:00 Module 2: Working with SharePoint Objects 12:00 1:00 Lunch
1:00 1:45 Lab: Working with Sites and Webs
1:45 2:00 Module 2: Working with SharePoint Objects (continued) 2:00 2:30 Lab: Working with Execution Contexts
2:30 3:00 Module 3: Working with Lists and Libraries 3:00 3:15 Break
3:15 3:45 Lab: Querying and Retrieving List Data
3:45 4:00 Module 3: Working with Lists and Libraries (continued) 4:00 4:30 Working with Large Lists
Day 2
Start End Module
9:00 9:30 Day 1 review
9:30 10:00 Module 4: Designing and Managing Features and Solutions 10:00 10:45 Lab: Working with Farm Solutions
10:45 11:00 Break
11:00 11:15 Module 4: Designing and Managing Features and Solutions (continued) 11:15 11:30 Lab: Working with Sandboxed Solutions
11:30 12:30 Module 5: Working with Server-Side Code 12:30 1:30 Lunch
1:30 2:15 Lab: Working with Server-Side Code
2:15 2:45 Module 6: Managing Identity and Permissions
2:45 3:00 Lab: Managing Permissions Programmatically in SharePoint 2013 3:00 3:15 Break
3:15 3:45 Module 6: Managing Identity and Permissions (continued) 3:45 4:30 Lab: Creating and Deploying a Custom Claims Provider
Day 3
Start End Module
9:00 9:30 Day 2 review
9:30 10:15 Module 7: Introducing Apps for SharePoint 10:15 11:00 Lab: Creating a Site Suggestions App 11:00 11:15 Break
11:15 11:45 Module 8: Client-Side SharePoint Development 11:45 12:30 Lab: Using the REST API with JavaScript
12:30 1:30 Lunch
1:30 1:45 Module 8: Client-Side SharePoint Development (continued) 1:45 2:15 Lab: Using the Client-Side Object Model for Managed Code 2:15 2:45 Module 9: Developing Remote-Hosted SharePoint Apps 2:45 3:00 Break
3:00 3:30 Lab: Configuring a Provider-Hosted SharePoint App
3:30 3:45 Module 9: Developing Remote-Hosted SharePoint Apps (continued)
Start End Module
3:45 4:15 Lab: Developing a Provider-Hosted SharePoint App
Day 4
Start End Module
9:00 9:30 Day 3 review
9:30 10:00 Module 10: Publishing and Distributing Apps 10:00 10:30 Lab: Publishing an App to a Corporate Catalog
10:30 10:45 Module 10: Publishing and Distributing Apps (continued) 10:45 11:00 Break
11:00 11:30 Lab: Installing, Updating, and Uninstalling Apps 11:30 12:00 Module 11: Automating Business Processes
12:00 12:30 Lab: Building Workflows in Visio 2013 and SharePoint Designer 2013 12:30 1:30 Lunch
1:30 1:45 Module 11: Automating Business Processes (continued) 1:45 2:15 Lab: Creating Workflow Actions in Visual Studio 2:15 2:45 Module 12: Managing Taxonomy
2:45 3:00 Break
3:00 3:30 Lab: Working with Content Types
3:30 3:45 Module 12: Managing Taxonomy (continued)
3:45 4:30 Lab: Working with Advanced Features of Content Types
Day 5
Start End Module
9:00 9:30 Day 4 review
9:30 10:15 Module 13: Managing Custom Components and Site Lifecycles 10:15 11:15 Lab: Managing Custom Components and Site Lifecycles 11:15 11:30 Break
11:30 12:00 Module 14: Customizing User Interface Elements 12:00 12:30 Lab: Using the Edit Control Block to Launch an App 12:30 1:30 Lunch
1:30 2:00 Module 14: Customizing User Interface Elements (continued) 2:00 2:30 Lab: Using jQuery to Customize the SharePoint List User Interface 2:30 3:00 Module 15: Working with Branding and Navigation
3:00 3:15 Break
3:15 3:45 Lab: Branding and Designing Publishing Sites
3:45 4:15 Module 15: Working with Branding and Navigation (continued) 4:15 4:30 Lab: Configuring Farm-Wide Navigation