deep dive sharepoint 2013: developing applications in sharepoint 2013: forget the past?

52
Developing applications in SharePoint 2013 Forget the past? Serge Luca @sergeluca

Upload: microsoft-developer-network-msdn-belgium-and-luxembourg

Post on 05-Dec-2014

4.514 views

Category:

Documents


2 download

DESCRIPTION

More info on techdays.be

TRANSCRIPT

Page 1: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Developing applications in SharePoint 2013Forget the past? Serge Luca@sergeluca

Page 2: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Developing applications in SharePoint 2013: forget the past? Serge Luca

Page 3: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Who Am I ?

Serge Luca

SharePoint Business Unit Manager @ICT7

SharePoint MVP

Co-author of 2 incoming books on SharePoint 2013

[email protected]

Page 4: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Related sessions

“Deep Dive SharePoint 2013: SharePoint App development Fundamentals “

“Deep Dive SharePoint 2013: Accessing SharePoint data “

“Deep Dive SharePoint 2013: SharePoint App Security”

Page 5: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

What’s new for developers in SP 2013

Apps Model CSRDesign Manager

REST / Client Side Object Model

Display Templates

Cross Sites Publishing Workflows

Server Side OM, Receivers

Minimal Download StrategyAccess

Page 6: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?
Page 7: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Agenda

Apps for SharePoint

Apps for Office JS Link WCM Workflows

Conclusions

Page 8: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Apps for SharePoint

Page 9: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Problems with custom code

Stability

(Very) expensive upgrades to new versions of SharePoint

Code runs with the identity/permissions of a specific user

Do you really believe that sandboxed solution cannot perform attacks ?

The upgrade feature story is not clear for many dev (feature versioning or assembly versioning…)

Page 10: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Upgrading to a new version of SharePoint ?

Page 11: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

SharePoint App Model : past, present, future…

SharePoint 2007SharePoint 2010

SharePoint

SandboxSharePoint

Azure, IIS, LAMP, etc…

_api

SharePoint 2013

Page 12: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Apps Architecture

App Web (from WSP)

Parent Web

SharePoint-Hosted App

Provision an isolated sub web on a parent web

• Reuse web elements (lists, files, out-of-box web parts)

• No server code allowed; use client JavaScript for logic, UX

Provider-Hosted App

“Bring your own server hosting infrastructure”

SharePoint Web

Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP

Cloud-based Apps

Your Hosted Site

Autohosted App

Windows Azure + SQL Azure provisioned invisibly as apps are installed

Windows Azure

Websites

SharePoint Web

Page 13: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Apps lifecycle

SharePoint Farm

Cloud

Public app store

Apps Service

Application

Cloud

Web App #1

Azure Web Site

External Web Site

(IIS ?)

Catalogs MngtLicences MngtTenants MngtPerms Mngt

Monitor Apps

*.app download

Authorized App Delegation

SP hosted App

Auto hosted App

App Developer SiteInternal App Promotion

Provider hosted App

File System

*.app

Page 14: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Apps : UI experience

Full page

Fully Immersive (Mandatory)

App Parts“Web Parts” (Optional)

UI command extensions(Optional)

Page 15: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Communication between SharePoint and Apps

OAuth

Host web

Lists / Libs / Webs

Lists / Libs

App web

Web Services

Pages (SP Hosted App)

Pages (Clouded H App)

JavaScript Client Object Model (JSCOM) /REST

Client Object Model (CSOM)/REST

Remote Event Receiver

Page 16: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : SharePoint Hosted App

Page 17: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?
Page 18: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo SharePoint AutoHosted App

Page 19: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : SharePoint AutoHosted App with Access 2013

Page 20: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

What’s covered in the new CSOM/REST APIs?

BCSIRM

AnalyticsWorkflow

eDiscoveryPublishing

TaxonomySocial

Sharing

Search

And much, much more!

Page 21: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

JavaScript Library

Silverlight Library

.Net CLR Library

Custom Client Code

Client

Server

_api is new alias for _vti_bin/client.svc

SharePoint 2013 Remote API

RESTODataJSON

CSOM

