SlideShare a Scribd company logo
1 of 36
SharePoint 2013 Apps 
and I “MEAN” It 
http://pxml.ly/EO-SP-MEAN 
Eric Overfield 
SharePoint Advocate and Enthusiast 
PixelMill
Introduction – Eric Overfield 
 Founder and SharePoint Branding/UI Lead, PixelMill 
 Speaker, Teacher, Advocate 
 Author, SharePoint Community Organizer 
 Located in Davis, CA 
Co-author: “Pro SharePoint 2013 Branding and Responsive 
Web Development” (Apress – June 12th, 2013) 
Order Your Copy 
http://pxml.ly/zsqykd 
ericoverfield.com 
@EricOverfield 
Co-author: “Black Magic Solutions for 
White Hat SharePoint” (August, 2013)
What You Will Learn 
 A MEAN stack overview 
 Why we might use MEAN with SharePoint 
 Configuring the MEAN stack 
 Join SharePoint to make it MEAN 
@EricOverfield - pixelmill.com
What is the MEAN stack? 
 MongoDB 
@EricOverfield - pixelmill.com 
 Express 
 AngularJS 
 NodeJS 
 Plus many smaller components 
 End to end JavaScript / JSON based application framework
MongoDB 
 Open source database, lightweight, self contained 
 MongoDB will store our data and is enterprise ready 
 JSON based, using “collections” and “documents” 
@EricOverfield - pixelmill.com 
 MSSQL / relational DB admins? 
 MongoDB will rock your world! 
 Not strongly typed, using JSON for CRUD
Express 
@EricOverfield - pixelmill.com 
 NodeJS package 
 Minimalist web framework 
 Fast, robust, extendable 
 Essentially NodeJS middleware calls 
 Routes, Views, Controller
AngularJS 
 Client side JavaScript library, built by Google 
@EricOverfield - pixelmill.com 
 Handles UI and data binding 
 Often used for creating SPAs 
 Alternatives such as Backbone.js, Ember, Knockout*
NodeJS 
 Our base framework to build our business line app 
 Note: NodeJS is not a full featured web server OOTB 
@EricOverfield - pixelmill.com 
 Network Application Framework 
 Based on Chrome JavaScript engine 
 Event-driven, non-blocking I/O model 
 Lightweight and efficient, great at I/O
Why Use MEAN? 
@EricOverfield - pixelmill.com
The Open SharePoint App Model 
 IIS/Azure/MSSQL/.Net 
 Apache/mySQL/PHP/Python/Ruby 
 NodeJS/MongoDB/JavaScript/MEAN 
@EricOverfield - pixelmill.com
Reasons to use MEAN 
 Open source, inexpensive framework 
 Very scalable, extremely fast processing 
 NodeJS is very good at dispatching requests and heavy I/O 
 Large community with large support base 
 Not based on .NET, C#, MSSQL, etc 
 May already be using for other business applications 
@EricOverfield - pixelmill.com
Setting Up 
MEAN Stack 
@EricOverfield - pixelmill.com
MongoDB and NodeJS 
Pick your server architecture 
 Windows, Linux, iOS, BSD - Azure, cloud, on-prem 
@EricOverfield - pixelmill.com 
MongoDB 
 Download MongoDB from http://mongodb.org 
 *Review their documentation, insightful 
NodeJS 
 Download NodeJS from http://nodejs.org 
 *Have installer add node and npm to path
Tools: Git, Grunt, Bower, Notepad++ 
Extra tools to help make life easier 
 Git – source control, quickly download existing projects 
 http://git-scm.com/downloads 
 Bower – NodeJS package manager (Similar to PHP’s Composer) 
 npm install –g bower 
 Grunt – NodeJS task runner, aids running packages 
 npm install –g grunt-cli 
 Notepad++ - Powerful source editor, NodeJS plugin exists 
 http://notepad-plus-plus.org 
@EricOverfield - pixelmill.com
Express and AngularJS 
@EricOverfield - pixelmill.com 
 Can install each component on its own 
 http://expressjs.com/ - “npm install express -g” or “npm install express-generator -g” 
 https://angularjs.org/ 
 Create own Express/NodeJS app, download and include AngulaJS 
 Or, use a NodeJS package! 
 Mean.io (node package), MeanJS.org (git project) 
 MeanJS.org 
 git clone https://github.com/meanjs/mean.git meanjs 
 Modify app settings in package.json 
 npm install
