sharepoint saturday san diego - sharepoint 2013 apps

Post on 01-Jul-2015

174 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Session presented by Ryan Schouten at SharePoint Saturday in San Diego Nov 15th, 2014. This session covered an overview of creating apps in SharePoint 2013 and gotchas that may be encountered.

TRANSCRIPT

#SPSSD @sanspugSan Diego 2014

SharePoint Saturday San DiegoNovember 15, 2014 UCSD Extension

SharePoint Apps in SharePoint 2013

Ryan SchoutenIntermountain Technology Group

@shrpntknight

#SPSSD @sanspugSan Diego 2014

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 Information

Ryan.Schouten@itg-mail.com

@shrpntknight

http://www.sharepointknight.com

#SPSSD @sanspugSan Diego 2014

• Office365 Implementations• Custom SharePoint Development• Responsive Design

#SPSSD @sanspugSan Diego 2014

Objectives

The Need Benefits Details Limitations Permissions and Security Deployment Break it Down

#SPSSD @sanspugSan Diego 2014

Why the changeToday’s Market Today’s Trends Our Principles

#SPSSD @sanspugSan Diego 2014

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

#SPSSD @sanspugSan Diego 2014

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

Can create apps through the browser(Office365 Only)

#SPSSD @sanspugSan Diego 2014

Hosting Options

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

Provider-Hosted App

“Bring your own server hosting infrastructure and technology platform”Get remote events

from SharePoint Use CSOM/REST + OAuth to work with SP

Cloud-based Apps

Your Hosted

Site

Autohosted App

Windows Azure + SQL Azure provisioned invisibly as apps are installed

Azure

SharePoint

Host WebApp Web*

(separate SharePoint domain)

SharePoint

Host WebApp Web*

(separate SharePoint domain)

SharePoint

Host WebApp Web

(separate SharePoint domain)

*App Webs are optional in Cloud-Hosted Apps

#SPSSD @sanspugSan Diego 2014

Hosting ComparisonSharePoint 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 SharePoint + HTML/JS

Any Web Stack

Server Code None Any

Storage Lists and Libraries Any

Key Limitations No Server Code Hosting Expertise Required

Good for… Smaller apps & resource storage

Any type of Application

#SPSSD @sanspugSan Diego 2014

App Presentation OptionsShape 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

#SPSSD @sanspugSan Diego 2014

App Demo

#SPSSD @sanspugSan Diego 2014

New Functionality Improved CSOM Improved Rest API

Needed since code is not run in SharePoint Processes

O-Auth Security New Security Model to allow app specific permissions

#SPSSD @sanspugSan Diego 2014

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 http://siteurl/_layouts/15

Easiest way to reference it in SharePoint is<SharePoint:ScriptLink name="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />

#SPSSD @sanspugSan Diego 2014

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);}

#SPSSD @sanspugSan Diego 2014

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(); }}

#SPSSD @sanspugSan Diego 2014

Limitations Apps in general

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

#SPSSD @sanspugSan Diego 2014

Let’s Create Our First App

#SPSSD @sanspugSan Diego 2014

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

#SPSSD @sanspugSan Diego 2014

Permission OptionsUser Only

User must have access to data that is being requested.

App+User User and app must both have access.

App Only Only the app has to have permission. Can be used to setup Elevated Priviledges

#SPSSD @sanspugSan Diego 2014

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

#SPSSD @sanspugSan Diego 2014

Let’s Examine How this works

#SPSSD @sanspugSan Diego 2014

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 http://sp.contoso.com

App Management Shared Service Proxy is not installed.

Technet article on how to setup On-Premise for development

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

#SPSSD @sanspugSan Diego 2014

Questions?

#SPSSD @sanspugSan Diego 2014

Post Event: SharePint

Location: La Jolla Brewing Company

Address: 7536 Fay Ave, La Jolla, CA 92037

Phone: 858-246-6759

Immediately following event closing & prize drawings

Map and Directions on SPS Events ScheduleGoogle Map & directions: http://ow.ly/E164L

#SPSSD @sanspugSan Diego 2014

SharePoint Saturday San DiegoNovember 15, 2014 UCSD Extension

PLEASE THANK OUR SPONSORS!

Please fill out your session evaluation! http://ntx.lv/lwGlKl1 (case sensitive)

top related