SlideShare a Scribd company logo
SPCA2013 - SharePoint Hosted Apps and Javascript
SharePoint-Hosted Apps and JavaScript
Developers, developers, developers, developers, developers, developers, developers, developers,
developers, developers, developers, developers, developers, developers, developers, developers,
developers, developers, developers, developers, developers, developers, developers, developers, …
Introduction
• Wesley Bakker
• Email

: wesley.bakker@motion10.com

• Principal Consultant at motion10

22-11-2013

3
Agenda
• SharePoint-Hosted Apps
• The good, the bad and the ugly

• JavaScript
• The good, the bad and the… etc.

• Demo
• Questions

22-11-2013

4
SharePoint Hosted Apps
The good, the bad and the ugly

5
What Microsoft says about SharePoint-hosted apps
“SharePoint-hosted apps: SharePoint-hosted apps contain only declarative content, such as HTML and
JavaScript, and don’t have any server-side code that is packaged with them. These types of apps store the HTML
and other content in SharePoint and simply present the declarative content to the browser. SharePoint-hosted
apps interact with SharePoint via the JavaScript object model or Representational State Transfer (REST) endpoints and are client-side based. The design and interaction of these types of apps are similar to client-side
design patterns used with sandboxed solutions.” *

*http://msdn.microsoft.com/library/office/dn268593(v=office.15)

22-11-2013

6
The good
• Solves many problems for Microsoft
• JavaScript only
• Apps run in their own app web which is a sub web of the host web

22-11-2013

7
The bad
• Solves many problems for Microsoft
• JavaScript only
• Apps run in their own app web which is a sub web of the host web

22-11-2013

8
The ugly
• SharePoint-hosted apps do not work with SAML and FBA sites

22-11-2013

9
JavaScript
The good, the bad and the… etc.

10
The good
• Dynamic programming language
• Extensible

• Can be written in an Object-oriented fashion

22-11-2013

11
The bad
• Dynamic programming language
• Extensible

• Can be written in an Object-oriented fashion

22-11-2013

12
The ugly
<script type="text/javascript">
var hostweburl;
var appweburl;
$(document).ready(function () {
hostweburl =
decodeURIComponent(
getQueryStringParameter("SPHostUrl")
);
appweburl =
decodeURIComponent(
getQueryStringParameter("SPAppWebUrl")
);
var scriptbase = hostweburl + "/_layouts/15/";
$.getScript(scriptbase + "SP.RequestExecutor.js", execCrossDomainRequest);
});

22-11-2013

13
Real development shortcomings
• No type checking
• No compile-time validation
• IntelliSense is not that good

22-11-2013

14
Huge Demo
Demo

15
Conclusion
• TypeScript is pretty cool
• Still in preview though and the Visual Studio plugin is not very stable…

• T4 templating is pretty cool
• T4 templating could use some TLC… no intellisense is pretty much a deal breaker though

• AngularJS is pretty cool
• No buts… it is pretty cool!

• Web Essentials is pretty cool
• The tool does have some bugs, it is open source though and you can submit your changes 

• Writing SharePoint-hosted Apps can be pretty cool…
• Nobody said it would be easy though..

22-11-2013

42
SPCA2013 - SharePoint Hosted Apps and Javascript

More Related Content

What's hot (20)

PPTX
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
PPTX
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
PPTX
Using jQuery to Maximize Form Usability
Mark Rackley
 
PPTX
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Fabio Franzini
 
PPTX
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
Mark Rackley
 
PPTX
Introduction to Srb4j
Jian Chen
 
PPTX
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
PPTX
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
PPTX
Building high performance
Roy Sheinfeld
 
PPTX
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
PPTX
Spsmi13 charts
Derek Gusoff
 
PDF
Sviluppare app per office
Fabio Franzini
 
PPTX
SPTechCon Dev Days - Third Party jQuery Libraries
Mark Rackley
 
PDF
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
PPTX
A Power User's Intro to jQuery Awesomeness in SharePoint
Mark Rackley
 
PPT
Building Cool apps with flex
Joseph Khan
 
PPTX
SharePoint REST vs CSOM
Mark Rackley
 
PPT
Introduction to Adobe Flex - Zaloni
Joseph Khan
 
PPTX
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Sonja Madsen
 
PPTX
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
Using jQuery to Maximize Form Usability
Mark Rackley
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Fabio Franzini
 
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
Mark Rackley
 
