SlideShare a Scribd company logo
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Building Flexible SharePoint Solutions
with AngularJS
@Bob1German
WWW.COLLAB365.EVENTS
Bob German
BlueMetal
Email: collab@bobg.tv
Twitter: @Bob1German
Blog: http://bob1german.com/
LinkedIn: http://bit.ly/Bob1German
Bob German is Principal Architect at BlueMetal,
where he leads Office 365 and SharePoint
development for enterprise customers.
Bob German
@Bob1German
Cloud & Services
Content & Collaboration
Data & Analytics
Devices & Mobility
Strategy & Design
WWW.COLLAB365.EVENTS
Agenda
• Introduction to AngularJS
• Remote Provisioning vs.
SharePoint Add-in Model
• Solution that works:
– As a SharePoint add-in
– As a drag-and-drop solution
– As a centrally managed solution
@Bob1German
Session assumes you know:
• JavaScript
• SharePoint basics (lists, forms, web
parts)
Session does not assume you know:
• AngularJS
You will learn:
• How to build web parts, forms, and
pages with AngularJS
• About the new Remote Provisioning
pattern as an alternative to the
Add-in model
It all works in Office 365 or on premises!
WWW.COLLAB365.EVENTS
What is AngularJS?
Extremely popular Javascript framework
• Build complex apps that run on a web page
• Maintained by Google – a good bet for sustained
support
• HTML Templates with 2-way data binding
• MVC pattern separates code from DOM
manipulation – improves testability
• Adds new HTML elements and attributes for
building dynamic applications
• Dependency Injection and Unit Testing
• Routing and Navigation
• Flexible data presentation using Filters
Interest in JavaScript Frameworks
Source: Google trends
WWW.COLLAB365.EVENTS
What’s in an AngularJS Application?
View
(HTML with Bindings)
Controller
manipulate scope to control the UI
Services
Web
Services
$scope or ViewModel
Module
Directives
new elements and
attributes
Routes
navigation within
single-page app
Web Page
@Bob1German
WWW.COLLAB365.EVENTS
Commonly Used Angular Services
$http
HTTP
calls
$scope
Access to
view
scope
$location
Browser
location
$log
Logging
service
$qPromises
$interval
$timeout
Timer
services
Custom
@Bob1German
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
demo
@Bob1German
WWW.COLLAB365.EVENTS
Remote Provisioning: The “Other” App Model
It’s simple:
Content is created directly in a SharePoint site
using any remote API
(CSOM, JSOM, SOAP, REST)
Examples:
• .NET Code in PowerShell or a console
application
• Javascript in a SharePoint Hosted
App or Content Editor Web Part
• .NET Code in a Provider Hosted App
• The Mechanical Turk approach
(A person manually creates content
using a web browser)
@Bob1German
WWW.COLLAB365.EVENTS
Modern SharePoint Development Options
Add-in Models Remote Provisioning
Provisioning across many sites
Complete access to site (e.g.
Branding)
Direct access to page (e.g.
Connected Web Parts)
End-user additions / modifications
Protection from Untrusted Code
Storefront Distribution
Centralized Distribution
Strength
Weakness@Bob1German
WWW.COLLAB365.EVENTS
MicroSurvey Sample Application
main.html
mainController.js
surveyService.js
spDataService.js
settingsController.js
settings.html
initUI.js
Default.aspx
VIEWS
CONTROLLERS
SERVICES
@Bob1German
viewmodel viewmodel
SharePoint (Online or On Premises)
@Bob1German
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
demo
@Bob1German
WWW.COLLAB365.EVENTS
OfficeDev Patterns and Practices
OfficeDev PnP
Core Library (C#)
CSOM
“15”
CSOM
“16”
PowerShell
Commands
CDN
Manager
Provisionin
g Samples
https://github.com/OfficeDev/PnP
Your
Code
SharePoint
2013
SharePoint
Online
WWW.COLLAB365.EVENTS
Links
Resources
@Bob1German
PnP PowerShell Cmdlet Reference http://bit.ly/1KVgrqq
AngularJS Tutorial http://bit.ly/18AjTWI
Angular JS Training on PluralSight - (one of many!) http://bit.ly/1BY6QL0
How to complete basic operations using SP2013 REST API’s http://bit.ly/1MyirkK
Multiple AngularJS Web Parts on a Page - “The Well-Tempered AngularJS Web Part” http://bit.ly/1T80iQO
New Guidance from Microsoft for Packaging and Deploying SharePoint Solutions http://bit.ly/1F54S7L
Code samples
• Hello Angular: http://bit.ly/Plunk1
• Angular Weather: http://bit.ly/Plunk2
• MicroSurvey: http://bit.ly/uSurvey
WWW.COLLAB365.EVENTS
Stay tuned for more great sessions …
@Bob1German

More Related Content

PPTX
Relearning SharePoint Development
PPTX
2012 12 best of spc - moving to the sp2013 app model
PPTX
From Solutions to Apps - Moving to SP2013
PPTX
Building SharePoint Single Page Applications Using AngularJS
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
PDF
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
PPTX
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Relearning SharePoint Development
2012 12 best of spc - moving to the sp2013 app model
From Solutions to Apps - Moving to SP2013
Building SharePoint Single Page Applications Using AngularJS
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps

What's hot (20)

PDF
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
PPTX
Modern SharePoint, the Good, the Bad, and the Ugly
PDF
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
PPTX
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
PPTX
Chris OBrien - Weaving Enterprise Solutions into Office Products
PPTX
Get started with building native mobile apps interacting with SharePoint
PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
PPTX
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
PPTX
SharePoint Framework - Developer Preview
PPTX
Single page applications & SharePoint
PPTX
Microsoft Flow best practices European Collaboration Summit 2018
PPTX
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
PPTX
Custom Development in SharePoint – What are my options now?
PPTX
Do's and don'ts for Office 365 development
PDF
Sviluppare app per office
PDF
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
PPTX
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
PPTX
Building solutions with Office Graph
PPTX
[Pinto] Is my SharePoint Development team properly enlighted?
PDF
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
Modern SharePoint, the Good, the Bad, and the Ugly
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
Chris OBrien - Weaving Enterprise Solutions into Office Products
Get started with building native mobile apps interacting with SharePoint
Come riprogettare le attuali farm solution di share point con il nuovo modell...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
SharePoint Framework - Developer Preview
Single page applications & SharePoint
Microsoft Flow best practices European Collaboration Summit 2018
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Custom Development in SharePoint – What are my options now?
Do's and don'ts for Office 365 development
Sviluppare app per office
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
Building solutions with Office Graph
[Pinto] Is my SharePoint Development team properly enlighted?
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
Ad

Viewers also liked (6)

PPTX
Exploring the SharePoint 2013 Community Site Template
PPTX
Building an Ionic hybrid mobile app with TypeScript
PPTX
Introduction to AngularJS with the Microsoft Graph
PPTX
Creating a Practical and Consumable SharePoint Governance Plan
PPTX
Typescript 102 angular and type script
PPTX
Typescript 101 introduction
Exploring the SharePoint 2013 Community Site Template
Building an Ionic hybrid mobile app with TypeScript
Introduction to AngularJS with the Microsoft Graph
Creating a Practical and Consumable SharePoint Governance Plan
Typescript 102 angular and type script
Typescript 101 introduction
Ad

Similar to Building Flexible SharePoint Solutions with AngularJS (20)

PPTX
Power up your Project Sites - SPS New Hampshire 2015
PPTX
Portable single page applications with AngularJS in SharePoint
PPTX
German introduction to sp framework
PPTX
2014 SharePoint Saturday Melbourne Apps or not to Apps
PPTX
TypeScript and SharePoint Framework
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
PPT
SP2013 What's New for Developers : SPSSTL
PPTX
What's new for Developers in SharePoint 2013
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PPTX
Prepararsi a spostare le proprie applicazioni share point su office 365
PPTX
SharePoint Saturday New York 2017 - SharePoint Framework, Angular and Azure F...
PPTX
Designing for SharePoint Provider Hosted Apps
PPTX
Getting started with SharePoint 2013 online development
PPTX
SharePoint development evolution from classic to app
PPTX
Developing a provider hosted share point app
PPTX
The SharePoint 2013 App Model
PPTX
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
PPTX
SharePoint Server 2013: to app or not to app?
PPTX
SharePoint and the User Interface with JavaScript
PPTX
Share point 2013 apps and i mean it
Power up your Project Sites - SPS New Hampshire 2015
Portable single page applications with AngularJS in SharePoint
German introduction to sp framework
2014 SharePoint Saturday Melbourne Apps or not to Apps
TypeScript and SharePoint Framework
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
SP2013 What's New for Developers : SPSSTL
What's new for Developers in SharePoint 2013
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Prepararsi a spostare le proprie applicazioni share point su office 365
SharePoint Saturday New York 2017 - SharePoint Framework, Angular and Azure F...
Designing for SharePoint Provider Hosted Apps
Getting started with SharePoint 2013 online development
SharePoint development evolution from classic to app
Developing a provider hosted share point app
The SharePoint 2013 App Model
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Server 2013: to app or not to app?
SharePoint and the User Interface with JavaScript
Share point 2013 apps and i mean it

Recently uploaded (20)

PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Introduction to Artificial Intelligence
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
2025 Textile ERP Trends: SAP, Odoo & Oracle
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Softaken Excel to vCard Converter Software.pdf
Designing Intelligence for the Shop Floor.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Navsoft: AI-Powered Business Solutions & Custom Software Development
CHAPTER 2 - PM Management and IT Context
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
How to Migrate SBCGlobal Email to Yahoo Easily
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
top salesforce developer skills in 2025.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Introduction to Artificial Intelligence
Digital Systems & Binary Numbers (comprehensive )
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Building Flexible SharePoint Solutions with AngularJS

  • 1. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Building Flexible SharePoint Solutions with AngularJS @Bob1German
  • 2. WWW.COLLAB365.EVENTS Bob German BlueMetal Email: collab@bobg.tv Twitter: @Bob1German Blog: http://bob1german.com/ LinkedIn: http://bit.ly/Bob1German Bob German is Principal Architect at BlueMetal, where he leads Office 365 and SharePoint development for enterprise customers. Bob German @Bob1German Cloud & Services Content & Collaboration Data & Analytics Devices & Mobility Strategy & Design
  • 3. WWW.COLLAB365.EVENTS Agenda • Introduction to AngularJS • Remote Provisioning vs. SharePoint Add-in Model • Solution that works: – As a SharePoint add-in – As a drag-and-drop solution – As a centrally managed solution @Bob1German Session assumes you know: • JavaScript • SharePoint basics (lists, forms, web parts) Session does not assume you know: • AngularJS You will learn: • How to build web parts, forms, and pages with AngularJS • About the new Remote Provisioning pattern as an alternative to the Add-in model It all works in Office 365 or on premises!
  • 4. WWW.COLLAB365.EVENTS What is AngularJS? Extremely popular Javascript framework • Build complex apps that run on a web page • Maintained by Google – a good bet for sustained support • HTML Templates with 2-way data binding • MVC pattern separates code from DOM manipulation – improves testability • Adds new HTML elements and attributes for building dynamic applications • Dependency Injection and Unit Testing • Routing and Navigation • Flexible data presentation using Filters Interest in JavaScript Frameworks Source: Google trends
  • 5. WWW.COLLAB365.EVENTS What’s in an AngularJS Application? View (HTML with Bindings) Controller manipulate scope to control the UI Services Web Services $scope or ViewModel Module Directives new elements and attributes Routes navigation within single-page app Web Page @Bob1German
  • 6. WWW.COLLAB365.EVENTS Commonly Used Angular Services $http HTTP calls $scope Access to view scope $location Browser location $log Logging service $qPromises $interval $timeout Timer services Custom @Bob1German
  • 7. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS demo @Bob1German
  • 8. WWW.COLLAB365.EVENTS Remote Provisioning: The “Other” App Model It’s simple: Content is created directly in a SharePoint site using any remote API (CSOM, JSOM, SOAP, REST) Examples: • .NET Code in PowerShell or a console application • Javascript in a SharePoint Hosted App or Content Editor Web Part • .NET Code in a Provider Hosted App • The Mechanical Turk approach (A person manually creates content using a web browser) @Bob1German
  • 9. WWW.COLLAB365.EVENTS Modern SharePoint Development Options Add-in Models Remote Provisioning Provisioning across many sites Complete access to site (e.g. Branding) Direct access to page (e.g. Connected Web Parts) End-user additions / modifications Protection from Untrusted Code Storefront Distribution Centralized Distribution Strength Weakness@Bob1German
  • 11. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS demo @Bob1German
  • 12. WWW.COLLAB365.EVENTS OfficeDev Patterns and Practices OfficeDev PnP Core Library (C#) CSOM “15” CSOM “16” PowerShell Commands CDN Manager Provisionin g Samples https://github.com/OfficeDev/PnP Your Code SharePoint 2013 SharePoint Online
  • 13. WWW.COLLAB365.EVENTS Links Resources @Bob1German PnP PowerShell Cmdlet Reference http://bit.ly/1KVgrqq AngularJS Tutorial http://bit.ly/18AjTWI Angular JS Training on PluralSight - (one of many!) http://bit.ly/1BY6QL0 How to complete basic operations using SP2013 REST API’s http://bit.ly/1MyirkK Multiple AngularJS Web Parts on a Page - “The Well-Tempered AngularJS Web Part” http://bit.ly/1T80iQO New Guidance from Microsoft for Packaging and Deploying SharePoint Solutions http://bit.ly/1F54S7L Code samples • Hello Angular: http://bit.ly/Plunk1 • Angular Weather: http://bit.ly/Plunk2 • MicroSurvey: http://bit.ly/uSurvey
  • 14. WWW.COLLAB365.EVENTS Stay tuned for more great sessions … @Bob1German

Editor's Notes

  • #2: How to develop web parts and custom list forms that are flexible and maintainable with or without the complexity of the SharePoint add-in model You will learn : In this session, you will learn how to get started with AngularJS development for SharePoint online In this session, you will learn how to develop SharePoint solutions that can be deployed as SharePoint hosted apps, centrally deployed and updated, or simply dragged and dropped into SharePoint sites. In this session, you will learn how to decide on the best deployment model for common tasks such as web parts, lists, and list forms. In this session, you will learn how AngularJS simplifies Javacript development for SharePoint online. Features Covered: SharePoint Online API's Remote provisioning Web part framework Suitable For : Developer Track : SharePoint