Presentation is loading. Please wait.

Presentation is loading. Please wait.

SharePoint Apps in SharePoint 2013

Similar presentations


Presentation on theme: "SharePoint Apps in SharePoint 2013"— Presentation transcript:

1 SharePoint Apps in SharePoint 2013
Ryan Schouten SharePoint Saturday Bend @shrpntknight

2

3 About Me Ryan Schouten Worked with SharePoint for 8 years I have experience with SharePoint 2003 – 2013 I have worked with ASP.Net for 11 years MCPD, MCT Contact Worked with all but one version of SharePoint. I missed the first version. Slides will be posted to my blog at in the next 24 hours.

4 Objectives The Need Benefits Hosting Options Limitations
New Functionality Development Options Permissions and Security Deployment Break it Down

5 Why the change Today’s Market Today’s Trends Our Principles

6 Hence the new App Model No custom code on the SharePoint server
Easier to upgrade to future versions of SharePoint Works in Office 365 SharePoint Online without limitations Reduces the ramp-up time for those building apps Don’t need to know/be as familiar with SharePoint “-isms” Leverage hosting platform features in new apps Enables taking SharePoint apps to different levels – further than what can be done with farm / sandbox solutions

7 Benefits (continued) Low cost of entry for developers
Hosted SharePoint Dev sites No need to have a farm per developer (Shared Development Farms/Tenants) No Intensive development environment requirements

8 Hosting Options 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

9 Hosting Comparison App Scope SharePoint Site Site or Tenancy
SharePoint Hosted Cloud Hosted App Scope SharePoint Site Site or Tenancy Architecture Web Site Can be Multi-Tenant App Developer Skillset SharePoint + HTML/JS Full Stack UI Technologies Any Web Stack Server Code None Any Storage Lists and Libraries Key Limitations No Server Code Hosting Expertise Required Good for… Smaller apps & resource storage Any type of Application

10 App Presentation Options
Shape Description Example Immersive Full Page App App that implements a new scenario for customers Resource Tracking, Budgeting App/Client Part Provides new parts you can add to your sites Weather, News, Stock Ticker Extension App Add new actions for documents and items Display Document Visualization, Print to Print Service Vendor

11 Limitations Apps in general App/Client Parts
Deployed to different domain(extra login possible) Initial configuration is a pain App/Client Parts Loaded in an iframe(size is fixed, not auto sizing) Also loaded from other domain

12 New Functionality Improved CSOM Improved Rest API O-Auth Security
Needed since code is not run in SharePoint Processes O-Auth Security New Security Model to allow app specific permissions

13 Let’s Create Our First App

14 JSOM Library Library has two versions
SP.js – minified version of the library SP.Debug.js – unminified with intellisense Both can be found in the layouts folder %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS Easiest way to reference it in SharePoint is <SharePoint:ScriptLink name="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />

15 Example SP.SOD.executeOrDelayUntilScriptLoaded(GetProjects, "PS.js");
function GetProjects() { var projContext = PS.ProjectContext.get_current(); projects = projContext.get_projects(); projContext.load(projects, 'Include(Name, CreatedDate, Id)'); projContext.executeQueryAsync(onQuerySucceeded, onQueryFailed); }

16 Continued function onQuerySucceeded(sender, args) {
var projectEnumerator = projects.getEnumerator(); while (projectEnumerator.moveNext()) { var project = projectEnumerator.get_current(); var row = tblProjects.insertRow(); row.insertCell().innerText = project.get_name(); row.insertCell().innerText = project.get_createdDate(); row.insertCell().innerText = project.get_id(); }

17 Let’s Try It

18 Permissions and Security
Apps have their own permissions You must specify what SharePoint you want to access in your Manifest Content is secured through Oauth Users must have the permissions you need for them to install

19 Deployment Everything Packaged into a .app file This can be used to add the app manually to a site or publish it to the SharePoint Store

20 Let’s Examine How this works

21 Gotchas On-Premise Sites are not configured by default to handle Apps
Sideloading of apps is not enabled on this site. Enable-SPFeature e374875e-06b6-11e0-b0fa-57f5dfd72085 – url  App Management Shared Service Proxy is not installed. Technet article on how to setup On-Premise for development

22 Questions?

23 Wrap-up Apps can be the way to go Evaluate your needs to decide how to proceed. Join us at Fall Fest Please fill out the survey at: or


Download ppt "SharePoint Apps in SharePoint 2013"

Similar presentations


Ads by Google