SPSNashville - SharePoint Saturday Events

advertisement
From Idea to App Store
Thank You for being a part of
SharePoint Saturday Nashville!
Remember to follow @SPSNashville and tag #SPSNashville in your posts!
Platinum Sponsors
Gold Sponsors
About Me
Bill Crider
Director, SharePoint products for Ascendum Solutions / BlueSpring Software
Website (http://drsharepoint.com) – under remodeling – Thanks Microsoft
Blog: http://drsharepoint.wordpress.com/
Twitter: @Bill_Crider_ (note the underscores)
Agenda
• Assume you want to make some money selling apps
• Not a deep technical dive on development technique
• What you need to get started and what you should consider before you start
•
•
•
•
•
•
•
Topics
1. The app opportunity in 2015
2. Setting up an account
3. Tools and support
4. App development design decisions
5. Deploying and maintaining your app
6. Licensing
A huge business opportunity
1B users
in-product
exposure
Instant
credibility
Choice of distribution channel
SharePoint or
Office Client
FREE/
TRIAL/
PURCHASE
APP
VALIDATION
Store Momentum – SharePoint Conference 2014
International Expansion
Store facts and figures (April 2015)
Active add-ins
1000
960
800
600
400
377
200
0
72
82
Mail
Content
Task Pane
SharePoint
Betterwith.Office.com
Office-hosted site to tell your story
Office will promote your add-ins
Vertically-focused site: SMB first
Future: scalable partner model
Marketing Tools / Store front improvements
Improved Acquisition
https://store.office.com/insightly-WA104058309.aspx?assetid=WA104058309
App Awards
Market Localization
Lionbri
dge
https://intlapps.lionbridge.com//office
http://dev.office.com/app-awards
Demo – app store and corporate catalog
•
•
Tenant administrators and SharePoint 2013 web application administrators
can shop for apps for SharePoint on the public app store.
They can also add apps to the corporate app catalog
•
Users install apps from the Your Apps page (Site Settings).
•
A user must have the Manage Web site and Create Subsites permissions
to add an app for SharePoint. By default, these permissions are available
only to users who have the Full Control permission level or who are in the
site Owners group.
On-Prem App catalogs
• How – to: http://technet.microsoft.com/en-us/library/fp161234(v=office.15)
• Notes:
• 1. 1 app catalog per web application
• 2. Separate domain name for the catalog site
• 3. If using SSL, need a wildcard certificate
• 4. Build in the Apps page in Central Administration
• 5. Upload .app packages to the library
• 6. Can create categories
DEMO - Installing an App
•
The user who installs the app must grant all the permissions that an app requests
or not grant any permission
•
If a user without sufficient permissions is prompted for consent by an app that a
user is trying to install, an error message displays to the user informing them that
they don't have sufficient permissions to grant the app its request.
Setting up a developer account
1. Windows Live account
2. Seller Dashboard
3. Individual Details
4. Approval (or not)
5. Tax and Bank Info
https://msdn.microsoft.com/enus/library/office/fp179924.aspx#o365_signup
https://sellerdashboard.microsoft.com
Requirements
1. Typical personal information
2. Website
3. Logo 96x96 and <= 250 KB
4. W-9 Tax form
5. Bank or Paypal account
Demo – Setting up an account
Developer Tools
1. Visual Studio 2013
2. Visual Studio 2013 Update 4
http://www.microsoft.com/en-us/download/details.aspx?id=44921
3. MS Office developer tools for Visual Studio 2013
http://blogs.msdn.com/b/officeapps/archive/2013/06/26/office-developertools-for-visual-studio-2013-preview-released.aspx
4.
JavaScript tools
•
http://knockoutjs.com – MVVM pattern coding
•
Node.js https://nodejs.org/
•
Jquery included in App project type
•
Minify –MS AJAX Utility to compress js files
•
http://ajaxmin.codeplex.com/
5. TFS – Cloud based http://tfs.visualstudio.com/
•
Available from within Visual studio as well
6. Bootstrap framework
http://getbootstrap.com/2.3.2/getting-started.html
Useful links 2 – This time, its REALLY useful
• Yammer group https://www.yammer.com/itpronetwork/#/threads/inGroup?type=in_group&feedId=4597220
• PnP - http://dev.office.com/patterns-and-practices
• GitHub Wiki - https://github.com/OfficeDev/PnP/wiki/contributing-to-Office-365-developerpatterns-and-practices
• Videos - app marketing - betterwith.office.com
• Licensing - https://msdn.microsoft.com/EN-US/library/office/dn456317.aspx
• App guidelines - https://msdn.microsoft.com/library/office/jj220035.aspx
• Validation checklist - https://msdn.microsoft.com/EN-US/library/office/jj938162.aspx
• Msdn content - https://msdn.microsoft.com/en-us/library/office/jj164080.aspx
• Twitter - @OfficeDev
• New content - http://dev.office.com/latestnews
• Office Dev blog - http://blogs.office.com/2015/05/21/office-365-monthly-dev-digest-for-may/
Useful links 3 – out of original ideas, stealing
slides from Build conference
Star t
https://www.yammer.com/itpronetwork
@OfficeDev
[ms-office]
http://dev.office.com/podcasts
http://officespdev.uservoice.com/
Demo –TFS in the Cloud
Demo – Deploying an app with Visual Studio
App Development & Architecture
considerations
•
•
•
•
•
Where to host the app
How to present the UI with SharePoint
Which Programming model(s) to use
Support and Maintenance
Tool
Useful links
Javascript API - http://msdn.microsoft.com/en-us/library/jj193034(v=office.15).aspx
Basic operations - http://msdn.microsoft.com/en-us/library/jj163201.aspx
Ted Pattison’s blog-http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=20
Office API for JS - http://msdn.microsoft.com/en-us/library/fp142185.aspx
SharePoint2013 and REST - http://msdn.microsoft.com/en-us/library/fp142385(v=office.15)
Hosting Options
Azure
Cloud / 3rd party-hosted
Provider hosted apps
- Use server code
- Receive SP events
- Use OAuth to access SP
Provide your own hosting environment
Client-hosted app
Use the customer’s environment
SharePoint
Host Web
SharePoint
Host Web
Your Hosted Site
Hosted in client
network
SharePoint-Hosted app
Provisions an isolated sub web on a host web
- Use SP artifacts & out-of-box web parts
- Use HTML & JavaScript for UI & client-side logic
- Use Workflows for middle tier logic
SharePoint
Host Web
SharePoint
App Web
Provider hosted sample architectures
License Sample App
Visual Search
UI Options
Full page
Implement complete app experiences
to satisfy business scenarios
App Parts
Create app parts that can interact
with the SharePoint experience
UI command extensions
Add new commands to the ribbon and item
menus
Remote Provisioning
Provision branding, script, and other
elements from the remote app
Demo –Full Page UI
Demo – App Part UI
Demo – Remote Provisioning UI
Programming models
Language
API
Javascript
REST
C#
Non-Microsoft
Client Side
Object Model /
Javascript object
model
Support and Maintenance
 Cost of Azure servers for provider hosted
 Maintain a place to answer questions / support
end users – especially during a trial
 Upgrade issues
Demo – User engagement
Deploying to the Office store
1. Build the app
2. Upload
3. Input Details
4. Approval (or not)
5. Approved!
Build command, creates .app file
https://sellerdashboard.microsoft.com
Requirements
• Title and description
• Logo, exactly 96x96
• 1 screenshot minimum
• Website for support
• Testing details (optional)
• Licensing document (optional)
• Price and Licensing structure
App Guidelines for submittal
Full article : http://msdn.microsoft.com/en-us/library/jj220039.aspx
Highlights
1.
Must include link back to host web
SharePoint hosted app – uses app.master – DONE!
Chrome control – add to page, creates SharePoint UI and link
Roll your own – must have a link to the host web.
2.
Use styling that is familiar to the SharePoint experience
host CSS
3. Managing licensing issues in the UI – use the status bar
SP.UI.Status.addStatus(strTitle, strHtml, atBegining) Method
http://msdn.microsoft.com/en-us/library/ff410028.aspx
http://msdn.microsoft.com/en-us/library/office/apps/jj164035.aspx#bk_implement
4. Check for read-only mode
<hostWebUrl>/_api/site/ReadOnly
Licensing and Revenue models
view metrics on all listed apps
Session Feedback
Please fill out the session feedback survey:
http://SPSNashville.org/340
Download