SlideShare a Scribd company logo
Meet Christopher Harrison | @geektrainer
• Head Geek, GeekTrainer
– Specializes in ASP.NET, SharePoint and SQL Server
– Microsoft Certified Trainer
• Over 14 years experience
– Regular presenter at TechEd
– Periodic blogger
– Certification advocate
– Marathoner, husband, father of one four legged child
Meet Chris Johnson | @LoungeFlyZ
• General Manager, Provoke Solutions Inc.
– Specializes in SharePoint and the Microsoft technology stack
– Enjoys all things technical
• Extensive SharePoint Experience
– Presenter at TechEd, the SharePoint Conference, PDC, SharePoint Best
Practices Conference, SharePoint Evolutions
– Co-author of “Beginning SharePoint 2013 Development”
– Blogs at www.looslytyped.net
– Occasionally throws himself out of perfectly good airplanes
Course Topics
MVC4 Jump Start
01 | Introduction to the SharePoint
Developer Landscape
05 | Cloud Hosted Apps
02 | Lists and Sites 06 | Deploying Apps
03 | Client Side SharePoint Development 07 | Workflows
04 | Apps and SharePoint
Setting Expectations
• Target Audience
– Developing solutions for SharePoint products and technologies in a
team-based, medium-sized to large development environment
– Considering taking the 70-488 Exam
• Additional Material
– Microsoft Official Course 20488
• Developing Microsoft SharePoint® Core Solutions
• Microsoft Virtual Academy
– Free online learning tailored for IT Pros and Developers
– Over 1M registered users
– Up-to-date, relevant training on variety of Microsoft products
• “Earn while you learn!”
– Get 50 MVA Points for this event!
– Visit http://aka.ms/MVA-Voucher
– Enter this code: DevSPS (expires 11/25/2013)
Join the MVA Community!
01 | Introduction to the SharePoint
Developer Landscape
Chris Johnson | SharePoint Guru
Christopher Harrison | Microsoft Certified Trainer
Module Overview
• SharePoint Developer Landscape
• Choosing Approaches to SharePoint Development
• SharePoint 2013 Deployment and Execution Models
Lesson 1: SharePoint Developer Landscape
• SharePoint Server 2013 Workloads
• Developer Tools for SharePoint Server 2013
• What's New for Developers in SharePoint 2013
• The SharePoint 2013 Technology Stack
• Entry Points for Developers in SharePoint 2013
SharePoint Server 2013 Workloads
• Portals and Collaboration
• Search
• Enterprise Content Management
• Web Content Management
• Social and Communities
• Business Connectivity Services
• Business Intelligence
Developer Tools for SharePoint Server 2013
• Microsoft Visual Studio 2012
• Microsoft Office Tools for Visual Studio 2012
• Microsoft SharePoint Designer 2013
• Web design tools
What's New for Developers in SharePoint 2013
• The SharePoint App Model
• Enhanced Client-Side Programming Models
– JavaScript
– .NET Framework client
– REST/OData endpoints
• New Workflow Model
The SharePoint 2013 Technology Stack
.NET Framework 4.5
Windows Server/Windows Azure
IIS 8 and
ASP.NET 4.0
Workflow
Manager 1.0
SharePoint
Foundation
2013
Office Web
Apps Server
2013
SharePoint
Server 2013
Entry Points for Developers in SharePoint 2013
• Server-side object model
– Managed code
– Windows PowerShell
• Client.svc
– Client-side object models
– REST/OData clients
• Declarative customizations
Lesson 2: Approaches to SharePoint Development
• Declarative Components
• Client-Side Code
• Web Parts
• Application Pages
• Timer Jobs
• Event Receivers
• Workflow
Declarative Components
• Use declarative components to deploy:
– Site columns
– Content types and content type bindings
– List templates and list instances
– Event registrations and custom actions
– Workflows, files, and more
• When should you use declarative components?
– Whenever you can
• Where can you use declarative components?
– SharePoint Online
– On-premises deployments
Client-Side Code
• Use client-side code to:
– Interact with core SharePoint artifacts and functionality
– Interact with SharePoint Server workloads
– Perform almost any operations within the scope of a site collection
• When should you use client-side code?
– Preferred approach when you need to programmatically interact with a
SharePoint site collection
• Where can you use client-side code?
– SharePoint Online
– On-premises deployments
Web Parts
• Use web parts to:
– Create custom functionality with user interaction
– Connect to other web parts
• When should you create web parts?
– Consider apps first
– Use web parts when you specifically want to leverage the web part
framework
• Where can you use web parts?
– SharePoint Online (sandboxed solutions only)
– On-premises deployments (farm and sandboxed solutions)
Application Pages
• Use custom application pages to:
– Expose functionality to every site in a SharePoint farm
• When should you create a custom application page?
– When there are no other options
– Consider apps first
• Where can you use custom application pages?
– On-premises deployments
• Subject to policy and administrative approval
– Not available for SharePoint Online
Timer Jobs
• Use custom timer jobs to:
– Run background tasks on a scheduled basis
– Process queues of work items on a scheduled basis
• When should you create a custom timer job?
– When you do not require user interaction
– When you want to remove logic from the page load process
• Where can you use custom timer jobs?
– On-premises deployments
• Subject to policy and administrative approval
– Not available for SharePoint Online
Event Receivers
• Use event receivers to:
– Run background tasks on a scheduled basis
– Process queues of work items on a scheduled basis
• When should you create an event receiver?
– When you do not require user interaction
– When you want to remove logic from the page load process
• Where can you use event receivers?
– On-premises deployments
– SharePoint Online
Workflow
• Use workflows to:
– Automate business processes
– Manage the flow of documents and information
• When should you create a workflow?
– When you need to capture input from multiple users
– When you need to create logic that reacts to changes in documents or
sites
• Where can you use event receivers?
– On-premises deployments
– SharePoint Online
Lesson 3: Understanding SharePoint 2013
Deployment and Execution Models
• SharePoint Features
• Farm Solutions
• Sandboxed Solutions
• Apps for SharePoint
SharePoint Features
• Anatomy of a Feature
– Feature folder
– Feature manifest file
– Element manifests
– Element files
• Feature deployment
– Deployment to WFE server file system
– Deployment as part of SharePoint app or solution
Farm Solutions
• Anatomy of a farm solution
– Solution manifest
– Assemblies
– Files
– Features
• Capabilities are unlimited
– Deploy any server-side components
• Deployment options may be limited
– Prohibited in SharePoint Online
– May be prohibited in on-premises deployments
Sandboxed Solutions
• Structured in the same way as a farm solution
• Deployed to a Solutions Gallery
• Scoped to a site collection
• Functionality is constrained:
– Isolated worker process
– No access to server-side file system
– Limited access to SharePoint object model
• Resource consumption governed by quota system
• Apps for SharePoint are now the preferred approach
Apps for SharePoint
• Distribution
– Publish to App Catalog
– Publish to Office Marketplace
• Encapsulation
– No server-side code
– All SharePoint artifacts hosted within app web
• Development models
– SharePoint-hosted
– Remote-hosted
• Interaction
– Full page
– App part
– Command extensions
DEMO
Hello, World!

