SlideShare a Scribd company logo
Image from http://msdn.microsoft.com/en-
Image from http://msdn.microsoft.com/en-










•
•
•
•

•
•
•
•
•
Image from http://msdn.microsoft.com/en-
Image from http://msdn.microsoft.com/en-
http://www.microsoft.com/en-us/download/details.aspx?id=26728
http://www.microsoft.com/en-us/download/details.aspx?id=29065
https://www.bingmapsportal.com
http://dev.office.com

http://cloudshare.com
http://blog.cloudshare.com/author/danny

http://sdrv.ms/XbohjT
http://odata.org
https://addons.mozilla.org/en-US/firefox/addon/restclient/
http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Make-app6e3d1ee9
http://msdn.microsoft.com/en-us/library/sharepoint/jj164084.aspx
http://msdn.microsoft.com/en-us/library/office/apps/jj163230.aspx
http://msdn.microsoft.com/en-us/library/ff798425.aspx

http://msdn.microsoft.com/en-us/library/ee231562.aspx
http://msdn.microsoft.com/en-us/library/hh313619%28v=office.14%29.aspx
http://msdn.microsoft.com/en-us/library/ee330921.aspx
http://msdn.microsoft.com/en-us/library/sharepoint/jj164060.aspx

http://msdn.microsoft.com/en-us/library/fp142380.aspx
http://msdn.microsoft.com/en-us/library/fp179930.aspx

http://msdn.microsoft.com/en-us/library/fp179922.aspx
http://msdn.microsoft.com/en-us/library/fp142383.aspx
http://msdn.microsoft.com/en-us/library/fp179934.aspx
http://msdn.microsoft.com/en-us/library/jj163091.aspx
http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=14

http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?ID=266
http://sharepointchick.com/archive/2012/07/29/setting-up-your-app-domainfor-sharepoint-2013.aspx
http://technet.microsoft.com/en-us/library/fp161233.aspx

http://msdn.microsoft.com/en-us/library/fp179921.aspx

http://msdn.microsoft.com/en-us/library/jj163954.aspx
http://msdn.microsoft.com/en-us/library/fp179923.aspx

http://msdn.microsoft.com/en-us/library/fp142383.aspx
http://msdn.microsoft.com/en-us/library/fp179892.aspx
http://msdn.microsoft.com/en-us/library/jj191507.aspx

http://technet.microsoft.com/en-us/library/fp161232.aspx

More Related Content

Viewers also liked

Λίγα για την κοσμική ακτινοβολία υποβάθρου
Λίγα για την κοσμική ακτινοβολία υποβάθρουΛίγα για την κοσμική ακτινοβολία υποβάθρου
Λίγα για την κοσμική ακτινοβολία υποβάθρουJohn Fiorentinos
 
Μια …άπειρη συστοιχία αντιστάσεων
Μια …άπειρη συστοιχία αντιστάσεωνΜια …άπειρη συστοιχία αντιστάσεων
Μια …άπειρη συστοιχία αντιστάσεωνJohn Fiorentinos
 
Μέγιστη ενέργεια πρωτονίων
Μέγιστη ενέργεια πρωτονίωνΜέγιστη ενέργεια πρωτονίων
Μέγιστη ενέργεια πρωτονίωνJohn Fiorentinos
 
Πεδιο Higgs και μάζα
Πεδιο Higgs και μάζαΠεδιο Higgs και μάζα
Πεδιο Higgs και μάζαJohn Fiorentinos
 
Σπάσιμο συμμετρίας
Σπάσιμο συμμετρίας Σπάσιμο συμμετρίας
Σπάσιμο συμμετρίας John Fiorentinos
 
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)John Fiorentinos
 
El parentesco. sesión 8
El parentesco. sesión 8El parentesco. sesión 8
El parentesco. sesión 8
aalcalar
 

Viewers also liked (7)

Λίγα για την κοσμική ακτινοβολία υποβάθρου
Λίγα για την κοσμική ακτινοβολία υποβάθρουΛίγα για την κοσμική ακτινοβολία υποβάθρου
Λίγα για την κοσμική ακτινοβολία υποβάθρου
 
Μια …άπειρη συστοιχία αντιστάσεων
Μια …άπειρη συστοιχία αντιστάσεωνΜια …άπειρη συστοιχία αντιστάσεων
Μια …άπειρη συστοιχία αντιστάσεων
 
Μέγιστη ενέργεια πρωτονίων
Μέγιστη ενέργεια πρωτονίωνΜέγιστη ενέργεια πρωτονίων
Μέγιστη ενέργεια πρωτονίων
 
