Jerry Yasir Building Autohosted Apps for SharePoint 2013

Slides:



Advertisements
Similar presentations
@jerry_yasir SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sand box Code runs on SPUCWorkerProcess.exe.
Advertisements

Power BI Sites and Mobile BI. What You Will Learn Sharing and Collaboration Introducing Power BI Exploring Power BI Features and Services Partner Opportunities.
©2012 Microsoft Corporation. All rights reserved..
Fraser Technical Solutions, LLC
SharePoint-Hosted App Provision an isolated sub web on a parent web (separate domain) Reuse web elements (lists, files, out-of-box web parts) No.
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
demo Cloud Storage WA Blobs Schema Management APIs & Portal Web Roles Integration Pipeline 3 rd Party Web Services 3 rd Party Store 3 rd Party.
SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.
Windows 8 Application Microsoft Word with an app for Office Internal O365 SharePoint Site Windows Azure Web Sites Windows Azure Workflow Service.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Course Agenda Deep Dive into the Building Blocks and Services of the SharePoint Platform Module 1: Developing Advanced Workflow Scenarios in Office 365.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Building AD-SQL-APP Server on AZURE
PowerApps & Flow Licensing Overview for Partners
Office 365 Developer Overview
CS15A012 Microsoft Dynamics Lifecycle Services: The key to keeping Microsoft Dynamics AX 2012 implementations running smoothly Murtaza Chowdhury Anupam.
About Bill Bill Baer (ˈbɛər)
Remote Event Receivers
6/17/2018 5:54 AM OSP322 Getting the best of both worlds, making the most of SharePoint hybrid search solutions Shyam Narayan Microsoft © 2013 Microsoft.
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
0x - Lecture Title Andrew Connell, MVP
Developing an app for SharePoint autohosted in Azure
Self Service Group Management (SSGM)
Office Power Hour New developer APIs and features for Apps for Office
SharePoint Online Management and Control
Office 365 Development.
Microsoft Virtual Academy
Power Apps & Flow for Microsoft Dynamics SL
Integrating Microsoft SharePoint 2010 with Windows Azure
11/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Setting up team development infrastructure for SharePoint 2013
Office 365 Development July 2014.
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
SPC2012 – IT-Pro 11/30/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /4/2018 3:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
12/4/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Windows Azure Keenan Newton 3-021
TechEd /6/2018 8:16 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Virtual Academy
Office 365 Development July 2014.
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
TechEd /28/ :27 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Agenda OAuth Concepts Programming OAuth.
Hooking into Apps for SharePoint
Jim Nakashima Program Manager Cloud Tools
TechEd /11/ :54 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /18/2019 2:30 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Getting Started with SP2013 Apps
SPC Developer 1/18/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Office 365 Development.
Visual Studio 2010 SharePoint Development Tools Overview
Office 365 Development.
Building Business Applications in LightSwitch
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Developing and Managing SharePoint Solutions with Visual Studio 2012
TechEd /1/2019 9:47 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
TechEd /27/2019 5:37 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Day 2, Session 2 Connecting System Center to the Public Cloud
Day 1, Session 3 Preparing for Self-Service
Office 365 Development July 2014.
Microsoft Dynamics.
Microsoft Virtual Academy
Building Windows Store Apps with Windows Azure Mobile Services
What’s New for Developers in Office and SharePoint
Microsoft Virtual Academy
Presentation transcript:

Jerry Yasir Building Autohosted Apps for SharePoint 2013 SharePoint MVP, MCT

Who Am I? SharePoint Server MVP Since 2010 SharePoint Practice Lead at US TECH Solutions (Jersey City, NJ) Founder of the Largest SharePoint User Group in Middle East Riyadh SharePoint User Group RSUG  Co-Lead SharePoint Pakistan User Group Microsoft Certified Trainer (MCT) since 2008. MCSE SharePoint 2013 MCITP SharePoint Admin 2010, MCPD SharePoint Developer 2010 & MCTS SharePoint 2010 Configuration & Development MCTS WSS 3.0, SharePoint Server 2007, MCITP, MCTS Silverlight 4 Development, Project Server 2007 & 2010, MCTS Project Professional 2007 & 2010, MCPD.NET, MCSD.NET MCAD.NET Email: yasir.attiq@gmail.com, MSN: yasi_butt@hotmail.com Twitter: @jerry_yasir Facebook: yasir.attiq (Jerry Yasir) Blog: http://jerryyasir.wordpress.com