More Related Content

PPTX
Module 1 - Introduction to the SharePoint Developer Landscape .pptx
PPTX
Sharepoint
PPTX
SharePoint Development
PPTX
Prepararsi a spostare le proprie applicazioni share point su office 365
PPTX
SharePoint 2013 App or Not to App
PDF
Penny coventry auto-bp-spsbe31
PPTX
MSDN - SharePoint 2013 to app or not to app
PDF
Lifecycle Management with SharePoint Apps and Solutions
Module 1 - Introduction to the SharePoint Developer Landscape .pptx
Sharepoint
SharePoint Development
Prepararsi a spostare le proprie applicazioni share point su office 365
SharePoint 2013 App or Not to App
Penny coventry auto-bp-spsbe31
MSDN - SharePoint 2013 to app or not to app
Lifecycle Management with SharePoint Apps and Solutions

Similar to Module 1 - Introduction to the SharePoint Developer Landscape.pptx (20)

PPTX
Mct Summit 2013 Why SharePoint 2013
PPTX
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
PPTX
2012 MindSurf - Augmenting Business Process with SharePoint
PPTX
Developing for SharePoint Online
PDF
Practical Tips for Migrating SharePoint Customizations to Office 365
PPTX
SharePoint Conference North America 2018 - Las Vegas - Announcements
DOC
PDF
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
PPTX
Developing Apps for SharePoint 2013
PDF
Microsoft SharePoint & Project Server are Better Together
PDF
Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...
PPTX
Uncovering the Latest in SharePoint Development
PDF
SharePoint 2016 Upgrade Planning
PDF
What's New for Developers in SharePoint 2013
PDF
Introduction to SharePoint as a Development Platform
PPTX
SharePoint 2013 APIs demystified
PDF
Office 365 Developer Bootcamp Melbourne
PPTX
Shop talk - Project Server 2013
PPTX
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
Mct Summit 2013 Why SharePoint 2013
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
2012 MindSurf - Augmenting Business Process with SharePoint
Developing for SharePoint Online
Practical Tips for Migrating SharePoint Customizations to Office 365
SharePoint Conference North America 2018 - Las Vegas - Announcements
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Developing Apps for SharePoint 2013
Microsoft SharePoint & Project Server are Better Together
Cloud Saturday Chicago 2016 - Modern Intranet Development Best Practices on S...
Uncovering the Latest in SharePoint Development
SharePoint 2016 Upgrade Planning
What's New for Developers in SharePoint 2013
Introduction to SharePoint as a Development Platform
SharePoint 2013 APIs demystified
Office 365 Developer Bootcamp Melbourne
Shop talk - Project Server 2013
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
DOCX
The AUB Centre for AI in Media Proposal.docx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
NewMind AI Weekly Chronicles - August'25 Week I
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
GamePlan Trading System Review: Professional Trader's Honest Take
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The AUB Centre for AI in Media Proposal.docx
Ad