Steps to Connect to SharePoint 
@EricOverfield - pixelmill.com 
 Install components and create NodeJS app with Express 
 Need SSL certificates as well (review references for howto’s) 
 Create SharePoint App in Visual Studio 
 Register App in SPO to get Client Id and Client Secret 
 /_layouts/15/AppRegNew.aspx 
 Update NodeJS App to complete oAuth authorization, returns accessToken 
 Start with Passport for SharePoint 
 https://github.com/QuePort/passport-sharepoint 
 Create Model, View and Controller in NodeJS using Express methods and AngularJS 
 Bust out that JavaScript and JSON!
SharePoint 
Browser 1 ACS 
nodeJS 
1. Browser requests app from SharePoint / SPO 
via page with app, or site contents 
Special thanks to Todd Baginski for original flowchart 
http://channel9.msdn.com/Events/SharePoint-Conference/2012/SPC030
SharePoint 
Browser 1 ACS 
nodeJS 
2 
2. SharePoint contacts ACS, requesting 
a signed context token for user / browser
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
3. ACS returns signed context token to SharePoint
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
4. SharePoint returns the signed context token 
with auth code to browser
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
5. Browser is redirected to nodeJS server endpoint 
and posts context token for authentication
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
6 
6. nodeJS will take context token from POST request 
and send to ACS for validation
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
6 
7 
7. After validation at ACS, ACS will return an 
accessToken to nodeJS App for access to SharePoint
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
6 
7 
8 
8. nodeJS app may now use client accessToken to make 
requests to SharePoint as user
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
6 
7 
9 8 
9. SharePoint returns requested data to nodeJS app 
based on valid accessToken and authorization
SharePoint 
Browser 1 ACS 
nodeJS 
2 3 
4 
5 
6 
7 
9 8 
10 
10. nodeJS will return final data to browser, 
in our case JSON data in the form of an API
SharePoint 
2 3 
4 
Browser 1 ACS 
9 8 
nodeJS 
5 
nodeJS / express routes 
6 
7 
10 
/sharepoint/auth /beerapp /beers /beerskus /beerskudocs
nodeJS 
nodeJS / express routes 
2 3 
4 
express “custom api” 
/sharepoint/auth /beerapp /beers /beerskus /beerskudocs 
nodeJS Controllers 
SharePoint 
Browser 1 ACS 
5 
6 
7 
9 8 
10 
ACS OAuth Core / AngularJS Model / 
mongoDB 
REST / 
SharePoint
SharePoint 
2 3 
4 
Browser 1 ACS 
5 
6 
7 
9 8 
10 nodeJS 
express “custom api” 
/sharepoint/auth /beerapp /beers /beerskus /beerskudocs 
ACS OAuth Core / AngularJS Model / 
mongoDB 
REST / 
SharePoint 
nodeJS / express routes 
nodeJS Controllers
nodeJS 
express “custom api” 
/sharepoint/auth /beerapp /beers /beerskus /beerskudocs 
ACS OAuth Core / AngularJS Model / 
mongoDB 
angularJS / Client Side Routes / Views 
/beerapp#!/beers /beerapp#!/beers/create 
/beerapp#!/beers/:beerSku /beerapp#!/beers/:beerSku/edit 
REST / 
SharePoint 
nodeJS / express routes 
nodeJS Controllers
Creating a MEAN Stack App 
with SharePoint 
@EricOverfield - pixelmill.com 
Demo
A Quick Review 
@EricOverfield - pixelmill.com 
 A MEAN stack overview 
 Why we might use MEAN with SharePoint 
 Configuring the MEAN stack 
 Join SharePoint to make it MEAN
Special Thanks to Those Who Got Me Here 
Passport for SharePoint – QuePort and Thomas Herbst 
https://github.com/QuePort/passport-sharepoint 
SharePoint 2013 and NodeJS - Bjørn Einar 
https://github.com/bjartwolf/SP2013Node 
Todd Baginski 
SharePoint 2013: node.JS Remote Event Receiver 
http://msdn.microsoft.com/en-us/library/office/dn775099%28v=office.15%29.aspx 
Building Cloud-hosted apps for SharePoint with PHP and node.JS 
http://channel9.msdn.com/Events/SharePoint-Conference/2012/SPC030 
@EricOverfield - pixelmill.com 
Chris Beckett – Inspiration and guidance
Set Up Secure Certificates for NodeJS/Express 
 Based on: http://greengeckodesign.com/blog/2013/06/15/creating-an-ssl-certificate-for-node-dot-js/ 
