Your SlideShare is downloading. ×
0
The App Building Playbook forSharePoint 2013 MarketplaceJeremy ThakeChief Architect, AvePoint Inc.
Jeremy Thake
Agenda• The marketplace• The new app model• Submission process• AvePoint Task & Calendar Sync• AvePoint Meetings
The marketplace
Concerns• Submission process approves SharePoint manifest– No control over external changes– Once App granted permissions•...
The app model
SP App Design - A Choice of Three ApproachesApp Web(from .app)ParentWebSharePoint-hosted AppProvision an isolated sub webo...
Architecture of Apps© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval sy...
Versioning© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or t...
SP App upgrade processParentSiteChildSite AChildSite BChildSite CMeetingsAppV1.0.0.0ParentSiteChildSite AChildSite BChildS...
App Trust
OAuth Token Example© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval sys...
App Scopes• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is athttp://<sharepointserver>/<...
App Rights• Rights:– Read-Only– Write– Manage– Full Control (not supported in Store!)• Not customizable!• If an app is gra...
Setting App Rights• App rights are set when:– An app is installed by an SPWeb administrator– An app is explicitly granted ...
Store Submission Process
Seller Dashboard• Different from Windows 8, Windows Phone, …• Pre-prepare submission…or just fill in and save as draft• ht...
Validation policies• Apps provide value to the Office store customer• Can display ads• In-app purchases• Behave predictabl...
Validation Checklist• Auto-hosted not supported in store• No “Full Control” supported• Locales not supported in SharePoint...
Checks – app & submission• Check your Client ID, Product ID and Version Numbers© 2012 AvePoint, Inc. All rights reserved. ...
Checks – browsers!• 8 / 9 /10• Latest• Latest© 2012 AvePoint, Inc. All rights reserved. No part of this may be reproduced,...
Checks – graphic elements• Icons: 96px x 96px• Screen shots: 512px x 384px– no videos like most stores© 2012 AvePoint, Inc...
Checks – Test Steps• Create a Test Document to walk the tester through howto use the app• Upload to SkyDrive• Link to that...
Checks - Releases• Keep all your app packages, icons, screenshots in sourcecontrol© 2012 AvePoint, Inc. All rights reserve...
AvePoint Task & Calendar Sync
Syncing SharePoint Calendars with ExchangeSyncing SharePoint Tasks with Exchange
App ConfigurationExchange supportSharePoint 2007 and 2010 support
ArchitectureAzure Worker roleAzure Web roleAzure SQL roleSharePoint 2013App Package
AvePoint Meetings
Hard to track meetingsOneNote trackingMeetings workspace deprecated
Planning meetingsIn-meetingTrack progress
Unlimited UsersSupport to have unlimited users accessing the app in real-timeUnlimited App instancesAdd the AvePoint Meeti...
ArchitectureAzure Web roleAzure SQL roleSharePoint 2013App PackageData Here
Provider HostedOur ownWindows Azure Web service tenantTo protect IP and also developers prefer over JavaScriptMeetings Dat...
AttachmentsAdd attachmentsto agenda itemsRich Text EditorHave a richer experience when adding notes to agenda itemsSearchS...
Q&AJeremy Thakewww.NothingButSharePoint.comwww.jeremythake.comwww.AvePoint.comjeremy.thake@avepoint.com@jthakewww.linkedin...
References
Community• Getting a SharePoint 2013 app submitted – AidanGarnishhttp://www.aidangarnish.net/post/Getting-a-SharePoint-201...
http://sharepoint.microsoft.com/en-us/preview/sharepoint.aspx© 2011 AvePoint, Inc. All rights reserved. No part of this ma...
http://msdn.microsoft.com/en-us/library/jj162979(v=office.15).aspx© 2011 AvePoint, Inc. All rights reserved. No part of th...
http://technet.microsoft.com/en-us/sharepoint/fp142366.aspx© 2011 AvePoint, Inc. All rights reserved. No part of this may ...
http://delicious.com/jthake/%23sharepoint2013© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced,...
https://www.nothingbutsharepoint.com© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored i...
https://www.yammer.com/spyam© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retr...
The app building playbook for SharePoint 2013 marketplace
The app building playbook for SharePoint 2013 marketplace
Upcoming SlideShare
Loading in...5
×

The app building playbook for SharePoint 2013 marketplace

3,967

Published 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 – 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.

Published in: Technology, Design
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,967
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
63
Comments
0
Likes
3
Embeds 0
No embeds

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://&lt;sharepointserver&gt;/&lt;content&gt;/&lt;tenant&gt;/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 of "The app building playbook for SharePoint 2013 marketplace"

    1. 1. The App Building Playbook forSharePoint 2013 MarketplaceJeremy ThakeChief Architect, AvePoint Inc.
    2. 2. Jeremy Thake
    3. 3. Agenda• The marketplace• The new app model• Submission process• AvePoint Task & Calendar Sync• AvePoint Meetings
    4. 4. The marketplace
    5. 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. 6. The app model
    7. 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. 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. 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. 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. 11. App Trust
    12. 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. 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. 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. 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. 16. Store Submission Process
    17. 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. 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. 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. 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. 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. 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. 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. 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. 25. AvePoint Task & Calendar Sync
    26. 26. Syncing SharePoint Calendars with ExchangeSyncing SharePoint Tasks with Exchange
    27. 27. App ConfigurationExchange supportSharePoint 2007 and 2010 support
    28. 28. ArchitectureAzure Worker roleAzure Web roleAzure SQL roleSharePoint 2013App Package
    29. 29. AvePoint Meetings
    30. 30. Hard to track meetingsOneNote trackingMeetings workspace deprecated
    31. 31. Planning meetingsIn-meetingTrack progress
    32. 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. 33. ArchitectureAzure Web roleAzure SQL roleSharePoint 2013App PackageData Here
    34. 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. 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. 36. Q&AJeremy Thakewww.NothingButSharePoint.comwww.jeremythake.comwww.AvePoint.comjeremy.thake@avepoint.com@jthakewww.linkedin.com/in/jeremythake
    37. 37. References
    38. 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. 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. 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. 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. 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. 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. 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.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×