The app building playbook for SharePoint 2013 marketplace

  • 3,283 views
Uploaded on

This webinar gives a first-hand look into AvePoint’s journey to build an app for the SharePoint 2013 Marketplace. It discusses the details of the technical decisions made throughout the entire process …

This webinar gives a first-hand look into AvePoint’s journey to build an app for the SharePoint 2013 Marketplace. It discusses the details of the technical decisions made throughout the entire process – from idea inception to delivery into the Microsoft Office store. The webinar also gives demonstrations on how to get started, and tells what resources you’ll need to use on your journey to build your own app.

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,283
On Slideshare
0
From Embeds
0
Number of Embeds
13

Actions

Shares
Downloads
52
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  •  The App Building Playbook for the SharePoint 2013 MarketplaceDevelopment – Level 200Jeremy Thake, SharePoint MVP and AvePoint Chief Architect, will give you a first-hand look into AvePoint Labs’ journey to build an app for the SharePoint 2013 Marketplace. Jeremy will discuss the details of the technical decisions made throughout the entire process – from idea inception through to delivery into the marketplace. If you’re thinking of building an app for the SharePoint 2013 Marketplace, this is the one session you don’t want to miss. Demonstrations on how to get started and what resources on your journey will be discussed. Attendees will leave this session with a better understanding of:• Utilizing the new SharePoint App model to bring your products to the Marketplace• How Windows Azure can be leveraged in SharePoint apps, showcasing the oAuth and auto provisioning features• When to use the SharePoint 2013 app model compared to the legacy approaches
  • PagesHome.aspxMain page of the appWeb Part PageScript and Style referencesElements.xmlInstalls home page to the isolated app siteScriptsApp.jsTemplate script fileElements.xmlInstalls script file to isolated app siteStylesApp.cssTemplate style sheetElements.xmlInstalls css to isolated app siteApp ManifestAppManifest.xmlProductID, Version, TitleTile and StartPageUrlsAppEventUrls: Installed, Uninstalling, UpgradedApp Permission requests
  • OAuthallows users to authorize SharePoint to provide access tokens to apps that can be used to retrieve data from SharePointEach token can be used to access:A specific siteA specific resource (for example, documents from a folder)For a defined duration (for example, 30 minutes)No need to share username and password
  • An app uses permission requests to specify the permissions that it needsThe requests specify both the rights and scope which are neededScopes indicate where in the SharePoint hierarchy a permission request applies. SharePoint supports four different content scopes:SPSite—site collectionSPWeb—websiteSPList—listTenancy—the tenancy scope is at http://<sharepointserver>/<content>/<tenant>/There are also scopes for things like performing search queries, accessing taxonomy data, user profiles, etc.
  • Permission rights indicate what an app is permitted to do within a scope. SharePoint supports four rights levels for content (there are others for things like search, term store, etc.):Read-OnlyWriteManageFull ControlUnlike SharePoint user roles, these rights levels are not customizableIf an app is granted permission to a scope, the permission applies to all children of the scopeIf an app is granted perms to an SPWeb, the app is also granted perms to each SPList in the SPWeb, and all SPListItems in each list, but NOT each subweb

