app manifest web page html/css/js app sharepoint app web sharepoint host web windows azure websites...

Post on 14-Dec-2015

244 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related