@EricOverfield - pixelmill.com 
 Install openssl (cygwin with openssl packages) 
 Create a Certificate Authority 
set RANDFILE=.rnd 
openssl genrsa -des3 -out ca.key 1024 
openssl req -new -key ca.key -out ca.csr 
openssl x509 -req -days 365 -in ca.csr -out ca.crt -signkey ca.key 
 Create a Server Certificate 
openssl genrsa -des3 -out server.key 1024 
openssl req -new -key server.key -out server.csr 
 Then, remove the passphrase from the server certificate: 
cp server.key server.key.org 
openssl rsa -in server.key.org -out server.key 
 And then, generate your self-signed certificate 
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Resources 
Install MongoDB 
http://docs.mongodb.org/manual/installation/ 
MEAN Boilerplates 
http://meanjs.org – http://mean.io 
Run NodeJS in IIS 
https://github.com/tjanczuk/iisnode 
Setting up MEAN stack 
http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/ 
http://thecodebarbarian.wordpress.com/2013/07/29/introduction-to-the-mean-stack-part-two-building-and-testing-a-to-do-list/ 
Passport for SharePoint 
https://github.com/QuePort/passport-sharepoint 
SharePoint 2013, NodeJS and Passport project 
https://github.com/bjartwolf/SP2013Nodev 
Authentication Code OAuth flow for apps in SharePoint 2013 
http://msdn.microsoft.com/en-us/library/office/jj687470%28v=office.15%29.aspx 
@EricOverfield - pixelmill.com 
Node Windows - Turn node into service 
https://github.com/coreybutler/node-windows
SharePoint 2013 Apps 
and I “MEAN” It 
http://pxml.ly/EO-SP-MEAN 
Thank You 
“Pro SharePoint 2013 Branding and Responsive Web Development” 
Eric Overfield 
@EricOverfield 
ericoverfield.com 
(Apress – June 12th, 2013) 
Order Your Copy 
http://pxml.ly/zsqykd

More Related Content

What's hot

Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePointFabio Franzini
 
Using Telerik Kendo UI in Office 365
Using Telerik Kendo UI in Office 365Using Telerik Kendo UI in Office 365
Using Telerik Kendo UI in Office 365Ed Musters
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersNCCOMMS
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentChris O'Brien
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjsAhmed Elharouny
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...SPTechCon
 
Responsive Web Design and SharePoint
Responsive Web Design and SharePointResponsive Web Design and SharePoint
Responsive Web Design and SharePointStefan Bauer
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure FunctionsShahed Chowdhuri
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Marc D Anderson
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRfunkatron
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per officeFabio Franzini
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesNCCOMMS
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010Jeremy Thake
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsNCCOMMS
 
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013NCCOMMS
 
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...Sébastien Levert
 
2012 12 best of spc - moving to the sp2013 app model
2012 12 best of spc - moving to the sp2013 app model2012 12 best of spc - moving to the sp2013 app model
2012 12 best of spc - moving to the sp2013 app modelbgerman
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
 

What's hot (20)

Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
 
Using Telerik Kendo UI in Office 365
Using Telerik Kendo UI in Office 365Using Telerik Kendo UI in Office 365
Using Telerik Kendo UI in Office 365
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
 
Responsive Web Design and SharePoint
Responsive Web Design and SharePointResponsive Web Design and SharePoint
Responsive Web Design and SharePoint
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure Functions
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core Libraries
 
How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010How we built nothingbutsharepoint.com on sharepoint 2010
How we built nothingbutsharepoint.com on sharepoint 2010
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx Extensions
 
SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013SPCA2013 - Building Windows Client Applications for SharePoint 2013
SPCA2013 - Building Windows Client Applications for SharePoint 2013
 
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
 
2012 12 best of spc - moving to the sp2013 app model
2012 12 best of spc - moving to the sp2013 app model2012 12 best of spc - moving to the sp2013 app model
2012 12 best of spc - moving to the sp2013 app model
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 

Viewers also liked

MARRYING UMBRACO AND NODE.JS
MARRYING UMBRACO AND NODE.JSMARRYING UMBRACO AND NODE.JS
MARRYING UMBRACO AND NODE.JSRalf Sohl
 
Node js to sharepoint authentication
Node js to sharepoint authenticationNode js to sharepoint authentication
Node js to sharepoint authenticationSergei Sergeev
 
