SlideShare a Scribd company logo
Gold Silver Bronze
Chris O’Connor
Senior Technical Specialist
VS, PS, CS & JS –
but no BS (?)
Who am I ?
• Chris O’Connor
o Senior Consultant with OBS Empired
o 20+ years experience in dev’ing
o Early days with Visual Basic, then C# ASP.NET -> SharePoint
o Now : jQuery, REST, JSON, AngularJS, Azure (C#), PowerShell
• What about when I’m not working ?
o Mountain biking !
o Basketball coach for my U/12 son’s team
• Contact details…> (later)
3
Agenda
• VS, PS, CS & JS but no BS
o Visual Studio
o PowerShell
o C# (Azure WebSite)
o JavaScript
• Demos…> Office 365
• Use case + application architecture
• No BS ? You decide…!
4
Visual Studio
• Visual Studio 2015
• Pre-requisites
o SharePoint Online Management Shell
o SharePoint Server 2013 Client Components SDK
o Azure SDK v2.7
• Google Chrome
o F12 debugging tools
5
PowerShell
• Remote PowerShell cmdlets
o Office 365 connectivity
o Connect-SPOService
o New-SPOSite
• SharePoint CSOM -> Microsoft.SharePoint.Client.ClientContext
o $curSite = $ctx.Site;
o $ctx.Load($curSite);
o $ctx.ExecuteQuery();
6
PowerShell Functions
• Connect to SPO
• New Site Collection
o Regional Settings
• Activate features
o Site Collection + Web
• Upload files
• Create lists & pages
• Other settings
o Alt Css Url
o Welcome page
• Add JavaScript reference (JS injection)
7
DEMO – Office 365 PowerShell
Connect to SPO
9
New Site Collection
10
Activate features
11
Upload Files
12
Add Alt CSS+ Logo
13
Set Welcome Page
14
JavaScript injection -> ScriptLink
15
Site.Startup.js
16
DEMO – New Site Collection
C#
• Azure Web Site
o SharePoint App Model
• Visual Studio 2015
o New project > App for SharePoint
19
Provider-Hosted App
• First steps
o Client Id + Client Secret
o Setting within WEB.CONFIG for WebApp
• Within SharePoint (O365)
o /_layouts/appregnew.aspx
o Same as for SP2013
• Client/Server metaphor
o TOKEN to allow the ‘client’ code (Azure/C#) to talk to ‘server’ (O365)
20
21
https://tenant.sharepoint.com/_layouts/appregnew.aspx
C#
• Within WebApp, need to add references
o Microsoft.SharePoint.Client
o Microsoft.SharePoint.Client.Runtime
o Microsoft.WindowsAzure.Configuration
• SharePointContextProvider.Current.GetSharePointContext
o CSOM code -> clientContext
o Add lists + blog site
o Update home page (add webparts)
o Call to Yammer REST endpoint – create group
• Async via Azure WebJob (for PROD) – not for demo
22
DEMO – Azure C#
JavaScript
• Include JavaScript in page
o ScriptBlock reference
OR
o ContentEditor WebPart
• Examples
o Add footer – without Master Page update (JavaScript injection)
o Waffle
o Show dialog
o Delete sub-sites
o New Workspace
26
JavaScript Object Model (JSOM)
• JS within page reference, or HTM
• LoadContext
o SP.ClientContext
• SPWeb
o get_rootWeb()
• SPList
o get_lists()
o getByTitle(“ListName”)
27
DEMO – JavaScript
Wrap-up
• VS, PS, CS & JS – but no BS (?)
• Visual Studio 2015
• PowerShell
o Site collection provisioning
• C# (Azure WebSite)
o Sub-site, self-service
• JavaScript
o No master page changes, client-side (in-browser) functionality
31
Wrap-up
• CSOM ! CSOM ! CSOM !
o ClientContext
o PowerShell, C# and JavaScript
• Azure ! Azure ! Azure !
o C# > WebApp and WebJob
32
Contact Details :
Chris O’Connor
Email : chris.oconnor@empired.com
Blog : www.clouddeveloper.space
Twitter : @grumpywookie
Gold Silver Bronze
36

More Related Content

What's hot

Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 | Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Shailendra Chauhan
 
How to build a static website in two and a half days with Nuxt and Tailwind CSS
How to build a static website in two and a half days with Nuxt and Tailwind CSSHow to build a static website in two and a half days with Nuxt and Tailwind CSS
How to build a static website in two and a half days with Nuxt and Tailwind CSS
Vanessa Böhner
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
Bob German
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and TricksAdvanced AngularJS Tips and Tricks
Advanced AngularJS Tips and Tricks
Jeremy Likness
 
Wijmo 5 - GrapeCity Echo Tokyo
Wijmo 5 - GrapeCity Echo TokyoWijmo 5 - GrapeCity Echo Tokyo
Wijmo 5 - GrapeCity Echo Tokyo
Chris Bannon
 
Analizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con GlimpseAnalizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con Glimpse
Emanuele Bartolesi
 
Visualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinarVisualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinar
Ross Dederer
 
Evolution / History of ASP.NET
Evolution / History of ASP.NETEvolution / History of ASP.NET
Evolution / History of ASP.NET
Anoop Kumar Sharma
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 Overview
Gunnar Peipman
 
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVCApplying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
Mohamed Meligy
 
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentation
Justin Wendlandt
 

What's hot (12)

Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 | Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
 
How to build a static website in two and a half days with Nuxt and Tailwind CSS
How to build a static website in two and a half days with Nuxt and Tailwind CSSHow to build a static website in two and a half days with Nuxt and Tailwind CSS
How to build a static website in two and a half days with Nuxt and Tailwind CSS
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and TricksAdvanced AngularJS Tips and Tricks
Advanced AngularJS Tips and Tricks
 
Wijmo 5 - GrapeCity Echo Tokyo
Wijmo 5 - GrapeCity Echo TokyoWijmo 5 - GrapeCity Echo Tokyo
Wijmo 5 - GrapeCity Echo Tokyo
 
Analizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con GlimpseAnalizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con Glimpse
 
Visualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinarVisualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinar
 
Evolution / History of ASP.NET
Evolution / History of ASP.NETEvolution / History of ASP.NET
Evolution / History of ASP.NET
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 Overview
 
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVCApplying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
 
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentation
 

Similar to 2015 - PowerShell, C# and JavaScript for Office 365

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
Gilles Pommier
 
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
 
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
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien
 
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
NCCOMMS
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
NCCOMMS
 
Mastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atworkMastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atwork
SPC Adriatics
 
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdfAWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
Girish Bhatia
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
atwork
 
CC 2015 Single Page Applications for the ASPNET Developer
CC 2015   Single Page Applications for the ASPNET DeveloperCC 2015   Single Page Applications for the ASPNET Developer
CC 2015 Single Page Applications for the ASPNET Developer
Allen Conway
 
Exchange 2016 & Office Online Server
Exchange 2016 & Office Online ServerExchange 2016 & Office Online Server
Exchange 2016 & Office Online Server
Michel de Rooij
 
Mastering Office 365 Development
Mastering Office 365 DevelopmentMastering Office 365 Development
Mastering Office 365 Development
atwork
 
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Sébastien Levert
 
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
AWS Chicago
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
SUGES (SharePoint Users Group España)
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
Vincent Biret
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG
 
ASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web AppsASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web Apps
Shahed Chowdhuri
 
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEVESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
Adis Jugo
 

Similar to 2015 - PowerShell, C# and JavaScript for Office 365 (20)

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
 
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
 
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...
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
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
 
SPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud SolutionsSPUnite17 Creating Scalable Cloud Solutions
SPUnite17 Creating Scalable Cloud Solutions
 
Mastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atworkMastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atwork
 
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdfAWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
AWS S3 Static Website Hosting and CICD Pipeline using GitHub.pdf
 
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshareO365 saturday: How to (remote) control office 365 with windows azure-slideshare
O365 saturday: How to (remote) control office 365 with windows azure-slideshare
 
CC 2015 Single Page Applications for the ASPNET Developer
CC 2015   Single Page Applications for the ASPNET DeveloperCC 2015   Single Page Applications for the ASPNET Developer
CC 2015 Single Page Applications for the ASPNET Developer
 
Exchange 2016 & Office Online Server
Exchange 2016 & Office Online ServerExchange 2016 & Office Online Server
Exchange 2016 & Office Online Server
 
Mastering Office 365 Development
Mastering Office 365 DevelopmentMastering Office 365 Development
Mastering Office 365 Development
 
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!
 
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
GirishBhatia_AWS S3 Static Website Hosting and CICD Pipeline using GitHub 202...
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
ASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web AppsASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web Apps
 
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEVESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
 

More from Chris O'Connor

Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Developing Mobile Apps with Office365
Developing Mobile Apps with Office365
Chris O'Connor
 
2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)
Chris O'Connor
 
2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)
Chris O'Connor
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
Chris O'Connor
 