Πεδιο Higgs και μάζα
Πεδιο Higgs και μάζαΠεδιο Higgs και μάζα
Πεδιο Higgs και μάζα
 
Σπάσιμο συμμετρίας
Σπάσιμο συμμετρίας Σπάσιμο συμμετρίας
Σπάσιμο συμμετρίας
 
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)
Ηλεκτρομαγνητική θεωρία στις n χωρικές διαστάσεις (2)
 
El parentesco. sesión 8
El parentesco. sesión 8El parentesco. sesión 8
El parentesco. sesión 8
 

Similar to FEDSPUG November 2013: Developing Apps SharePoint 2013 by Danny Jessee

Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
Danny Jessee
 
Get Started with Apps for SharePoint 2013
Get Started with Apps for SharePoint 2013Get Started with Apps for SharePoint 2013
Get Started with Apps for SharePoint 2013
Danny Jessee
 
Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
Danny Jessee
 
Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
Danny Jessee
 
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
Naoki (Neo) SATO
 
Data cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsData cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flows
Mark Kromer
 
Data cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flowsData cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flows
Mark Kromer
 
Design+Performance
Design+PerformanceDesign+Performance
Design+Performance
Steve Souders
 
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
Naoki (Neo) SATO
 
இணயத்தில் தமிழ் Tamil usage in internet
இணயத்தில் தமிழ் Tamil usage in internetஇணயத்தில் தமிழ் Tamil usage in internet
இணயத்தில் தமிழ் Tamil usage in internet
medwaytamilsangam
 
August 2020 Microsoft 365 Need to Know Webinar
August 2020 Microsoft 365 Need to Know WebinarAugust 2020 Microsoft 365 Need to Know Webinar
August 2020 Microsoft 365 Need to Know Webinar
Robert Crane
 
Inside3DPrinting_AndyLauta
Inside3DPrinting_AndyLautaInside3DPrinting_AndyLauta
Inside3DPrinting_AndyLauta
MecklerMedia
 
デザインシステムの海で3年間もがいてみて
デザインシステムの海で3年間もがいてみてデザインシステムの海で3年間もがいてみて
デザインシステムの海で3年間もがいてみて
Yahoo!デベロッパーネットワーク
 
202310
202310202310
202310
Robert Crane
 
Introduction to Cosmos db
Introduction to Cosmos dbIntroduction to Cosmos db
Introduction to Cosmos db
Damir Dobric
 
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
Sébastien Levert
 
Running SSIS 2017 at Scale Everywhere
 Running SSIS 2017 at Scale Everywhere Running SSIS 2017 at Scale Everywhere
Running SSIS 2017 at Scale Everywhere
Sandy Winarko
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know Webinar
Robert Crane
 
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
Mark Tabladillo
 
2014 09-20 - SPSNJ - Getting Started with Office 365
2014 09-20 - SPSNJ - Getting Started with Office 3652014 09-20 - SPSNJ - Getting Started with Office 365
2014 09-20 - SPSNJ - Getting Started with Office 365
Dan Usher
 

Similar to FEDSPUG November 2013: Developing Apps SharePoint 2013 by Danny Jessee (20)

Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
 
