SharePoint Saturday Sacramento 2013 SharePoint Apps


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Introduction slide
  • 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.
  • Conclusion slide
  • SharePint
  • SharePoint Saturday Sacramento 2013 SharePoint Apps

    1. 1. SACRAMENTO
    2. 2. SharePoint Apps in SharePoint 2013 Ryan Schouten @shrpntknight ITG
    3. 3. About Me Ryan Schouten Worked with SharePoint for 7 years I have experience with SharePoint 2003 – 2013 I have worked with ASP.Net for 11 years MCPD Contact Information @shrpntknight
    4. 4. Objectives • The Need • Benefits • Hosting Options • Limitations • New Functionality • Development Options • Permissions and Security • Deployment • Break it Down
    5. 5. Why the change
    6. 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. 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. 8. 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 Web App Web* (separate SharePoint domain) SharePoint Host Web App Web* (separate SharePoint domain) SharePoint Host Web App Web (separate SharePoint domain)
    9. 9. Hosting Comparison 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 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
    10. 10. App Presentation Options Shape 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
    11. 11. 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
    12. 12. 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
    13. 13. Let’s Create Our First App
    14. 14. 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 FilesMicrosoft SharedWeb Server Extensions15TEMPLATELAYOUTS • 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" />
    15. 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. 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. 17. Let’s Try It
    18. 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. 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. 20. Let’s Examine How this works
    21. 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. 22. Join us right after at The Blue Prynt Socialize and unwind after our day of learning. Blue Prynt Restaurant & Bar 815 11th St, Sacramento, CA 95814 SACRAMENTO