Handling Cross-Domain calls & authentication in SharePoint 2013
Handling Cross-Domain calls & authentication in SharePoint 2013Handling Cross-Domain calls & authentication in SharePoint 2013
Handling Cross-Domain calls & authentication in SharePoint 2013BIWUG
 
Modern SharePoint Development using Visual Studio Code
Modern SharePoint Development using Visual Studio CodeModern SharePoint Development using Visual Studio Code
Modern SharePoint Development using Visual Studio CodeJared Matfess
 
Building your First MEAN App
Building your First MEAN AppBuilding your First MEAN App
Building your First MEAN AppMongoDB
 
How design is transforming modern intranets
How design is transforming modern intranetsHow design is transforming modern intranets
How design is transforming modern intranetsJames Robertson
 
The Future of SharePoint - What You Need to Know
The Future of SharePoint - What You Need to KnowThe Future of SharePoint - What You Need to Know
The Future of SharePoint - What You Need to KnowEric Overfield
 
Branding office 365 Netherlands
Branding office 365 NetherlandsBranding office 365 Netherlands
Branding office 365 NetherlandsSonja Madsen
 
Branding office 365 copenhagen
Branding office 365 copenhagenBranding office 365 copenhagen
Branding office 365 copenhagenSonja Madsen
 
Your SharePoint 2013 Branding Initiation
Your SharePoint 2013 Branding InitiationYour SharePoint 2013 Branding Initiation
Your SharePoint 2013 Branding InitiationEric Overfield
 
Microsoft Ignite 2016 In Review
Microsoft Ignite 2016 In ReviewMicrosoft Ignite 2016 In Review
Microsoft Ignite 2016 In ReviewEric Overfield
 
SharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon ValleySharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon ValleySonja Madsen
 
Branding Office 365 SharePoint Days
Branding Office 365 SharePoint DaysBranding Office 365 SharePoint Days
Branding Office 365 SharePoint DaysSonja Madsen
 
Design Manager 2013
Design Manager 2013  Design Manager 2013
Design Manager 2013 GSoft
 
European SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint SassyEuropean SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint SassyStefan Bauer
 
Branding office 365
Branding office 365Branding office 365
Branding office 365Sonja Madsen
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365Brian Culver
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsEric Overfield
 
Branding Office 365 ESPC15
Branding Office 365 ESPC15Branding Office 365 ESPC15
Branding Office 365 ESPC15Sonja Madsen
 

Viewers also liked (20)

MARRYING UMBRACO AND NODE.JS
MARRYING UMBRACO AND NODE.JSMARRYING UMBRACO AND NODE.JS
MARRYING UMBRACO AND NODE.JS
 
Node js to sharepoint authentication
Node js to sharepoint authenticationNode js to sharepoint authentication
Node js to sharepoint authentication
 
Handling Cross-Domain calls & authentication in SharePoint 2013
Handling Cross-Domain calls & authentication in SharePoint 2013Handling Cross-Domain calls & authentication in SharePoint 2013
Handling Cross-Domain calls & authentication in SharePoint 2013
 
Modern SharePoint Development using Visual Studio Code
Modern SharePoint Development using Visual Studio CodeModern SharePoint Development using Visual Studio Code
Modern SharePoint Development using Visual Studio Code
 
Building your First MEAN App
Building your First MEAN AppBuilding your First MEAN App
Building your First MEAN App
 
How design is transforming modern intranets
How design is transforming modern intranetsHow design is transforming modern intranets
How design is transforming modern intranets
 
The Future of SharePoint - What You Need to Know
The Future of SharePoint - What You Need to KnowThe Future of SharePoint - What You Need to Know
The Future of SharePoint - What You Need to Know
 
Branding office 365 Netherlands
Branding office 365 NetherlandsBranding office 365 Netherlands
Branding office 365 Netherlands
 
Office 365 branding webinar
Office 365 branding webinarOffice 365 branding webinar
Office 365 branding webinar
 
Branding office 365 copenhagen
Branding office 365 copenhagenBranding office 365 copenhagen
Branding office 365 copenhagen
 
Your SharePoint 2013 Branding Initiation
Your SharePoint 2013 Branding InitiationYour SharePoint 2013 Branding Initiation
Your SharePoint 2013 Branding Initiation
 
Microsoft Ignite 2016 In Review
Microsoft Ignite 2016 In ReviewMicrosoft Ignite 2016 In Review
Microsoft Ignite 2016 In Review
 
SharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon ValleySharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon Valley
 
Branding Office 365 SharePoint Days
Branding Office 365 SharePoint DaysBranding Office 365 SharePoint Days
Branding Office 365 SharePoint Days
 
Design Manager 2013
Design Manager 2013  Design Manager 2013
Design Manager 2013
 
European SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint SassyEuropean SharePoint Webinar - Make SharePoint Sassy
European SharePoint Webinar - Make SharePoint Sassy
 
Branding office 365
Branding office 365Branding office 365
Branding office 365
 
Real World Add-in Development for Office365
Real World Add-in Development for Office365Real World Add-in Development for Office365
Real World Add-in Development for Office365
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
Branding Office 365 ESPC15
Branding Office 365 ESPC15Branding Office 365 ESPC15
Branding Office 365 ESPC15
 

Similar to Share point 2013 apps and i mean it

2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development Chris O'Connor
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on AzureMaarten Balliauw
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to AppsGilles Pommier
 
Using PnP JS Core in Node.js
Using PnP JS Core in Node.jsUsing PnP JS Core in Node.js
Using PnP JS Core in Node.jsAndrew Koltyakov
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...NETFest
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012NCCOMMS
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsNicholas Jansma
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APISharePointRadi
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalHimanshu Mendiratta
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 

Similar to Share point 2013 apps and i mean it (20)

2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
Using PnP JS Core in Node.js
Using PnP JS Core in Node.jsUsing PnP JS Core in Node.js
Using PnP JS Core in Node.js
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 

More from Eric Overfield

The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphEric Overfield
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...Eric Overfield
 
Use Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePointUse Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePointEric Overfield
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactEric Overfield
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartEric Overfield
 
Use office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointUse office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointEric Overfield
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Eric Overfield
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningEric Overfield
 
Create your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page LayoutsCreate your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page LayoutsEric Overfield
 
Shape SharePoint 2013 for Mobile
Shape SharePoint 2013 for MobileShape SharePoint 2013 for Mobile
Shape SharePoint 2013 for MobileEric Overfield
 
The 2013 Design Manager - From HTML to SharePoint
The 2013 Design Manager - From HTML to SharePointThe 2013 Design Manager - From HTML to SharePoint
The 2013 Design Manager - From HTML to SharePointEric Overfield
 
The Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePointThe Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePointEric Overfield
 
Integrating Search Driven Content in SharePoint 2013/2016/O365
Integrating Search Driven Content in SharePoint 2013/2016/O365Integrating Search Driven Content in SharePoint 2013/2016/O365
Integrating Search Driven Content in SharePoint 2013/2016/O365Eric Overfield
 
Enhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEnhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEric Overfield
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
Reshaping SharePoint for Evolving Internet Devices
Reshaping SharePoint for Evolving Internet DevicesReshaping SharePoint for Evolving Internet Devices
Reshaping SharePoint for Evolving Internet DevicesEric Overfield
 
SharePoint Branding - Change Your Look
SharePoint Branding - Change Your LookSharePoint Branding - Change Your Look
SharePoint Branding - Change Your LookEric Overfield
 

More from Eric Overfield (18)

The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft Graph
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
 
Use Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePointUse Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePoint
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with React
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
Use office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointUse office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePoint
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
 
Create your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page LayoutsCreate your own SharePoint Master Pages and Page Layouts
Create your own SharePoint Master Pages and Page Layouts
 
Shape SharePoint 2013 for Mobile
Shape SharePoint 2013 for MobileShape SharePoint 2013 for Mobile
Shape SharePoint 2013 for Mobile
 
The 2013 Design Manager - From HTML to SharePoint
The 2013 Design Manager - From HTML to SharePointThe 2013 Design Manager - From HTML to SharePoint
The 2013 Design Manager - From HTML to SharePoint
 
The Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePointThe Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePoint
 
Integrating Search Driven Content in SharePoint 2013/2016/O365
Integrating Search Driven Content in SharePoint 2013/2016/O365Integrating Search Driven Content in SharePoint 2013/2016/O365
Integrating Search Driven Content in SharePoint 2013/2016/O365
 
Enhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEnhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web Design
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
Reshaping SharePoint for Evolving Internet Devices
Reshaping SharePoint for Evolving Internet DevicesReshaping SharePoint for Evolving Internet Devices
Reshaping SharePoint for Evolving Internet Devices
 
