SharePoint Saturday Sacramento 2013 SharePoint Apps

24
SACRAMENTO

description

SharePoint Apps are the new way to create applications in SharePoint 2013. SharePoint Apps are the intended replacement for Sandbox Solutions. These work well both in on-premise and cloud SharePoint installations.

Transcript of SharePoint Saturday Sacramento 2013 SharePoint Apps

Page 1: SharePoint Saturday Sacramento 2013 SharePoint Apps

SACRAMENTO

Page 2: SharePoint Saturday Sacramento 2013 SharePoint Apps

SharePoint Apps in SharePoint 2013

Ryan Schouten@shrpntknight

ITG

Page 3: SharePoint Saturday Sacramento 2013 SharePoint Apps
Page 4: SharePoint Saturday Sacramento 2013 SharePoint Apps

About MeRyan SchoutenWorked with SharePoint for 7 yearsI have experience with SharePoint 2003 – 2013I have worked with ASP.Net for 11 yearsMCPD

Contact [email protected]@shrpntknighthttp://www.sharepointknight.com

Page 5: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 6: SharePoint Saturday Sacramento 2013 SharePoint Apps

Why the change

Today’s Market Today’s Trends Our Principles

Page 7: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 8: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 9: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 10: SharePoint Saturday Sacramento 2013 SharePoint Apps

Hosting ComparisonSharePoint Hosted Cloud Hosted

App Scope SharePoint Site Site or TenancyArchitecture Web Site Can be Multi-Tenant

AppDeveloper Skillset SharePoint + HTML/JS Full StackUI Technologies SharePoint + HTML/JS Any Web StackServer Code None AnyStorage Lists and Libraries AnyKey Limitations No Server Code Hosting Expertise

RequiredGood for… Smaller apps &

resource storageAny type of Application

Page 11: SharePoint Saturday Sacramento 2013 SharePoint Apps

App Presentation OptionsShape Description Example

Immersive Full Page App App that implements a new scenario for customers

Resource Tracking, Budgeting

App 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

Page 12: SharePoint Saturday Sacramento 2013 SharePoint Apps

Limitations

• Apps in general• Deployed to different domain(extra login possible)• Initial configuration is a pain

• App Parts• Loaded in an iframe(size is fixed)• Also loaded from other domain

Page 13: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 14: SharePoint Saturday Sacramento 2013 SharePoint Apps

Let’s Create Our First App

Page 15: SharePoint Saturday Sacramento 2013 SharePoint Apps

JSOM Library

• Library has two versions• PS.js – minified version of the library• PS.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="PS.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />

Page 16: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 17: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 18: SharePoint Saturday Sacramento 2013 SharePoint Apps

Let’s Try It

Page 19: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 20: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 21: SharePoint Saturday Sacramento 2013 SharePoint Apps

Let’s Examine How this works

Page 22: SharePoint Saturday Sacramento 2013 SharePoint Apps

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

Page 23: SharePoint Saturday Sacramento 2013 SharePoint Apps

Thank You to Our Sponsors

Page 24: SharePoint Saturday Sacramento 2013 SharePoint Apps

Join us right after at The Blue PryntSocialize and unwind after our day of learning.

Blue Prynt Restaurant & Bar815 11th St, Sacramento, CA 95814

bluepryntsacramento.com

Don’t Forget SharePint

Thank you for joining us Today!

SACRAMENTO