App Manifest Web Page HTML/CSS/JS APP SharePoint App Web SharePoint Host Web Windows Azure Websites...
-
Upload
rosanna-armstrong -
Category
Documents
-
view
244 -
download
1
Transcript of App Manifest Web Page HTML/CSS/JS APP SharePoint App Web SharePoint Host Web Windows Azure Websites...
Developing Apps for SharePoint 2013 with Visual Studio 2012Sean Laberee
SES-B305
• App model• Building an app in Visual Studio• App artifacts• Cloud apps• Continuous Integration with TFS
Agenda
Full Page
App Part / Client Web Part
UI Command – Ribbon/Menu Action
New App Model
App ManifestWeb Page
HTML/CSS/JS
APP
Choosing a Hosting Option
SharePoint App Web
SharePoint Host Web Windows
Azure Websites
SharePoint Host
WebYour hosted
site
SharePoint Host
Web
SharePoint-hosted Autohosted Provider-hosted
Client-side code only Cloud apps
The Visual Studio Tools
Microsoft Office Developer Tools
Flexible EnvironmentsLocal & Remote Development
SharePoint Server & Office 365
Visual Studio 2012Download:http://aka.ms/OfficeDevToolsForVS2012
Included in Visual Studio 2013!
Demo: Building your first app in Visual StudioSean Laberee
• Designer over XML• App Properties• Permissions• Prerequisites• Supported Locales• Remote Endpoints
App Manifest
• Lists• Define list definitions & instances• Create custom views
• Content Types• Define content types• Configure columns
Lists & Content Types
• End-to-end tooling• Create Site & List
Workflows
• Rich Workflow Designer
• Initiation Form & Custom Activity Templates
• Interactive Debugging
SharePoint Workflows
• Access OData Services • Wizard & Designer Support• External Content Types
Business Connectivity Services
• Create App Parts• Wizard creates XML & page• Shine through parts of your app• Create convenient launch points• Content hosted in an IFrame
Client Web Parts
• Create UI Extensions• Show on the ribbon• Add to item menu (ECB)• Wizard creates XML
UI Custom Actions
Demo: App Shapes
Sean Laberee
Anatomy of an App Package
AppManifest.xml
Client Web PartsUI Custom Actions
(Host)
Web Assets (Web Deploy)
SQL Azure(.dacpac)
SQL Scripts
.app P
ack
ag
e
(OPC
)
ListsModules
WorkflowsBCS Entities
etc…
WSP
Windows Azure Web Sites
App Web (from WSP)
HostWeb
Autohosted Apps
SharePoint-hosted Apps
Anatomy of an App Package
AppManifest.xml
Client Web PartsUI Custom Actions
(Host)
Web Assets (Web Deploy)
SQL Azure(.dacpac)
SQL Scripts
.app P
ack
ag
e
(OPC
)
ListsModules
WorkflowsBCS Entities
etc…
WSP
Dedicated Server / Third-party Hosting Service
App Web (from WSP)
HostWeb
Provider-hosted Apps
Cloud apps
Choosing a Hosting Option
SharePoint App Web
SharePoint Host Web Windows
Azure Websites
SharePoint Host
WebYour hosted
site
SharePoint Host
Web
SharePoint-hosted Autohosted Provider-hosted
Client-side code only Cloud apps
• Choose in new app wizard• Autohosted and Provider-hosted both include
a web project
• Add event to app• App events and remote event receivers add
a web project
• “Appetize” any Web project
Creating a Cloud app
• Use OAuth for secure communications• SharePoint & web application trust third party (ACS)
• Trust developed using ClientId & ClientSecret• SharePoint & ACS know the ClientId• Web application & ACS know the ClientSecret
Web to SharePoint Communication
• Token Flow• SharePoint acquires context token from
ACS & passes it to web application• Web application validates context token
with ACS & gets back an access token• Access token used to communicate with
SP
• Code runs on local machine• IISExpress is used to host Web project (http://localhost:1234)• LocalDB is used for SQL database• Connection string updated in web.config from SQL project
• No app registration required• ClientId & ClientSecret are generated for you
• Supported for SharePoint-hosted, Autohosted and Provider-hosted apps
Debug (F5)
• Remote Event Receivers• Item Added• Item Updated• Item Deleted
• App Event Receivers• Handle App Installed• Handle App Uninstalling
• SharePoint calls web server based SOAP endpoints
Handling events in apps for SharePoint
• Firewall will block these for Remote Development
• Office Developer Tools configure Windows Azure Service Bus to open communications between SharePoint online and local IISExpress
Debugging Remote Events
• Use to run your app on Azure
• App is provisioned to Office 365 & Windows Azure Websites
• Supported for SharePoint-hosted & Autohosted apps only
Deploy
• Usage• Upload to test environments• Upload to Store or App Catalog
• SharePoint-hosted & Autohosted• No app registration required• Everything included in the .app package
• Provider-hosted• Developer must acquire ClientId &
ClientSecret• SharePoint artifacts in .app package• Web assets in Web Deploy package
Publish
Demo: Remote Event Receivers
Sean Laberee
Continuous Integration
• Key Benefits• Consistent, repeatable builds• Capability to add official versions• Reduce problems due to inconsistent developer environments• Better Team Collaboration• Automated testing & deployment
• With the Team Foundation Service & the new Cloud App Model, we’ve made it much easier!
Continuous Integration
Demo: Continuous Integration with Team Foundation ServiceSean Laberee
• Sign-up: tfs.visualstudio.com
• Check-in scripts from: officesharepointci.codeplex.com/
• Use the scripts in your build process
• Write tests & check-in!
Getting Started with TF Service
Developer Desktop on Azure IaaS
• Visual Studio supports:• The new cloud app model• Both Office 365 & local SharePoint server• Remote development• SharePoint app artifacts• Continuous Integration with Team Foundation Service
• Get started now at http://dev.office.com
Summary
msdn
Resources for Developers
http://microsoft.com/msdn
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources
Sessions on Demand
http://channel9.msdn.com/Events/TechEd
Resources for IT Professionals
http://microsoft.com/technet
Evaluate this session
Scan this QR code to evaluate this session.
© 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.