Get Started with Apps for SharePoint 2013
Get Started with Apps for SharePoint 2013Get Started with Apps for SharePoint 2013
Get Started with Apps for SharePoint 2013
 
Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
 
Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!Get Started with Apps for SharePoint 2013!
Get Started with Apps for SharePoint 2013!
 
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
[Azure Council Experts (ACE) 第35回定例会] Microsoft Azureアップデート情報 (2019/04/19-201...
 
Data cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsData cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flows
 
Data cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flowsData cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flows
 
Design+Performance
Design+PerformanceDesign+Performance
Design+Performance
 
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
[Azure Council Experts (ACE) 第12回定例会] Microsoft Azureアップデート情報 (2015/06/18-201...
 
இணயத்தில் தமிழ் Tamil usage in internet
இணயத்தில் தமிழ் Tamil usage in internetஇணயத்தில் தமிழ் Tamil usage in internet
இணயத்தில் தமிழ் Tamil usage in internet
 
August 2020 Microsoft 365 Need to Know Webinar
August 2020 Microsoft 365 Need to Know WebinarAugust 2020 Microsoft 365 Need to Know Webinar
August 2020 Microsoft 365 Need to Know Webinar
 
Inside3DPrinting_AndyLauta
Inside3DPrinting_AndyLautaInside3DPrinting_AndyLauta
Inside3DPrinting_AndyLauta
 
デザインシステムの海で3年間もがいてみて
デザインシステムの海で3年間もがいてみてデザインシステムの海で3年間もがいてみて
デザインシステムの海で3年間もがいてみて
 
202310
202310202310
202310
 
Introduction to Cosmos db
Introduction to Cosmos dbIntroduction to Cosmos db
Introduction to Cosmos db
 
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
SharePoint Fest DC 2018 - Everything your need to know about the Microsoft Gr...
 
Running SSIS 2017 at Scale Everywhere
 Running SSIS 2017 at Scale Everywhere Running SSIS 2017 at Scale Everywhere
Running SSIS 2017 at Scale Everywhere
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know Webinar
 
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
 
2014 09-20 - SPSNJ - Getting Started with Office 365
2014 09-20 - SPSNJ - Getting Started with Office 3652014 09-20 - SPSNJ - Getting Started with Office 365
2014 09-20 - SPSNJ - Getting Started with Office 365
 

Recently uploaded

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
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
 
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
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
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
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
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
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 

Recently uploaded (20)

Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
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
 
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...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
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
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
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
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 

FEDSPUG November 2013: Developing Apps SharePoint 2013 by Danny Jessee

Editor's Notes

  1. All versions of SharePoint have always been a platform for applications
  2. Farm solutions are not subject to any monitoring or resource allocation throttling. Poorly written code in a farm solution can jeopardize the performance and stability of the server farm as a whole. To prevent these issues, you should carefully review your farm solution code to identify issues that could cause memory leaks or process timeouts. For example, developers often encounter the following pitfalls that can adversely affect performance:The developer could fail to dispose of SPSite and SPWeb objects after use.The developer could iterate through items in large lists instead of executing queries on the lists.The developer could use for or foreach loops to aggregate data, instead of using SPSiteDataQuery or other recommended data aggregation methods.The developer could use recursive method calls to iterate through information in every site within a site collection.The developer could fail to close connections to external systems after use.The developer could fail to trap timeouts when connecting to external systems.The developer could overuse, or improperly use, session state.
  3. Let’s take a step back…
  4. There is an important aspect of the SharePoint app model that deals with uninstalling an app and ensuring that all the app-specific storage is deleted automatically. In particular, a SharePoint host will automatically delete the app web for an app whenever the app is uninstalled. This provides a set of cleanup semantics for SharePoint apps that is entirely missing from the development model for SharePoint solutions. When an app is uninstalled, it doesn’t leave a bunch of junk behind. I wish I could same the same thing for all the SharePoint solutions I have created over the years.
  5. Many new alternatives to the server-side object model. Clients could not directly access client.svcIntellisense from Microsoft.SharePoint.ClientCUI Namespace - CUI.js, SP.UI.Rte.jsCUI.Controls Namespace - CUI.jsCUI.Page Namespace - CUI.js, SP.UI.Rte.jsSP Namespace - SP.Core.js, SP.js, SP.Ribbon.js, SP.Runtime.jsSP.ListOperation Namespace - SP.Core.jsSP.Ribbon Namespace - SP.Ribbon.jsSP.Ribbon.PageState Namespace - SP.Ribbon.jsSP.UI Namespace - SP.Core.js, SP.js, SP.UI.Dialog.jsSP.Utilities Namespace - SP.Core.js, SP.js, SP.Exp.jsSP.WebParts Namespace - SP.jsSP.Workflow Namespace - SP.js
  6. Foundation – no significant changes apart from REST supportServer – new APIs added (Microsoft.SharePoint.Client.DocumentManagement, Microsoft.SharePoint.Client.Publishing, Microsoft.SharePoint.Client.Taxonomy, Microsoft.SharePoint.Client.UserProfiles)REST – based on SOAP, much simpler/easier to usePaging may not be supported/working from /_api endpointUpdates using REST require Form Digest (SharePoint pages contain control with form digest; can be acquired through /_vti_bin/sites.asmx)
  7. An app package is a ZIP file with a .app extension. If you create a new SharePoint app project named MyFirstApp, the project will generate a app package named MyFirstApp.appas its output. Note that the file format for creating an app package is based on the Open Package Convention (OPC) format. This is the same file format that Microsoft Office begin to use with the release of Office 2007 for creating Word documents (docx) and Excel workbooks (xlsx).So now you understand one of the key points of the SharePoint app model. Custom code never runs inside SharePoint. It runs somewhere else. You have the option of writing both client-side code and server-side code. A SharePoint-hosted app is easier to create, implement and deploy. However, it does not provide the opportunity to add server-side code. A cloud-hosted app will yield more power because you can write as much server-side code as you would like using a managed language such as C# and your code is not limited by all those frustrating limitations and issues created by running code inside the SharePoint environment.
  8. You can do a lot more with the app manifest, such as use different authentication schemes (also known as app principals, declare what permissions the app needs to run, and other tasks. Also, do you notice strings like “{StandardTokens}” in the app manifest shown above? These are tokens that are replaced at build/run time. These tokens allow you to reference your app and also pass context (for example, the SharePoint language, where the app is installed, and so on). To learn more about what you can do with the app manifest and tokens, see App for SharePoint manifest file.Within apps, SharePoint 2013 decouples server-side code from the server, enabling you to run server-side code from outside SharePoint, in the cloud. You can host server-side code in autohosted and provider-hosted apps. It is the presence of an inner solution package inside the app package file that tells the SharePoint host whether it needs to create an app web during installation. If the app package does not contains an inner solution package, the SharePoint host installs the app without creating an app web. The inner solution package for a SharePoint app should contain a single Web-scoped feature. The SharePoint host activates this feature automatically on the app web immediately after the app web is created. This features is what makes it possible to add declarative elements such as pages and lists as the app is installed. However, the inner solution package for a SharePoint app cannot contain any type of DLL or any .NET code whatsoever.
  9. Hybrid pattern is possible
  10. Can have multiple shapes within an app
  11. If you look back at the AppManifest.xml file shown earlier, you notice that it did not include a hard-coded path to the app’s start page. Instead, the URL to the start page contains a dynamic token named ~appWebUrl. This dynamic token is replaced by the SharePoint host when the app is installed. This makes sense because the URL that will be used to access the app web is not even known until the SharePoint host creates a new domain for the app during installation. After creating the app web, the SharePoint host can then use it to create the URL to the start page.So why doesn’t the SharePoint host serve up pages from the app web using the same domain as the host site? At first, the reasons why the SharePoint host serves up the pages from an app web in their own isolated domain might not be obvious. There are two primary reasons why the SharePoint app model does this. Both of these reasons are related to security and the management and enforcement of permissions granted to an app.The first reason for isolating an app web in its own private domain has to do with preventing direct JavaScript calls from pages in the app web back to the host site. This security protection of the SharePoint app model builds on the browser’s built-in support for prohibiting cross-site scripting (XSS). Since JavaScript code running on pages from an app web pages originates from a different domain, this code cannot directly call back to the host site. More specifically, calls from JavaScript running on app web pages do not run with the same identity nor the same permissions as JavaScript code behind pages in the host site.
  12. Azure ACS is used as an authorization server(Automatically set up with O365)On-premises, a trust to ACS must be configuredCan be avoided with S2S (high trust) – S2S can assert any user’s identity
  13. You do not HAVE to have a local dev VM to do app development!
  14. Some hybrid approaches possible (full-trust proxy)
  15. From managed code, HttpWebRequest/HttpWebResponserequest.Credentials = CredentialCache.DefaultCredentials;request.ContentType = “application/atom+xml”;request.Accept = “application/atom+xml”;request.Headers[“X-RequestDigest”] = FormDigest;JavaScript with jQuery: $(“#__REQUESTDIGEST”).val()LINQ to XMLXDocument doc = XDocument.Load(response.GetResponseStream());doc.Descendants(namespace + “Title”).First().Value;
  16. JavaScript: _spPageContextInfo.webAbsoluteUrl + “/_api/web/?$select=Title”;jQuery: $.getJSON(requestUri, null, onDataReturned)jsRender.js as a templating engine for templating results
  17. The second reason for creating an isolated domain for each app web has to do with page processing and JavaScript callbacks that occur on the server. The SharePoint host creates a new unique domain for each app that it installs. This in turn allows the SharePoint host to determine exactly which app is calling when it sees an incoming request from a page in an app web. They key point is that the SharePoint host is able to authenticate the SharePoint app and examine its permissions any time a call originates from the domain of an app web. As you remember from earlier, an app has default permissions to access its app web but it has no default permissions anywhere else in the SharePoint host. The ability for the SharePoint host to authenticate calls from apps using the isolated app web domain is essential to enforcing this default permissions scheme.This is huge. The idea that SharePoint 2013 introduces new authentication support for apps in addition to its existing authentication support for users is a significant part of the SharePoint app model. In effect. this is what allows SharePoint apps to become a first class security principals. This alone gives the new SharePoint app model many advantages over SharePoint solutions development. In this post I am going to keep the discussion authentication with SharePoint apps brief. I am going to create another blog post later in this series that will go into much greater detail about how, when and why SharePoint apps are authenticated.
  18. User-only – if no permissions are requested by the app (Created by user)User+app – default if permissions are requested by the app (Created by SharePointApp1 on behalf of user)App-only – must be explicitly requested in the manifest