Introduction to Srb4j
Jian Chen
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
Building high performance
Roy Sheinfeld
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
Spsmi13 charts
Derek Gusoff
 
Sviluppare app per office
Fabio Franzini
 
SPTechCon Dev Days - Third Party jQuery Libraries
Mark Rackley
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
A Power User's Intro to jQuery Awesomeness in SharePoint
Mark Rackley
 
Building Cool apps with flex
Joseph Khan
 
SharePoint REST vs CSOM
Mark Rackley
 
Introduction to Adobe Flex - Zaloni
Joseph Khan
 
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Sonja Madsen
 
(Updated) SharePoint & jQuery Guide
Mark Rackley
 

Viewers also liked (7)

PPTX
SPCA2013 - Navigation in a Multi Site Collection Environment
NCCOMMS
 
PDF
Spca2014 chris o brien modern share-point development - techniques for off-...
NCCOMMS
 
PDF
Spca2014 hillier workshop 01
NCCOMMS
 
PDF
Spca2014 js link and display templates hatch
NCCOMMS
 
PDF
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
 
PPTX
SPCA2013 - SharePoint 2013 in a Hybrid World
NCCOMMS
 
PPTX
SPCA2013 - Dude, Where’s my Search Scopes
NCCOMMS
 
SPCA2013 - Navigation in a Multi Site Collection Environment
NCCOMMS
 
Spca2014 chris o brien modern share-point development - techniques for off-...
NCCOMMS
 
Spca2014 hillier workshop 01
NCCOMMS
 
Spca2014 js link and display templates hatch
NCCOMMS
 
Spca2014 hillier 3rd party_javascript_libraries
NCCOMMS
 
SPCA2013 - SharePoint 2013 in a Hybrid World
NCCOMMS
 
SPCA2013 - Dude, Where’s my Search Scopes
NCCOMMS
 
Ad

Similar to SPCA2013 - SharePoint Hosted Apps and Javascript (20)

PPTX
Product Camp Silicon Valley 2018 - PM Technical Skills
Sandeep Adwankar
 
DOCX
Tasvir_UI Developer
Rahmat Tasvir
 
DOC
KATHY ZHANG_3
kathy Zhang
 
DOC
Phil_Pearl_Resume
Phil Pearl
 
DOCX
ShefaliSharma_Dec
Shefali sharma
 
DOC
prabhakaran (4.3)
Prabhakaran M
 
PPTX
Welcome to React.pptx
PraveenKumar680401
 
DOC
Adetunji's resume
Adetunji Alabi
 
DOCX
SumerSingh_Ashawat
Sumer singh Ashawat
 
PDF
wt mod3.pdf
VinayKumarV24
 
DOC
Muhammad Ahsan Javed - Visionet
Muhammad Ahsan Ranjha
 
DOC
Sherry-LinkedIn
Sherry Wang
 
DOCX
Sr front end web developer Ln11
Aakash Desai
 
PPTX
Java script Session No 1
Saif Ullah Dar
 
PPTX
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
chitrachauhan21
 
PDF
Frontend Developer Roadmap PDF By Scholarhat
Scholarhat
 
DOC
Joshua Harris resume
Josh Harris
 
DOC
CV_Priyamadhab
Priyamadhab Mohapatra
 
Product Camp Silicon Valley 2018 - PM Technical Skills
Sandeep Adwankar
 
Tasvir_UI Developer
Rahmat Tasvir
 
KATHY ZHANG_3
kathy Zhang
 
Phil_Pearl_Resume
Phil Pearl
 
ShefaliSharma_Dec
Shefali sharma
 
prabhakaran (4.3)
Prabhakaran M
 
Welcome to React.pptx
PraveenKumar680401
 
Adetunji's resume
Adetunji Alabi
 
SumerSingh_Ashawat
Sumer singh Ashawat
 
wt mod3.pdf
VinayKumarV24
 
Muhammad Ahsan Javed - Visionet
Muhammad Ahsan Ranjha
 
Sherry-LinkedIn
Sherry Wang
 
Sr front end web developer Ln11
Aakash Desai
 
Java script Session No 1
Saif Ullah Dar
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
chitrachauhan21
 
Frontend Developer Roadmap PDF By Scholarhat
Scholarhat
 
Joshua Harris resume
Josh Harris
 
CV_Priyamadhab
Priyamadhab Mohapatra
 
Ad

More from NCCOMMS (20)