Module 1 - Introduction to the SharePoint Developer Landscape.pptx

  • 1. Meet Christopher Harrison | @geektrainer • Head Geek, GeekTrainer – Specializes in ASP.NET, SharePoint and SQL Server – Microsoft Certified Trainer • Over 14 years experience – Regular presenter at TechEd – Periodic blogger – Certification advocate – Marathoner, husband, father of one four legged child
  • 2. Meet Chris Johnson | @LoungeFlyZ • General Manager, Provoke Solutions Inc. – Specializes in SharePoint and the Microsoft technology stack – Enjoys all things technical • Extensive SharePoint Experience – Presenter at TechEd, the SharePoint Conference, PDC, SharePoint Best Practices Conference, SharePoint Evolutions – Co-author of “Beginning SharePoint 2013 Development” – Blogs at www.looslytyped.net – Occasionally throws himself out of perfectly good airplanes
  • 3. Course Topics MVC4 Jump Start 01 | Introduction to the SharePoint Developer Landscape 05 | Cloud Hosted Apps 02 | Lists and Sites 06 | Deploying Apps 03 | Client Side SharePoint Development 07 | Workflows 04 | Apps and SharePoint
  • 4. Setting Expectations • Target Audience – Developing solutions for SharePoint products and technologies in a team-based, medium-sized to large development environment – Considering taking the 70-488 Exam • Additional Material – Microsoft Official Course 20488 • Developing Microsoft SharePoint® Core Solutions
  • 5. • Microsoft Virtual Academy – Free online learning tailored for IT Pros and Developers – Over 1M registered users – Up-to-date, relevant training on variety of Microsoft products • “Earn while you learn!” – Get 50 MVA Points for this event! – Visit http://aka.ms/MVA-Voucher – Enter this code: DevSPS (expires 11/25/2013) Join the MVA Community!
  • 6. 01 | Introduction to the SharePoint Developer Landscape Chris Johnson | SharePoint Guru Christopher Harrison | Microsoft Certified Trainer
  • 7. Module Overview • SharePoint Developer Landscape • Choosing Approaches to SharePoint Development • SharePoint 2013 Deployment and Execution Models
  • 8. Lesson 1: SharePoint Developer Landscape • SharePoint Server 2013 Workloads • Developer Tools for SharePoint Server 2013 • What's New for Developers in SharePoint 2013 • The SharePoint 2013 Technology Stack • Entry Points for Developers in SharePoint 2013
  • 9. SharePoint Server 2013 Workloads • Portals and Collaboration • Search • Enterprise Content Management • Web Content Management • Social and Communities • Business Connectivity Services • Business Intelligence
  • 10. Developer Tools for SharePoint Server 2013 • Microsoft Visual Studio 2012 • Microsoft Office Tools for Visual Studio 2012 • Microsoft SharePoint Designer 2013 • Web design tools
  • 11. What's New for Developers in SharePoint 2013 • The SharePoint App Model • Enhanced Client-Side Programming Models – JavaScript – .NET Framework client – REST/OData endpoints • New Workflow Model
  • 12. The SharePoint 2013 Technology Stack .NET Framework 4.5 Windows Server/Windows Azure IIS 8 and ASP.NET 4.0 Workflow Manager 1.0 SharePoint Foundation 2013 Office Web Apps Server 2013 SharePoint Server 2013
  • 13. Entry Points for Developers in SharePoint 2013 • Server-side object model – Managed code – Windows PowerShell • Client.svc – Client-side object models – REST/OData clients • Declarative customizations
  • 14. Lesson 2: Approaches to SharePoint Development • Declarative Components • Client-Side Code • Web Parts • Application Pages • Timer Jobs • Event Receivers • Workflow
  • 15. Declarative Components • Use declarative components to deploy: – Site columns – Content types and content type bindings – List templates and list instances – Event registrations and custom actions – Workflows, files, and more • When should you use declarative components? – Whenever you can • Where can you use declarative components? – SharePoint Online – On-premises deployments
  • 16. Client-Side Code • Use client-side code to: – Interact with core SharePoint artifacts and functionality – Interact with SharePoint Server workloads – Perform almost any operations within the scope of a site collection • When should you use client-side code? – Preferred approach when you need to programmatically interact with a SharePoint site collection • Where can you use client-side code? – SharePoint Online – On-premises deployments
  • 17. Web Parts • Use web parts to: – Create custom functionality with user interaction – Connect to other web parts • When should you create web parts? – Consider apps first – Use web parts when you specifically want to leverage the web part framework • Where can you use web parts? – SharePoint Online (sandboxed solutions only) – On-premises deployments (farm and sandboxed solutions)
  • 18. Application Pages • Use custom application pages to: – Expose functionality to every site in a SharePoint farm • When should you create a custom application page? – When there are no other options – Consider apps first • Where can you use custom application pages? – On-premises deployments • Subject to policy and administrative approval – Not available for SharePoint Online
  • 19. Timer Jobs • Use custom timer jobs to: – Run background tasks on a scheduled basis – Process queues of work items on a scheduled basis • When should you create a custom timer job? – When you do not require user interaction – When you want to remove logic from the page load process • Where can you use custom timer jobs? – On-premises deployments • Subject to policy and administrative approval – Not available for SharePoint Online
  • 20. Event Receivers • Use event receivers to: – Run background tasks on a scheduled basis – Process queues of work items on a scheduled basis • When should you create an event receiver? – When you do not require user interaction – When you want to remove logic from the page load process • Where can you use event receivers? – On-premises deployments – SharePoint Online
  • 21. Workflow • Use workflows to: – Automate business processes – Manage the flow of documents and information • When should you create a workflow? – When you need to capture input from multiple users – When you need to create logic that reacts to changes in documents or sites • Where can you use event receivers? – On-premises deployments – SharePoint Online
  • 22. Lesson 3: Understanding SharePoint 2013 Deployment and Execution Models • SharePoint Features • Farm Solutions • Sandboxed Solutions • Apps for SharePoint
  • 23. SharePoint Features • Anatomy of a Feature – Feature folder – Feature manifest file – Element manifests – Element files • Feature deployment – Deployment to WFE server file system – Deployment as part of SharePoint app or solution
  • 24. Farm Solutions • Anatomy of a farm solution – Solution manifest – Assemblies – Files – Features • Capabilities are unlimited – Deploy any server-side components • Deployment options may be limited – Prohibited in SharePoint Online – May be prohibited in on-premises deployments
  • 25. Sandboxed Solutions • Structured in the same way as a farm solution • Deployed to a Solutions Gallery • Scoped to a site collection • Functionality is constrained: – Isolated worker process – No access to server-side file system – Limited access to SharePoint object model • Resource consumption governed by quota system • Apps for SharePoint are now the preferred approach
  • 26. Apps for SharePoint • Distribution – Publish to App Catalog – Publish to Office Marketplace • Encapsulation – No server-side code – All SharePoint artifacts hosted within app web • Development models – SharePoint-hosted – Remote-hosted • Interaction – Full page – App part – Command extensions

