Getting Started with SP2013 Apps Microsoft SharePoint 1/18/2019 Getting Started with SP2013 Apps Randy Williams Evangelist / Architect AvePoint As cloud-hosting options for SharePoint mature, organizations are hoping to capitalize on cloud benefits while mitigating many of their risks. One way to hedge your bet is to incrementally migrate certain workloads to the cloud, while keeping others on-premises. In this session, we’ll walk through a number of hybrid scenarios and consider how governance plans and compliance policies may be affected and how to maintain a hybrid- healthy security posture. Whether your plans are for Office 365, Amazon, Azure, or other providers, we’ll share practical guidance to help you vet your hosting strategy. © 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.
Microsoft SharePoint Server 2013 Randy Williams Evangelist / Architect Author @tweetraw randy.williams@avepoint.com © 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.
Why do we need a new app model
Challenges with WSP solutions Full-trust solutions Performance and stability concerns Incompatible with SPOL Sandboxed solutions Clunky architecture, too limiting Requires administrative deployment and support Lifecycle management Upgrade, decommission Steep learning curve Not cloud ready
Benefits of the new app model Info Workers Based on a proven and familiar app model Apps can be found in SharePoint Store or a corporate app catalog Can provision, upgrade and delete Lower learning curve – re-use your existing web technology background SharePoint Store opens up new revenue potential Developers IT Managers Apps decoupled from SharePoint – simplifies upgrades Virtually no risk to farm Corporate catalog facilitates governance controls
What is a SharePoint 2013 App? Self-contained pieces of functionality that extend the capabilities of a SharePoint website Microsoft - bit.ly/MFDnI9
A quick look at what’s built in Demo Built-in Apps A quick look at what’s built in
So, as a dev - what exactly is an app? Can contain some declarative SharePoint artifacts External app provides SharePoint UI through IFrame External app uses CSOM or REST (OData) calls to call back No custom server-side code running on SharePoint An application whose interface is surfaced through SharePoint but code is executed elsewhere
How apps run CSOM/OData OAuth Other Platform SP Farm
What SharePoint artifacts are supported? * Modules: pages, js libraries, images, other file-based resources Custom actions: ribbon or ECB Client web part (“app part”) List instances, columns, content types Remote event receivers * SPWeb-scoped features only When adding an app, a sub-web is created to hold these artifacts; when removing an app, sub-web is deleted
Creating our first SharePoint Hosted App Demo Apps Creating our first SharePoint Hosted App
Apps vs solution packages Sandboxed WSP Full trust WSP Where does server-side code run? Anywhere but farm Farm (User Code Service) Farm (w3wp.exe) Scalable Highly Limited Based on farm Who installs and removes Users Site collection admin Farm admin Supported in SP2013 Yes SharePoint Online compatible No Azure-hosting compatible Requires local farm for developers Remote deployment and debugging from Visual Studio
Three hosting options
Three hosting options
Three hosting options
Three hosting options
Host web and app web The host web is where app is added, removed, upgraded If app has SharePoint artifacts, a sub-web is created underneath the host web This sub-web is called the app web App web is only accessible using isolated domain name https://apps-af48d482118ab1.apps.contoso.com/{appName} Host Web App Web
App web Provisioned by host web Contains only web-scoped features Initial UI is immersive, full page Set in appmanifest.xml Custom master page is assigned (app.master) Quick launch and common layout pages are unavailable Settings.aspx, viewlsts.aspx, etc. Only declarative code allowed
Let’s take a look inside Demo .app package Let’s take a look inside
API Support (_api) Remote APIs are now a first-class citizen Search, MMS, User Profile, BCS, et al User-centric capabilities (no Central Admin-like support) Client-side object model (CSOM) REST-based (OData) OAuth
CSOM
CSOM Same object models as before Much richer API compared to 2010 .NET Managed code JavaScript Silverlight Much richer API compared to 2010
OData
OData REST-ful API Virtually same coverage as CSOM
Demo Using OData
Bonus Demo (if time permits) Apps Creating a Provider Hosted app
How do I get started? Sign up for Office 2013 developer site http://dev.office.com Get Visual Studio 2012 http://www.microsoft.com/visualstudio/eng/downloads Download the Office Developer Tools for Visual Studio 2013 RTM - Preview http://go.microsoft.com/fwlink/?LinkID=261869
randy.williams@avepoint.com @tweetraw Slides: slidesha.re/UDpa4K Thank you randy.williams@avepoint.com @tweetraw Slides: slidesha.re/UDpa4K