Transcript

  • 1. The App Building Playbook forSharePoint 2013 MarketplaceJeremy ThakeChief Architect, AvePoint Inc.
  • 2. Jeremy Thake
  • 3. Agenda• The marketplace• The new app model• Submission process• AvePoint Task & Calendar Sync• AvePoint Meetings
  • 4. The marketplace
  • 5. Concerns• Submission process approves SharePoint manifest– No control over external changes– Once App granted permissions• App can do what it likes in that scope• Trust element of vendor– Will hurt small unknown companies– Different to phone market – corporate data
  • 6. The app model
  • 7. SP App Design - A Choice of Three ApproachesApp Web(from .app)ParentWebSharePoint-hosted AppProvision an isolated sub webon a parent web• Reuse web elements(lists, files, out-of-box webparts)• No server code allowed;use client JavaScript forlogic, UXAzure Auto-Provisioned AppWindows Azure + SQL Azureprovisioned invisibly as appsare installedAzure(fromWebDeploy,DacPac)SharePointWebGet remoteevents fromSharePointUse CSOM/REST+OAuth to workwith SPCloud-basedAppsProvider-Hosted App“Bring your own server hostinginfrastructure”Developers will need to isolatetenantsSharePointWebYour HostedSite
  • 8. Architecture of Apps© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,without the prior written consent of AvePoint, Inc.SharePointSharePoint Azure Web & Worker RolesWeb applicationIIS Web ServerSite CollectionRoot SiteApp 1SP HostedApp 2AzureHostedApp 3ProviderHostedApp 2WebApp 2SQLApp 3WebSub SiteApp 3ProviderHosted
  • 9. Versioning© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,without the prior written consent of AvePoint, Inc.© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means,without the prior written consent of AvePoint, Inc.SharePointSharePoint Azure Web & Worker RolesWeb applicationIIS Web ServerSite CollectionRoot SiteApp 1V1.0App 2V1.0App 3V1.0App 2WebV1.0App 2SQLV1.0App 3WebV1.0Sub SiteApp 3V1.0App 2WebV1.1App 2SQLV1.1App 2WebV2.0App 2SQLV2.0App 3V1.1App 3WebV1.1App 2V2.0
  • 10. SP App upgrade processParentSiteChildSite AChildSite BChildSite CMeetingsAppV1.0.0.0ParentSiteChildSite AChildSite BChildSite CMeetingsAppV1.0.0.0MeetingsAppV1.0.0.0MeetingsAppV2.0.0.0MeetingsAppV2.0.0.0
  • 11. App Trust
  • 12. OAuth Token Example© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.SharePointSharePoint Azure Web & Worker RolesWeb applicationIIS Web ServerSite CollectionRoot SiteApp 1 App 2 App 3App 2WebApp 2SQLApp 3WebSite CollectionRoot SiteApp 3
  • 13. App Scopes• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is athttp://<sharepointserver>/<content>/<tenant>/• performing search queries, accessing taxonomydata, user profiles, etc.
  • 14. App Rights• Rights:– Read-Only– Write– Manage– Full Control (not supported in Store!)• Not customizable!• If an app is granted permission to a scope– the permission applies to all children of thescope
  • 15. Setting App Rights• App rights are set when:– An app is installed by an SPWeb administrator– An app is explicitly granted permission by a tenant administrator orSPWeb administrator– An end user gives consent– An app is removed• Once provisioned, the rights for an app cannotchange – they can only be revoked in whole– This ensures the app will not have to account for missing rights, i.e.become broken after installation
  • 16. Store Submission Process
  • 17. Seller Dashboard• Different from Windows 8, Windows Phone, …• Pre-prepare submission…or just fill in and save as draft• http://msdn.microsoft.com/en-us/library/jj220033.aspx© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 18. Validation policies• Apps provide value to the Office store customer• Can display ads• In-app purchases• Behave predictably• Put the customer in control• Appropriate for global audience• Apps are easily identified and understood• Updates must not decrease your apps functionality• Refunds• Utilize supported capabilities• http://msdn.microsoft.com/en-us/library/jj220035.aspx© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 19. Validation Checklist• Auto-hosted not supported in store• No “Full Control” supported• Locales not supported in SharePoint 2013• http://msdn.microsoft.com/en-us/library/jj938162.aspx© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 20. Checks – app & submission• Check your Client ID, Product ID and Version Numbers© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 21. Checks – browsers!• 8 / 9 /10• Latest• Latest© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 22. Checks – graphic elements• Icons: 96px x 96px• Screen shots: 512px x 384px– no videos like most stores© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 23. Checks – Test Steps• Create a Test Document to walk the tester through howto use the app• Upload to SkyDrive• Link to that in store submission© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 24. Checks - Releases• Keep all your app packages, icons, screenshots in sourcecontrol© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 25. AvePoint Task & Calendar Sync
  • 26. Syncing SharePoint Calendars with ExchangeSyncing SharePoint Tasks with Exchange
  • 27. App ConfigurationExchange supportSharePoint 2007 and 2010 support
  • 28. ArchitectureAzure Worker roleAzure Web roleAzure SQL roleSharePoint 2013App Package
  • 29. AvePoint Meetings
  • 30. Hard to track meetingsOneNote trackingMeetings workspace deprecated
  • 31. Planning meetingsIn-meetingTrack progress
  • 32. Unlimited UsersSupport to have unlimited users accessing the app in real-timeUnlimited App instancesAdd the AvePoint Meetings App to any SharePoint SiteUnlimited MeetingsHave as many meetings within your App as you likeOne-off & Re-occurring meetingsSupport forboth one-offmeetings and re-occurring meetingsMeeting timeline to see past tracked meetingsTrack structured informationSupport to track notes, actions and decisions
  • 33. ArchitectureAzure Web roleAzure SQL roleSharePoint 2013App PackageData Here
  • 34. Provider HostedOur ownWindows Azure Web service tenantTo protect IP and also developers prefer over JavaScriptMeetings DataMeetings data is stored in the Parent Site in SharePoint ListsOnline and On-premisesWant one app to work both online and on-premisesLicensingFreemium/ Premium modelSignalRUsed SignalR for auto update on users browsers
  • 35. AttachmentsAdd attachmentsto agenda itemsRich Text EditorHave a richer experience when adding notes to agenda itemsSearchSearch across Meetings to find notes, decisions and actionsReportingRoll-call in meetings to track attendancePrintingPrint out the meeting minute notes
  • 36. Q&AJeremy Thakewww.NothingButSharePoint.comwww.jeremythake.comwww.AvePoint.comjeremy.thake@avepoint.com@jthakewww.linkedin.com/in/jeremythake
  • 37. References
  • 38. Community• Getting a SharePoint 2013 app submitted – AidanGarnishhttp://www.aidangarnish.net/post/Getting-a-SharePoint-2013-App-Submitted-to-the-Office-Store.aspx© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 39. http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 40. http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 41. http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 42. http://delicious.com/jthake/%23sharepoint2013© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 43. https://www.nothingbutsharepoint.com© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.
  • 44. https://www.yammer.com/spyam© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the priorwritten consent of AvePoint, Inc.