Editor's Notes

  • #7: 6
  • #10: Provide a brief run-through of the SharePoint Server 2013 workloads: Portals and Collaboration. SharePoint provides many core capabilities, such as the ability to create sites, workspaces, libraries, and lists, which enable teams to work together effectively regardless of their physical location. Search. SharePoint provides a comprehensive and highly extensible search platform that enables users to find information from a variety of content sources across an organization. Enterprise Content Management. SharePoint provides a range of functionality to support business processes, such as workflow, records management, and tools for eDiscovery and compliance. Web Content Management. SharePoint provides comprehensive Content Management System (CMS) features that can be used to manage and maintain a corporate Web presence. Social and Communities. SharePoint provides functionality that enables users to connect with one another, share news and information, and build communities around common interests. Business Connectivity Services. SharePoint enables you to integrate data from external systems into solutions for SharePoint sites and Microsoft Office 2013 applications. Business Intelligence. SharePoint provides a range of capabilities for providing insight into business data, from built-in tools such as Excel Services and PerformancePoint Services to integration with SQL Server 2012 Analysis Services and SQL Server 2012 Reporting Services.
  • #11: Briefly cover the commonly used development tools: Microsoft Visual Studio 2012. Visual Studio is an integrated development environment (IDE) that provides a range of productivity tools, debugging and deployment functionality, and integration with Team Foundation Server. Microsoft Office Tools for Visual Studio 2012. This plug-in for Visual Studio provides templates for SharePoint Server 2013, including Apps for SharePoint and Apps for Office as well as server-side custom components. Microsoft SharePoint Designer 2013. SharePoint Designer is a free desktop application that offers a range of capabilities for customizing sites and creating non-code-based custom components for SharePoint. For example, you can use SharePoint Designer to create workflows and build declarative Business Data Connectivity (BDC) models. Although SharePoint Designer began as a tool for power users, it is now central to many aspects of the SharePoint development process. Web Design Tools. SharePoint 2013 introduces new processes for designing and branding SharePoint sites and pages. These processes enable web designers to create SharePoint pages by using standard web technologies—HTML, CSS, and JavaScript—in standard web design applications. You can then use built-in SharePoint utilities to add the required SharePoint functionality to the designer's wireframe web pages.
  • #12: Provide a high-level overview of the SharePoint app model (see the student handbook for details). Emphasize that there are two ways to publish and consume apps: Office Marketplace. This is a public gallery of apps for SharePoint, hosted by Microsoft. Organizations can purchase and download apps from the Office Marketplace. Developers can publish apps to the Office Marketplace. Corporate Catalog. This is a private, organization-specific gallery of apps for SharePoint. SharePoint administrators can create a corporate catalog for each web application in a SharePoint farm. Developers can publish apps to a corporate catalog to make them available for use within the organization. Talk briefly around the four client-side programming models. Provide a brief overview of the new design model and the new workflow model, both of which have been completely overhauled for SharePoint 2013. Finish by mentioning some of the other key enhancements in SharePoint 2013, such as new social functionality and the redesigned search service.
  • #13: This topic is designed to provide students with a high-level overview of SharePoint and related technologies, rather than any kind of detailed logical architecture. Keep the topic brief. Use the slide to illustrate key changes from SharePoint 2010, most notably that Office Web Apps Server is now a separate product and workflow now runs on a separate platform. Note: the specified versions of ASP.NET (4.0) and the .NET Framework (4.5) may seem incongruous to developers who are less familiar with .NET. The MCSA prerequisites cover the distinction between the .NET Framework and ASP.NET.
  • #14: Mention that SharePoint 2010 supported REST-based list operations through the listdata.svc service. This service remains for backwards compatibility, but the client.svc service supports a far more comprehensive set of operations through REST and OData. This topic is designed to provide a high-level overview of API choices. Avoid providing too much detail at this stage.
  • #15: The aim of this lesson is to familiarize students with the various approaches to SharePoint development that are available to them, together with the advantages and disadvantages of each approach. At this stage, you are not teaching the students how to use each approach; instead, you are just equipping them to evaluate which approach is best suited to particular scenarios. Where necessary, emphasize that each approach is covered in more detail later in the course. Bear in mind that deployment models—features, apps, farm solutions, and sandboxed solutions—are covered in the next lesson. As such, avoid discussing packaging and deployment in any detail in this lesson.
  • #16: Provide a brief overview of what you can do with declarative components. Focus on when and where you should use declarative components, rather than on providing any technical detail. Subsequent modules provide the technical detail.
  • #17: This topic evaluates client-side coding as a broad approach to SharePoint development. Specific deployment and execution models, such as apps for SharePoint, are covered in the next lesson.
  • #18: Provide a brief overview of how web parts work, and focus on when and where you should use them. Emphasize that apps for SharePoint are now the preferred approach, unless you specifically want to leverage the web part framework (for example to connect web parts). Subsequent modules provide the technical detail.
  • #19: Describe briefly how custom application pages work – essentially they plug directly into the ASP.NET page rendering process. Focus on when and where you should consider using custom application pages.
  • #20: Provide a conceptual overview of timer jobs, and talk about when and where you should consider using a timer job. Subsequent modules provide the technical detail.
  • #21: Provide a brief overview of event receivers in SharePoint, including event receiver categories and the concepts of before events and after events. Talk about when and where you should consider using an event receiver. Subsequent modules provide the technical detail.
  • #22: Briefly describe the concept of workflow as a tool for modeling and automating business processes. Talk about when and where you should consider creating a workflow. Subsequent modules provide the technical detail.
  • #23: Remember that this is an introductory module, which aims to give students a high-level view of the SharePoint development landscape. Later modules provide far more detail on how to build Features, solutions, and apps, so avoid being drawn into providing "how-to" information. This lesson is designed solely to provide an overview of the execution and deployment models that are available.
  • #24: Provide an overview of the SharePoint Feature framework. The student handbook includes an example of a Feature.xml file.
  • #25: Provide an overview of farm solutions as a vehicle for packaging and managing the lifecycle of SharePoint components. Subsequent modules provide more technical detail.
  • #26: Provide a brief overview of the sandboxed solution framework, focusing on the capabilities and constraints. Emphasize that sandboxed solutions are largely considered deprecated in favor of apps for SharePoint.
  • #27: Provide a brief overview of how apps are packaged, deployed, and provisioned. In the student workbook, the third paragraph states: When a user installs an app, the app provisions its own subsite within the host web. This subsite is known as the app web. Technically speaking, the app web is only provisioned if the app needs to deploy resources to SharePoint. If the app is remote-hosted and does not contain any declarative components, an app web is not created. Adding this explanation to the student manual at this point in the course would cloud the issue; however, you may want to provide clarification if challenged.