Evolution of SharePoint Development SPC2012 - Developer 7/6/2019 Evolution of SharePoint Development 2007 SharePoint IIS Code runs from GAC on same w3wp.exe as SharePoint web application 2010 SharePoint IIS Sandbox Code runs on SPUCWorkerProcess.exe or calls client.svc (CSOM) 2013 SharePoint IIS with _api App Code runs outside of SharePoint but has trust to leverage capabilities exposed in _api © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

App Hosting Options SharePoint Cloud SharePoint Host Web SPC2012 - Developer 7/6/2019 App Hosting Options SharePoint Cloud SharePoint Host Web Your Hosted Site Provider-Hosted App “Bring your own server hosting infrastructure and technology platform” App Web* (separate SharePoint domain) Cloud-based Apps Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP Autohosted App Windows Azure + SQL Azure provisioned invisibly as apps are installed SharePoint Host Web Azure App Web* (separate SharePoint domain) SharePoint-Hosted App Provision an isolated sub web on a parent web (separate domain) Reuse web elements (lists, files, out-of-box web parts) No server code allowed; use client JavaScript for logic, UX SharePoint Host Web App Web (separate SharePoint domain) *App Webs are optional in Cloud-Hosted Apps © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Autohosted Capability Quiz SPC2012 - Developer 7/6/2019 Autohosted Capability Quiz Custom Actions Client Web Part Managed Code Web Part Page Lists/Libraries Database Modules Workflow Host Web App Web Azure © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

App Lifecycle Tenant A Tenant B Web Site SQL DB Web Site SQL DB SPC2012 - Developer 7/6/2019 App Lifecycle Tenant A Web Site SQL DB Workflow Site Owner App Developer Tenant Admin App Catalog .app .app Web Site SQL DB Workflow Site Owner .app Tenant B Web Site SQL DB Workflow Site Owner SharePoint Store (Office Marketplace) Web Site SQL DB Workflow Site Owner © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Autohosted App Debug vs. Deploy

App UX Options Full-Screen SharePoint Dialog App Parts SPC2012 - Developer 7/6/2019 App UX Options Full-Screen Navigating to the app takes the user out of the SharePoint site and to the app host (ex: Azure, separate SharePoint domain, etc) The app uses the full real estate of the browser viewing area (can leverage SharePoint chrome) SharePoint Dialog Similar to Full-screen, but displayed in a dialog window Typically launched through custom action or script (ex: context menu or ribbon button) App Parts Displays app as an element in an existing web part or wiki page Very similar to Page Viewer Web Part, but with better communication capabilities © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Optimizing UX Leverage chrome control Import styles from host web SPC2012 - Developer 7/6/2019 Optimizing UX Leverage chrome control Chrome control allows full-screen apps to be framed in the chrome and styles similar to the host web (including placeholders for icons, breadcrumbs, and menus) Import styles from host web Add reference to http://<host web domain>/_layouts/15/defaultcss.ashx in the head of app page The chrome control automatically adds styles from the host web, so this approach is only required for pages displayed in app parts or modal windows Optimize apps part size with post message Host web listens for post message and resizes based on dimensions passed from the app part Still imperative to design around a predictable rendering size (challenging without knowing the styles that will be applied) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

App Permissions App permissions are configured in the app manifest SPC2012 - Developer 7/6/2019 App Permissions App permissions are configured in the app manifest Developers specify the permissions the app needs to be able to run Apps request permissions during installation Granting app permission is all or nothing (installer can’t pick a chose what to grant from the request) Apps must be granted permissions by the user executing the app Users can only grant the permissions they have Azure Access Control Service (ACS) plays the role of the authorization server Azure ACS stores basic information about the app and provides apps access tokens for calling SharePoint APIs © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

AppManifest.xml Dissected SPC2012 - Developer 7/6/2019 AppManifest.xml Dissected General Information Title, version, icon, start page and query string Permissions Permission levels at specific scopes (ex: write access to profiles, read access to site collection) Prerequisites Define feature dependencies for the app (ex: publishing features) Supported Locales Defines locales the application will support (ex: en-US, fr-FR, etc) Remote Endpoints A list of remote endpoints the SharePoint App may access through SP.WebProxy.invoke() © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