PDF
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
NCCOMMS
 
PDF
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
NCCOMMS
 
PDF
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
NCCOMMS
 
PDF
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
NCCOMMS
 
PDF
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
NCCOMMS
 
PDF
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
NCCOMMS
 
PDF
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS
 
PDF
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
NCCOMMS
 
PDF
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
NCCOMMS
 
PDF
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
NCCOMMS
 
PDF
O365Con19 - Azure Blackbelt - Jussi Roine
NCCOMMS
 
PDF
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
NCCOMMS
 
PDF
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
NCCOMMS
 
PDF
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
NCCOMMS
 
PDF
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
PDF
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
PDF
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
NCCOMMS
 
PDF
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
NCCOMMS
 
PDF
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
NCCOMMS
 
PDF
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
NCCOMMS
 
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
NCCOMMS
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
NCCOMMS
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
NCCOMMS
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
NCCOMMS
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
NCCOMMS
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
NCCOMMS
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
NCCOMMS
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
NCCOMMS
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
NCCOMMS
 
O365Con19 - Azure Blackbelt - Jussi Roine
NCCOMMS
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
NCCOMMS
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
NCCOMMS
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
NCCOMMS
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
NCCOMMS
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
NCCOMMS
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
NCCOMMS
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
NCCOMMS
 

Recently uploaded (20)

PPTX
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PPTX
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
PDF
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PPTX
The birth and death of Stars - earth and life science
rizellemarieastrolo
 
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
The birth and death of Stars - earth and life science
rizellemarieastrolo
 

SPCA2013 - SharePoint Hosted Apps and Javascript

  • 2. SharePoint-Hosted Apps and JavaScript Developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, …
  • 3. Introduction • Wesley Bakker • Email : [email protected] • Principal Consultant at motion10 22-11-2013 3
  • 4. Agenda • SharePoint-Hosted Apps • The good, the bad and the ugly • JavaScript • The good, the bad and the… etc. • Demo • Questions 22-11-2013 4
  • 5. SharePoint Hosted Apps The good, the bad and the ugly 5
  • 6. What Microsoft says about SharePoint-hosted apps “SharePoint-hosted apps: SharePoint-hosted apps contain only declarative content, such as HTML and JavaScript, and don’t have any server-side code that is packaged with them. These types of apps store the HTML and other content in SharePoint and simply present the declarative content to the browser. SharePoint-hosted apps interact with SharePoint via the JavaScript object model or Representational State Transfer (REST) endpoints and are client-side based. The design and interaction of these types of apps are similar to client-side design patterns used with sandboxed solutions.” * *http://msdn.microsoft.com/library/office/dn268593(v=office.15) 22-11-2013 6
  • 7. The good • Solves many problems for Microsoft • JavaScript only • Apps run in their own app web which is a sub web of the host web 22-11-2013 7
  • 8. The bad • Solves many problems for Microsoft • JavaScript only • Apps run in their own app web which is a sub web of the host web 22-11-2013 8
  • 9. The ugly • SharePoint-hosted apps do not work with SAML and FBA sites 22-11-2013 9
  • 10. JavaScript The good, the bad and the… etc. 10
  • 11. The good • Dynamic programming language • Extensible • Can be written in an Object-oriented fashion 22-11-2013 11
  • 12. The bad • Dynamic programming language • Extensible • Can be written in an Object-oriented fashion 22-11-2013 12
  • 13. The ugly <script type="text/javascript"> var hostweburl; var appweburl; $(document).ready(function () { hostweburl = decodeURIComponent( getQueryStringParameter("SPHostUrl") ); appweburl = decodeURIComponent( getQueryStringParameter("SPAppWebUrl") ); var scriptbase = hostweburl + "/_layouts/15/"; $.getScript(scriptbase + "SP.RequestExecutor.js", execCrossDomainRequest); }); 22-11-2013 13
  • 14. Real development shortcomings • No type checking • No compile-time validation • IntelliSense is not that good 22-11-2013 14
  • 16. Conclusion • TypeScript is pretty cool • Still in preview though and the Visual Studio plugin is not very stable… • T4 templating is pretty cool • T4 templating could use some TLC… no intellisense is pretty much a deal breaker though • AngularJS is pretty cool • No buts… it is pretty cool! • Web Essentials is pretty cool • The tool does have some bugs, it is open source though and you can submit your changes  • Writing SharePoint-hosted Apps can be pretty cool… • Nobody said it would be easy though.. 22-11-2013 42