2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon
Chris O'Connor
 
2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model
Chris O'Connor
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
Chris O'Connor
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
Chris O'Connor
 
2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)
Chris O'Connor
 
2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint
Chris O'Connor
 

More from Chris O'Connor (10)

Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Developing Mobile Apps with Office365
Developing Mobile Apps with Office365
 
2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)
 
2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon
 
2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model2010 - Developer look at the Client Object Model
2010 - Developer look at the Client Object Model
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
 
2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)
 
2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

2015 - PowerShell, C# and JavaScript for Office 365

  • 2. Chris O’Connor Senior Technical Specialist VS, PS, CS & JS – but no BS (?)
  • 3. Who am I ? • Chris O’Connor o Senior Consultant with OBS Empired o 20+ years experience in dev’ing o Early days with Visual Basic, then C# ASP.NET -> SharePoint o Now : jQuery, REST, JSON, AngularJS, Azure (C#), PowerShell • What about when I’m not working ? o Mountain biking ! o Basketball coach for my U/12 son’s team • Contact details…> (later) 3
  • 4. Agenda • VS, PS, CS & JS but no BS o Visual Studio o PowerShell o C# (Azure WebSite) o JavaScript • Demos…> Office 365 • Use case + application architecture • No BS ? You decide…! 4
  • 5. Visual Studio • Visual Studio 2015 • Pre-requisites o SharePoint Online Management Shell o SharePoint Server 2013 Client Components SDK o Azure SDK v2.7 • Google Chrome o F12 debugging tools 5
  • 6. PowerShell • Remote PowerShell cmdlets o Office 365 connectivity o Connect-SPOService o New-SPOSite • SharePoint CSOM -> Microsoft.SharePoint.Client.ClientContext o $curSite = $ctx.Site; o $ctx.Load($curSite); o $ctx.ExecuteQuery(); 6
  • 7. PowerShell Functions • Connect to SPO • New Site Collection o Regional Settings • Activate features o Site Collection + Web • Upload files • Create lists & pages • Other settings o Alt Css Url o Welcome page • Add JavaScript reference (JS injection) 7
  • 8. DEMO – Office 365 PowerShell
  • 13. Add Alt CSS+ Logo 13
  • 15. JavaScript injection -> ScriptLink 15
  • 17. DEMO – New Site Collection
  • 18.
  • 19. C# • Azure Web Site o SharePoint App Model • Visual Studio 2015 o New project > App for SharePoint 19
  • 20. Provider-Hosted App • First steps o Client Id + Client Secret o Setting within WEB.CONFIG for WebApp • Within SharePoint (O365) o /_layouts/appregnew.aspx o Same as for SP2013 • Client/Server metaphor o TOKEN to allow the ‘client’ code (Azure/C#) to talk to ‘server’ (O365) 20
  • 22. C# • Within WebApp, need to add references o Microsoft.SharePoint.Client o Microsoft.SharePoint.Client.Runtime o Microsoft.WindowsAzure.Configuration • SharePointContextProvider.Current.GetSharePointContext o CSOM code -> clientContext o Add lists + blog site o Update home page (add webparts) o Call to Yammer REST endpoint – create group • Async via Azure WebJob (for PROD) – not for demo 22
  • 24.
  • 25.
  • 26. JavaScript • Include JavaScript in page o ScriptBlock reference OR o ContentEditor WebPart • Examples o Add footer – without Master Page update (JavaScript injection) o Waffle o Show dialog o Delete sub-sites o New Workspace 26
  • 27. JavaScript Object Model (JSOM) • JS within page reference, or HTM • LoadContext o SP.ClientContext • SPWeb o get_rootWeb() • SPList o get_lists() o getByTitle(“ListName”) 27
  • 28.
  • 30.
  • 31. Wrap-up • VS, PS, CS & JS – but no BS (?) • Visual Studio 2015 • PowerShell o Site collection provisioning • C# (Azure WebSite) o Sub-site, self-service • JavaScript o No master page changes, client-side (in-browser) functionality 31
  • 32. Wrap-up • CSOM ! CSOM ! CSOM ! o ClientContext o PowerShell, C# and JavaScript • Azure ! Azure ! Azure ! o C# > WebApp and WebJob 32
  • 33.
  • 34. Contact Details : Chris O’Connor Email : chris.oconnor@empired.com Blog : www.clouddeveloper.space Twitter : @grumpywookie
  • 36. 36

Editor's Notes

  1. Architecture - whiteboard
  2. Via NuGet packages / also – I’m using VSonline
  3. https://support.office.com/en-us/article/Introduction-to-the-SharePoint-Online-Management-Shell-c16941c3-19b4-4710-8056-34c034493429
  4. + debug
  5. Debug mode > Cloud Explorer
  6. Can do audience targeted webparts for CEWP