App Storage Options SharePoint Lists SQL Azure SPC2012 - Developer 7/6/2019 App Storage Options SharePoint Lists Great for SharePoint-hosted apps, but requires CAML Requires an app web SQL Azure Package app with SQL Package (.dacpac) or by referencing SQL Database project SQL Azure components are provisioned invisibly when the app is installed by a tenant Connection information in available through specific APIs (both SqlConnection class and raw connection string) Others, but be careful with latency © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

SQL Azure Using SqlConnection object Using raw connection string SPC2012 - Developer 7/6/2019 SQL Azure Using SqlConnection object Specify connection string in web.config using name LocalDBInstanceForDebugging and the API will dynamically use this connection when debugging Using raw connection string The API for retrieving the raw connection string will NOT automatically work when debugging © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Supplier App

App Roles/Admins Leverage SharePoint permissions from app web SPC2012 - Developer 7/6/2019 App Roles/Admins Leverage SharePoint permissions from app web The app web inherits permissions from the host web Great for simple permissions models (ex: App Administrator = Host Site Administrator) Be careful…checking permission on the host web would require the app to have full control of the host web Store app permissions in the app’s storage (ex: SQL Azure) Very flexible…can use almost any data/permission model Need a way to seed the permissions table with administrators © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo - Employee Recognition Part 1 SPC2012 - Developer 7/6/2019 Demo - Employee Recognition Part 1 Requirements Allow users to send recognition to other users Submission should post to the SharePoint Newsfeed App should be profile aware (user pictures, titles, managers, etc) App should send email to submitter, recipient, and both managers (if applicable) No administrative settings (static settings) Design Decisions Hosting: Autohosted UX: full-screen and app part APIs: mixture of CSOM and SSOM Storage: SharePoint List App Roles/Admin: Not Applicable © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo - Employee Recognition Part 2 SPC2012 - Developer 7/6/2019 Demo - Employee Recognition Part 2 Requirements (same as previous, except the following) Allow users to select badges to go with the recognition (ex: Going Green, Community Ninja, etc) Allow app administrators to configure quotas and notification settings Provide reports of recognition history Design Decisions Hosting: Autohosted UX: full-screen and app part APIs: mixture of CSOM and SSOM Storage: SQL Azure (much better for reporting) for data and SharePoint Library for badges App Roles/Admin: User permissions from SharePoint app web © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Advanced Employee Recognition

Usage Model and Licensing SPC2012 - Developer 7/6/2019 Usage Model and Licensing Microsoft-owned Azure account All autohosted apps for SharePoint are provisioned into a Microsoft-owned Azure account that only Microsoft has access to Licensing through Tenant Azure hosting costs passed through to tenant…developer doesn’t pay for hosting App Catalog Great for company-specific customizations 1 app hosting license = 1 user / app / month Initial number of free licenses, but more available for purchase by tenant admins SharePoint Store Great for ISVs or developers looking capitalize on the app model Support for autohosted apps is coming soon to the SharePoint store © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Usage Quotas/Throttling SPC2012 - Developer 7/6/2019 Usage Quotas/Throttling Usage Quota 1 User 25 Users 250+ Users CPU Time (Daily) 25 min / day 100 min / day 200 min / day CPU Time (5min) 2 min / 5 min 7 min / 5 min 13 min / 5 min Data Out 132MB / day 732MB / day 1533MB / day Storage 1GB Memory Usage 640MB *Usage quotas can be monitored from SharePoint Online admin portal © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Key Takeaways Easy to Develop Simplified Upgrade Cloud Ready SPC2012 - Developer 7/6/2019 Key Takeaways Easy to Develop Developing autohosted apps leverages familiar tools, simple deployment, and automatic DR Simplified Upgrade Autohosted apps provide a reliable upgrade path and do not impede farm upgrades/patches Cloud Ready Autohosted apps were developed to provide an uncompromised cloud experience in Office 365 Rich SharePoint Integration New APIs allow autohosted apps to run from Azure but richly integrate with SharePoint Low Cost of Entry for Developers No more bulky development environment…Visual Studio and a tenant © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Questions?