brian farnhill independent consultant alexander burton app author
TRANSCRIPT
The SharePoint 2013 App PlaybookYour guide to building and publishing a great appBrian FarnhillIndependent Consultant
Alexander BurtonApp Author
OSP314
Meet Brian and AlexBrian Farnhill
Independent ConsultantLocated in CanberraSharePoint Server MVPLecturer for Charles Sturt University
Alexander Burton
App AuthorLocated in MelbourneProject MVPProduct Manager, Nintex
What’s covered in this session?• Overview of the app model• What can I build in an app?• How do I publish an app?• Updating and maintaining an app
What’s this app thing about?• Office 2013’s newest customisation model• Focus on flexibility and choice of
development platform• Simplify customisation process for end
users
Why write apps?• Use common standards for development• Have few to no dependencies on the
platform• Improved delivery channels through the
app store• No installation to the target machines
SharePoint app architecture
SharePoint Site
Collection
App
Web
App
Web
App
Web
App
Web
App
Web
App
Web
IIS and other web servers
REST, JSON,
oData, oAuth
Office app architecture
Office Host
Application
Internet Explorer
runtime host process
App App App
App App App
Message
Transport
Apps for Office
runtime
Tooling for creating apps• Visual Studio 2012 and 2013• Extensions are downloaded through web platform installer
• “Napa” app for Office365
What can I do in a SharePoint app?• Within SharePoint• Use the app web like a regular
SharePoint site• Deploy feature elements at the web
scope• Use JavaScript object models to
manipulate SharePoint from pages hosted in this web
• Remote hosting• Run any code on any remote
environment• Use managed code remote APIs to
communicate from remote apps• JavaScript and REST endpoints for
more communication options• Integrate with the SharePoint UI
through app parts
Hosting SharePoint apps
Provider hosted apps
Auto hosted apps
Flexibility and responsibility
Simple to implement hosting
SharePoint
App Web
Used for SharePoint hosted apps
Optional for remote apps
Remote
APIs
Limitations of SharePoint apps• Understand restrictions on changing the
host web• Where custom actions will and wont work• Issues with icon URLs in ribbon customisations
• Understand restrictions of client side APIs• Farm and web application objects are out of scope• Async nature of HTTP means handling comms differently
What can I do in an Office app?• Extend Office Client applications• Read and manipulate Office document
content• Extend functionality of a document without
needing to install on each client that uses the document
HTML + JavaScript = app• Focus on client side development• Complex tasks can be farmed out to remote
web services• .NET is no longer a prerequisite
Before you start coding checklist
App functionalityHosting modelAuthenticationIntegration pointsDependenciesLicensing approaches
Creating Office Apps with Visual Studio 2012Brian Farnhill
http://msdn.microsoft.com/en-us/library/jj220035.aspxhttp://msdn.microsoft.com/en-us/library/jj220035.aspx
Choosing the right option
Office Store App Catalog
Audience PublicUsers with access to
SharePoint
Licencing Yes No
Commerce Yes No
Hosting Microsoft Site Collection
Validation / Verification Microsoft SharePoint
Registration Yes No
Setting up the Seller Dashboard• Type of account• Payout information• Link Paid Office 365 Dev Account• MSDN• E1 or E3• Convert a trial
Know the validation policies
http://msdn.microsoft.com/en-us/library/jj220035.aspx
• Apps must provide value• Apps can display certain apps• Apps can have in app
purchases• Apps behave predictably• Apps put customer in control• Appropriate for a global
audience• Apps are easily identified and
understood• App updates must not
decrease your app’s functionality
• Refunds• Apps utilise supported
capabilities
Submission checklistCheck the Validation policyDev CompleteTested the appIconsMarketing CopySupport & Privacy LinksScreenshotsMicrosoft submission guidelines
Real world learnings…
• Test ALL supported browsers• Make sure it does what you say• Provide feedback to user• Icons• Asking only for the permissions you need• Tester notes and accounts
Validation process• No defined SLA and it varies• No configurable go live date• First time will be the longest• Combination of analysis and human
testing
Monitoring your app in the wild• Download numbers• Metrics• Downloads• Installs / Uninstalls• Actively being used
• Logs / Telemetry• Support Forums /
Feedback• Reference deployments
Updating your app• Do you need to update
your app?• Takes up to 24 hrs to
prompt for users• Updates are optional
for end users• Treat it likes it’s a new
app
SharePoint App update mechanics• Update App Manifest• Update App web components• Update Host web components• UpgradedEventEndPoint• Update Remote Components
Choosing the right option
Office Store App Catalog
Audience PublicUsers with access to
SharePoint
Licencing Yes No
Commerce Yes No
Hosting Microsoft Site Collection
Validation / Verification Microsoft SharePoint
Registration Yes No
Setting up the Seller Dashboard• Type of account• Payout information• Link Paid Office 365 Dev Account• MSDN• E1 or E3• Convert a trial
Know the validation policies
http://msdn.microsoft.com/en-us/library/jj220035.aspx
• Apps must provide value• Apps can display certain ads• Apps can have in app
purchases• Apps behave predictably• Apps put customer in control• Appropriate for a global
audience• Apps are easily identified and
understood• App updates must not
decrease your app’s functionality
• Support Refunds• Apps utilise supported
capabilities
Submission checklistCheck the Validation policyDev CompleteTested the appIconsMarketing CopySupport & Privacy LinksScreenshotsMicrosoft submission guidelines
Real world learnings…
• Test ALL supported browsers• Make sure it does what you say• Provide feedback to user• Asking only for the permissions you need• Tester notes and accounts are important
Validation process• No defined SLA and it varies• No configurable go live date• First time will be the longest• Combination of analysis and human
testing
Monitoring your app in the wild• Download numbers• Metrics• Downloads• Installs / Uninstalls• Actively being used
• Logs / Telemetry• Support Forums /
Feedback• Reference deployments
Updating your app• Do you need to update
your app?• Treat it likes it’s a new
app• Updates are optional
for end users• Takes up to 24 hrs to
prompt for users
SharePoint App update mechanics• Update App Manifest• Update App web components• Update Host web components• UpgradedEventEndPoint• Update Remote Components
Review of what was covered• Overview of the app model• What can I build in an app?• How do I publish an app?• Updating and maintaining an app
Useful links• Build apps for Office & SharePoint -
dev.office.com• Build app for Office - http://
msdn.microsoft.com/en-us/library/office/apps/jj220060.aspx
• Build apps for SharePoint - http://msdn.microsoft.com/en-us/library/office/apps/jj163230.aspx
• App Store Validation policy - http://msdn.microsoft.com/en-us/library/jj220035.aspx
Call to action!• Visit dev.office.com• Try out the tutorials / walkthoughs• Register for a dev account• Build an Office / SharePoint app• Submit it o the Office store• Make millions
Contact detailsBrian Farnhill
@BrianFarnhillblog.brianfarnhill.com
Alexander Burton
@alexanderbwww.epmsource.com
Developer Network
Resources for Developers
http://msdn.microsoft.com/en-au/
Learning
Virtual Academy
http://www.microsoftvirtualacademy.com/
TechNet
Resources
Sessions on Demand
http://channel9.msdn.com/Events/TechEd/Australia/2013
Resources for IT Professionals
http://technet.microsoft.com/en-au/
Keep Learning1. Keep up to date with all the latest Office 365 information
at http://ignite.office.com
2. Get on top of your pilot using the FastTrack deployment process http://fastTrack.office.com
3. Trial Office 365 http://office.microsoft.com
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.