Page 22: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

REST or CSOM ?

REST is not just for CRUD operations anymore

Beware:

NO BCS manipulation with REST

NO managed metadata manipulation

I use REST for cross platform code (IOS/Androïd,…)

By default I stick to CSOM

Page 23: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

What you won’t be able to do with apps :

Timer jobsCustom definitions

Custom action groups & custom hidings

User controls(.ascx)

Delegate Controls

Page 24: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Apps for Office

Page 25: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

New architecture, web based

Apps for office : javascript api

HTML5, JavaScript, CSS3, XML, and REST APIs

Small footprint : run in the browser (even in Rich Client)

in a secure app runtime environement

Page 26: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?
Page 27: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Office App Office Web App

Task Pane ExcelWordProject

Excel

Content App Excel Excel

Mail App Outlook Outlook

Page 28: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : Apps for Office

Page 29: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

What is Napa ?

Great way to start builing SharePoint & Office apps in the web

No need to install Visual Studio

All you need is an Office 365 Account

Page 30: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : Creating SharePoint Apps with Napa

Page 31: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

JavaScript everywhere (not just apps)

Page 32: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

SharePoint Designer

2010

Could display SharePoint Pages

Designing Master Pages was possible

Data View Web Part was based on XSLT -> code too complicated

2013

No Designer (except for Workflows)

JS Link replaces the Data View Web Part (kind of)

Page 33: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo :JS Link

Page 34: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Can also be used in Custom fields :

Page 35: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Web Content Management

Page 36: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Majors WCM Improvements in SP2013

Search driven content

Cross Site Publishing

Snippet Gallery

Designer Support

Display Templates

HTML 5 & JQuery

Site Maps

No tables for Zones

Content Recommendations

Design Manager

Site URL’s

Device Channels

Custom 404 Pages

SEO Tools

Clean Paste

Clean CSS

Managed Navigation

Image and video renditions

Enhanced CSOM

Translations

FURLs

Product Catalog

Taxonomy Driven Refiners Client Side Rendering

Page 37: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Designing Master Pages

Problems in previous versions of SharePoint

Master pages work very well, but much too complex

Pure Designers (people) don’t want to mess up with SharePoint !

The Design MANAGER is your new friend

Page 38: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?
Page 39: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : Designer Manager

Page 40: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : Product Catalog

Page 41: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Workflows

Page 42: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

SharePoint 2013 workflows

SharePoint 2010 workflows

Windows Server

SQL Server Windows Server

SQL Server

SharePoint 2013 Workflow Manager

Page 43: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

SharePoint 2013 and Workflow Service

SharingContentEvents People

Vis

ual

Stu

dio

201

2

Sh

areP

oin

t D

esig

ner

201

3

SharePoint2010 WF

_API (REST OM)

Workflow Services Manager

Service Bus

Instances Interop

Deployment Messaging

WF Service Application Proxy

Workflow Manager

OAuth

Access Control

Wor

kflo

w C

lien

t

Page 44: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Workflow topology

SP Farm 1

Workflow Cluster

SP Farm 2 load balancer

Workflow Client

Workflow Client

• Each SP farm targets a different Workflow Manager scope

• Independent security realms

Page 45: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

SharePoint Designer Workflows : new features

Stages! Do “App-Level” operations with App Step

Rapid design with the Visual and Text-Based Designers

Copy & Paste in the Text-Based Designer

New “Assign A Task” & “Start a Task Process” actions

Enhanced parallel blocks

Looping! Enhanced portability & packaging through WSP and VSDX files

Support classic 2010 workflow type and interoperability

Complex data types with ‘Dictionary’ variables

Full integration with Project Server workflows

Leverage web services(HTTP/REST)

Page 46: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?
Page 47: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : SharePoint Designer 2013 Workflows

Page 48: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Demo : Visual Studio 2013 Workflows

Page 49: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Conclusions

Page 50: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?

Key Takeaways

New workflow platform : SPD is king

Javascript is everywhere

Create Apps, including

Office Apps

Apps cannot do

everything

WCM Improvemen

ts

Focus on the client api

Page 51: Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget the past?