SharePoint Branding - Change Your Look
SharePoint Branding - Change Your LookSharePoint Branding - Change Your Look
SharePoint Branding - Change Your Look
 

Recently uploaded

TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxruthvilladarez
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsRommel Regala
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Recently uploaded (20)

Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World Politics
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

Share point 2013 apps and i mean it

  • 1. SharePoint 2013 Apps and I “MEAN” It http://pxml.ly/EO-SP-MEAN Eric Overfield SharePoint Advocate and Enthusiast PixelMill
  • 2. Introduction – Eric Overfield  Founder and SharePoint Branding/UI Lead, PixelMill  Speaker, Teacher, Advocate  Author, SharePoint Community Organizer  Located in Davis, CA Co-author: “Pro SharePoint 2013 Branding and Responsive Web Development” (Apress – June 12th, 2013) Order Your Copy http://pxml.ly/zsqykd ericoverfield.com @EricOverfield Co-author: “Black Magic Solutions for White Hat SharePoint” (August, 2013)
  • 3. What You Will Learn  A MEAN stack overview  Why we might use MEAN with SharePoint  Configuring the MEAN stack  Join SharePoint to make it MEAN @EricOverfield - pixelmill.com
  • 4. What is the MEAN stack?  MongoDB @EricOverfield - pixelmill.com  Express  AngularJS  NodeJS  Plus many smaller components  End to end JavaScript / JSON based application framework
  • 5. MongoDB  Open source database, lightweight, self contained  MongoDB will store our data and is enterprise ready  JSON based, using “collections” and “documents” @EricOverfield - pixelmill.com  MSSQL / relational DB admins?  MongoDB will rock your world!  Not strongly typed, using JSON for CRUD
  • 6. Express @EricOverfield - pixelmill.com  NodeJS package  Minimalist web framework  Fast, robust, extendable  Essentially NodeJS middleware calls  Routes, Views, Controller
  • 7. AngularJS  Client side JavaScript library, built by Google @EricOverfield - pixelmill.com  Handles UI and data binding  Often used for creating SPAs  Alternatives such as Backbone.js, Ember, Knockout*
  • 8. NodeJS  Our base framework to build our business line app  Note: NodeJS is not a full featured web server OOTB @EricOverfield - pixelmill.com  Network Application Framework  Based on Chrome JavaScript engine  Event-driven, non-blocking I/O model  Lightweight and efficient, great at I/O
  • 9. Why Use MEAN? @EricOverfield - pixelmill.com
  • 10. The Open SharePoint App Model  IIS/Azure/MSSQL/.Net  Apache/mySQL/PHP/Python/Ruby  NodeJS/MongoDB/JavaScript/MEAN @EricOverfield - pixelmill.com
  • 11. Reasons to use MEAN  Open source, inexpensive framework  Very scalable, extremely fast processing  NodeJS is very good at dispatching requests and heavy I/O  Large community with large support base  Not based on .NET, C#, MSSQL, etc  May already be using for other business applications @EricOverfield - pixelmill.com
  • 12. Setting Up MEAN Stack @EricOverfield - pixelmill.com
  • 13. MongoDB and NodeJS Pick your server architecture  Windows, Linux, iOS, BSD - Azure, cloud, on-prem @EricOverfield - pixelmill.com MongoDB  Download MongoDB from http://mongodb.org  *Review their documentation, insightful NodeJS  Download NodeJS from http://nodejs.org  *Have installer add node and npm to path
  • 14. Tools: Git, Grunt, Bower, Notepad++ Extra tools to help make life easier  Git – source control, quickly download existing projects  http://git-scm.com/downloads  Bower – NodeJS package manager (Similar to PHP’s Composer)  npm install –g bower  Grunt – NodeJS task runner, aids running packages  npm install –g grunt-cli  Notepad++ - Powerful source editor, NodeJS plugin exists  http://notepad-plus-plus.org @EricOverfield - pixelmill.com
  • 15. Express and AngularJS @EricOverfield - pixelmill.com  Can install each component on its own  http://expressjs.com/ - “npm install express -g” or “npm install express-generator -g”  https://angularjs.org/  Create own Express/NodeJS app, download and include AngulaJS  Or, use a NodeJS package!  Mean.io (node package), MeanJS.org (git project)  MeanJS.org  git clone https://github.com/meanjs/mean.git meanjs  Modify app settings in package.json  npm install
  • 16. Steps to Connect to SharePoint @EricOverfield - pixelmill.com  Install components and create NodeJS app with Express  Need SSL certificates as well (review references for howto’s)  Create SharePoint App in Visual Studio  Register App in SPO to get Client Id and Client Secret  /_layouts/15/AppRegNew.aspx  Update NodeJS App to complete oAuth authorization, returns accessToken  Start with Passport for SharePoint  https://github.com/QuePort/passport-sharepoint  Create Model, View and Controller in NodeJS using Express methods and AngularJS  Bust out that JavaScript and JSON!
  • 17. SharePoint Browser 1 ACS nodeJS 1. Browser requests app from SharePoint / SPO via page with app, or site contents Special thanks to Todd Baginski for original flowchart http://channel9.msdn.com/Events/SharePoint-Conference/2012/SPC030
  • 18. SharePoint Browser 1 ACS nodeJS 2 2. SharePoint contacts ACS, requesting a signed context token for user / browser
  • 19. SharePoint Browser 1 ACS nodeJS 2 3 3. ACS returns signed context token to SharePoint
  • 20. SharePoint Browser 1 ACS nodeJS 2 3 4 4. SharePoint returns the signed context token with auth code to browser
  • 21. SharePoint Browser 1 ACS nodeJS 2 3 4 5 5. Browser is redirected to nodeJS server endpoint and posts context token for authentication
  • 22. SharePoint Browser 1 ACS nodeJS 2 3 4 5 6 6. nodeJS will take context token from POST request and send to ACS for validation
  • 23. SharePoint Browser 1 ACS nodeJS 2 3 4 5 6 7 7. After validation at ACS, ACS will return an accessToken to nodeJS App for access to SharePoint
  • 24. SharePoint Browser 1 ACS nodeJS 2 3 4 5 6 7 8 8. nodeJS app may now use client accessToken to make requests to SharePoint as user
  • 25. SharePoint Browser 1 ACS nodeJS 2 3 4 5 6 7 9 8 9. SharePoint returns requested data to nodeJS app based on valid accessToken and authorization
  • 26. SharePoint Browser 1 ACS nodeJS 2 3 4 5 6 7 9 8 10 10. nodeJS will return final data to browser, in our case JSON data in the form of an API
  • 27. SharePoint 2 3 4 Browser 1 ACS 9 8 nodeJS 5 nodeJS / express routes 6 7 10 /sharepoint/auth /beerapp /beers /beerskus /beerskudocs
  • 28. nodeJS nodeJS / express routes 2 3 4 express “custom api” /sharepoint/auth /beerapp /beers /beerskus /beerskudocs nodeJS Controllers SharePoint Browser 1 ACS 5 6 7 9 8 10 ACS OAuth Core / AngularJS Model / mongoDB REST / SharePoint
  • 29. SharePoint 2 3 4 Browser 1 ACS 5 6 7 9 8 10 nodeJS express “custom api” /sharepoint/auth /beerapp /beers /beerskus /beerskudocs ACS OAuth Core / AngularJS Model / mongoDB REST / SharePoint nodeJS / express routes nodeJS Controllers
  • 30. nodeJS express “custom api” /sharepoint/auth /beerapp /beers /beerskus /beerskudocs ACS OAuth Core / AngularJS Model / mongoDB angularJS / Client Side Routes / Views /beerapp#!/beers /beerapp#!/beers/create /beerapp#!/beers/:beerSku /beerapp#!/beers/:beerSku/edit REST / SharePoint nodeJS / express routes nodeJS Controllers
  • 31. Creating a MEAN Stack App with SharePoint @EricOverfield - pixelmill.com Demo
  • 32. A Quick Review @EricOverfield - pixelmill.com  A MEAN stack overview  Why we might use MEAN with SharePoint  Configuring the MEAN stack  Join SharePoint to make it MEAN
  • 33. Special Thanks to Those Who Got Me Here Passport for SharePoint – QuePort and Thomas Herbst https://github.com/QuePort/passport-sharepoint SharePoint 2013 and NodeJS - Bjørn Einar https://github.com/bjartwolf/SP2013Node Todd Baginski SharePoint 2013: node.JS Remote Event Receiver http://msdn.microsoft.com/en-us/library/office/dn775099%28v=office.15%29.aspx Building Cloud-hosted apps for SharePoint with PHP and node.JS http://channel9.msdn.com/Events/SharePoint-Conference/2012/SPC030 @EricOverfield - pixelmill.com Chris Beckett – Inspiration and guidance
  • 34. Set Up Secure Certificates for NodeJS/Express  Based on: http://greengeckodesign.com/blog/2013/06/15/creating-an-ssl-certificate-for-node-dot-js/ @EricOverfield - pixelmill.com  Install openssl (cygwin with openssl packages)  Create a Certificate Authority set RANDFILE=.rnd openssl genrsa -des3 -out ca.key 1024 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 365 -in ca.csr -out ca.crt -signkey ca.key  Create a Server Certificate openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr  Then, remove the passphrase from the server certificate: cp server.key server.key.org openssl rsa -in server.key.org -out server.key  And then, generate your self-signed certificate openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • 35. Resources Install MongoDB http://docs.mongodb.org/manual/installation/ MEAN Boilerplates http://meanjs.org – http://mean.io Run NodeJS in IIS https://github.com/tjanczuk/iisnode Setting up MEAN stack http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/ http://thecodebarbarian.wordpress.com/2013/07/29/introduction-to-the-mean-stack-part-two-building-and-testing-a-to-do-list/ Passport for SharePoint https://github.com/QuePort/passport-sharepoint SharePoint 2013, NodeJS and Passport project https://github.com/bjartwolf/SP2013Nodev Authentication Code OAuth flow for apps in SharePoint 2013 http://msdn.microsoft.com/en-us/library/office/jj687470%28v=office.15%29.aspx @EricOverfield - pixelmill.com Node Windows - Turn node into service https://github.com/coreybutler/node-windows
  • 36. SharePoint 2013 Apps and I “MEAN” It http://pxml.ly/EO-SP-MEAN Thank You “Pro SharePoint 2013 Branding and Responsive Web Development” Eric Overfield @EricOverfield ericoverfield.com (Apress – June 12th, 2013) Order Your Copy http://pxml.ly/zsqykd