Editor's Notes

  • #8: SharePoint-hosted apps solve many problems for Microsoft in a sense that not a single line of code runs in the app pool process. This protects the core processes of SharePoint.It is actually a good thing that you can use JavaScript only. Sandboxed solutions should be built in a way that they use JavaScript as much as possible to prevent from being shutdown because of resource usage. A lot of solutions however simply required to up the available resource points instead of switching to extend the use of JSOM.Apps must be running in their own app web to ensure that no actions can be performed while circumventing the use of a proxy which checks permissions. It also ensures that nothing is added to the SharePoint site that cannot be upgraded. In a worse case scenario, your app stops working on upgrade, with which you’ll only loose app functionality. Your default SharePoint functionality remains untouched.
  • #9: Even though SharePoint-hosted apps solves many problems for Microsoft, they do introduce a lot of challenges for developers. Such as how to cope with cross-site script access, how to integrate with the SharePoint UI.The fact that it is JavaScript only, limits the possibilities. You cannot perform any server side custom tasks. Such as resizing an image, combine files and download them as zip.Apps run in their own app web, which by default creates an app web for each web the SharePoint-hosted apps get added. You can deploy an app from the app catalog management page which creates a single app web for all webs, unfortunately this doesn’t work for all sorts of features. CustomAction elements for example cannot be deployed like this. The fact that the SharePoint-hosted apps gets its own App Web isn’t that big a deal, except when you use a lot of JavaScript libraries. These libraries need to be downloaded for each web where your app is added, since they are hosted under a different URL, the client cannot cache these libraries
  • #10: SharePoint-hosted apps do not work with SAML and FBA sites. A good explanation on why can be found here: http://nearbaseline.com/blog/2013/07/sharepoint-hosted-apps-with-saml-authentication/
  • #12: JavaScript has a lot of well known pro’s and con’s. And the fact that it’s a dynamic language is both great and “dangerous”.
  • #13: JavaScript has a lot of well known pro’s and con’s. And the fact that it’s a dynamic language is both great and dangerous.
  • #14: The ugly doesn’t come from JavaScript itself, but from the code samples found on the Microsoft sites…This sample codemixes jQuery usage and standard JavaScriptUses string concatenation to generate html outputCreates variables in the global scope with a very common name..Code source: http://msdn.microsoft.com/en-us/library/fp179927.aspxBeside that, documentation of the JSOM libraries is very poor
  • #19: Script# allows for writing C# code which gets compiled to JavaScript.This slide shows a sample Page class
  • #20: Script# allows for writing C# code which gets compiled to JavaScript.This slide shows a sample AdminPage class which inherits the Page class
  • #21: You can add references to common libraries such as jQuery to use the jQuery library.
  • #22: Generated JavaScript
  • #23: Generated JavaScript
  • #24: Generated JavaScript
  • #25: Generated JavaScript
  • #26: Unfortunately there is no SharePoint reference available… which renders Script# pretty useless for SharePoint-hosted app development.You can however see something called sharepoint.TypeScript.DefinatelyTyped… wonder what that is…
  • #28: TypeScript allows us to write strongly typed JavaScript, that gets compiled to plain ECMA 5 script!
  • #29: TypeScript also allows us to add references to other ts or d.ts (definition) files. This in turn gives us intellisense and type checking.The biggest advantage of TypeScript is that it has a large community and from that community comes the SharePoint.d.ts file that contains the SharePoint definitions,
  • #31: We first use a T4 Template to create the “d.ts” file that gives us full intellisense.
  • #32: We then use a T4 template that uses regular expressions to generate the actually needed .ts file that will in turn generate the needed JavaScript…
  • #33: This slide shows the generated .ts file and the generated .js file contents.
  • #35: AngularJS takes care for the two way data binding.
  • #37: By creating a “.bundle” file we concatenate all the JavaScript files in the defined order… by minifying the result… we get a single minified JavaScript file.
  • #38: This is what we are going to built…
  • #39: First of all we need the custom action to open a dialog with the ActionHandlerLight.aspx page.Do notice the HostWebDialog,HostWebDialogHeight and HostWebDialogWidth attributes
  • #40: We also need some sort of framework for the basic page handling such as error logging, closing dialogs, reading query string paramaeters, taking care of styling and such
  • #41: We also we need to add a binding template to the page...
  • #42: And finally we need to fetch the data and bind the data