Editor's Notes

  1. Slides will be available from blog and twitter In-depth look at MEAN stack and how to use this in SharePoint 2013 provider hosted apps. Somewhat of a proof of concept, lets move apps out of .Net and Azure onto own env. Dev heavy with majority in demos We will set up the mean stack on internal server, then create a SP app that will talk to our node application, authenticate and provide an interface. Who has experience with apps, SP 2013 Oauth app authentication? Worked with MEAN or its components?
  2. Will make available on blog and twitter (slideshare.net), so if you remember one of those then you can always review everything we discuss
  3. Not necessarily in correct order we would use Mongoose, passport and other modules we include into NodeJS. Express is just a module as well.
  4. Can have multiple instances You create "databases" by just using them Tables => collections Row => document --will also need mongoose to connect mongodb to node http://mongoosejs.com/, but meanjs installs for us.
  5. Similar to Knockout (find others), but not quite MVC, MVVM
  6. MongoDB very easy to install, follow instructions NodeJS – There is a test script to make sure it works
  7. git helps with git bash. Grunt and Node can be turn into service or run under IIS
  8. mean.io is easier to install but not as good documentation npm install -g mean-cli go to folder where you will create app: mean init <myApp> cd <myApp> && npm install then in same folder run grunt Express Generator npm install express-generator -g #useful to get .exe added to path: %USERPROFILE%\AppData\Roaming\npm\node_modules\express-generator express mytestapp #in folder where you want to install new app cd mytestapp npm install
  9. Create Visual Studio SharePoint App Provider hosted MVC, will change later Register App on SPO https://pixelmill.sharepoint.com/sites/demo-mean-dev1/_layouts/15/AppRegNew.aspx /* Demo 1 Client Id: 6d6faaab-908c-443a-****-40a7b618cadb Client Secret: JZNnw1LCgznGXHIOF1oyB40jHpSpkgxlYS6/2*****= Title: PM Mean Demo 1 App Domain: localhost Redirect URI: https://localhost */ Passport for SharePoint https://github.com/QuePort/passport-sharepoint npm install passport-sharepoint SP2013 Node https://github.com/bjartwolf/SP2013Node
  10. Thanks to Todd Baginski for assistance with Oauth / SP and ACS http://channel9.msdn.com/Events/SharePoint-Conference/2012/SPC030
  11. Routes are in purple, Views are bolded
  12. Scenario Micro-brew MongoDB will host product catalog SP will host documents, images and other assets related to each catalog item Want to have SPO portal where we can view catalog, create new products, auto-add term to term store so we can link documents to product with term
  13. Thank You! Don’t forget to check out my blog where you can download this presentation or the recording. Easiest way to get to the material I referenced