.netcampus2015 office365dev

42
Template designed by BEST PRACTICE TO DEVELOP SOLUTION WITH OFFICE 365 Marco Rizzi marco.rizzi@avanade. com Giuliano De Luca giuliano.de.luca@avana de.com

Transcript of .netcampus2015 office365dev

Template designed by

BEST PRACTICE TO DEVELOP SOLUTION WITH OFFICE 365

Marco [email protected]

Giuliano De [email protected]

Avanade Confidential – Do Not Copy, Forward or Circulate – © Copyright Avanade Inc. All Rights Reserved.

Chi è Avanade Italy

2

Avanade, nata nel 2000 dalla joint venture tra Microsoft e Accenture, è il principale Technology Integrator a livello mondiale specializzato nello sviluppo e nell’implementazione di soluzioni su tecnologia Microsoft per le grandi aziende.

•Capacità imprenditoriale

•Soluzioni per qualsiasi settore

•Acceleratore di soluzioni trasversali

• Specializzati su piattaforma Microsoft

• Architetture e asset

•Risultati realizzati

• Piattaforme Enterprise

• Prodotti all’avanguardia

• Impegno per la ricerca e sviluppo

Avanade Confidential – Do Not Copy, Forward or Circulate – © Copyright Avanade Inc. All Rights Reserved.

We invest in Microsoft’s evolution

Market Forces

Microsoft’s Evolution

Mobility

Cloud

BusinessSolutions

Social

Big Data

Reshaping the end-user experience to accommodate work-on-the-go scenarios

Redefining flexible systems design and customer business models

Expanding product set into integrated suite of social collaboration tools

Grow portfolio of ERP andCRM solutions based on Microsoft Dynamics

Applying accessible tools and largescale processing to the“Big Data”/analytics challenge

Data & Analytics

Application Development

Customer Relationship Management

Enterprise Resource Planning

Technology Infrastructure

Collaboration

Mobility

UX

Avanade Service Line

Avanade Confidential – Do Not Copy, Forward or Circulate – © Copyright Avanade Inc. All Rights Reserved.

We invest in Microsoft’s evolution

Some cases:

Avanade Confidential – Do Not Copy, Forward or Circulate – © Copyright Avanade Inc. All Rights Reserved.

Avanade Italy: I nostri numeri

CAGLIARI

• Nata nel Settembre 2000 (tra i Paesi fondatori)

• 6 Uffici

• 700 dipendenti

• Fatturato 80 milioni di EuroROMA

15 anni di esperienza nella consulenza per il settore IT con focus sulla Collaboration, Enterprise Social, Portals

Speaker - Microsoft SharePoint Conference, WPC, SharePoint Saturday

Organizzatore SharePoint Saturday Italy

Riconoscimento Microsoft MVP 2014

Esperienza su SharePoint a partire dal prima beta nel 2001 (codename Tahoe)

15 certificazioni Microsoft su tecnologie ASP.net, SharePoint 2007, 2010, 2013 sia Dev che Infra

SharePoint Earlier Adapter dal 2009

Self employed – 7 anni

Microsoft Consulting Services – 3 anni

Avanade dal 2008 - Solution Architect Collaboration Service Line

Marco Rizzi

6

@marcorizzi

marcorizzi78

marcorizzi

11 anni di esperienza sulle tecnologie SharePoint e Microsoft .Net.

Ho una forte passione per la tecnologia e l'innovazione e sono sempre attento

all'evoluzione del mercato.

Sono un contibutor nella community attraverso il blog http://www.delucagiuliano.com,

su msdn e i vari social network twitter, linkedin, Facebook.

8 Certificazioni Microsoft su : HTLM5, CSS, Javascript; MCSD - SharePoint Application;

MCSA Office 365; MCSD Web Application;

Avanade dal 2013

Consultant Collaboration service line.

Giuliano De Luca

7

@giuleon

giuliano.deluca

delucagiuliano

Office 365: the opportunity

Modern App Development

Development guidelines

Demos, demos, demos

Agenda

Office 365 Evolution

9

Office 365 Adoption

10

Office

365

Skype for Business

Exchange online

Azure Active

Directory

SharePoint Online

Yammer

OneDrive for

Business

Office 365 services

11

What’s the future?

12

Office 365 Unified API

TASK

S

manager

memberOf

FILE

S

MESSAGE

S

workingWith

Shared with me

directReports

createdBy

FILE

S

CONVERSATIO

NS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASK

S

NOTE

SNOTE

S

public

modifiedBy

USERtrendingAroun

d

14

Author
dopo questa slide magari farei una demo di un App

Dem

o

SharePoint App

Developer 101http://dev.office.com

Create Office 365 tenantCreate Azure SubscriptionVisual Studio 2013Office 2013

Development modelWhat are the recommendations for the development model?

App model with add-ins is the future also for on-premises

“Will Farm Solutions be supported with SharePoint Server 2016?”

We will make investments primarily on the app model side also for on-premises to better align the development story: Write once and use it across cloud and on-premises

Yes.

“I saw a blog post on the Internet saying that the app model is dead”

It’s more alive than ever. We are committed to this model and the majority of our development investments are made on the app model for cloud AND on-premises

No it’s not

“Will you ever support farm solutions in Office 365?” Farm solutions are deployed cross

SharePoint farm and they’d impact multiple customers…

No.

What if…

We would use same development model in cloud and in on-premises?

What does “app model” or “add-ins” mean

Classic - Full trust solutions

• ISV solutions• Platform level customizations to on-premises

• Custom service applications

• Custom WCF services• SharePoint customizations, not customer specific customizations

Client Side Solutions

• Server side controls as JavaScript on page layouts and master pages

• Remote provisioning for elements

• Embracing un-ghosted model

• SP App dimension with provider hosted apps to provide new capabilities

• Customer specific customizations

Store apps

• App catalog based solution• Packaged reusable solutions built for specific functionality

• Not only for market place or store, but also as platform for customer specific customizations

SharePoint Add-Ins means all operations which are executed

outside of the server

Transformation processHow to perform the transformation to app model gradually?

“What does app model transformation mean?”

Rewrite your code to app model. There’s actually no migration or transformation, but you can reuse concepts and patterns…

Rewrite

“What does this mean in practice?”

Implement similar functional capabilities as with farm solutions, using alternative technical solutions

Recommendations for following componentsContent types and site columnsList DefinitionsField typesSite provisioningTimer jobs

Recommendations to avoid future maintenance and rework of your deployment

Recommendations for farm solutions

”I want to minimize challenges in future updates with farm solutions”

Any element which creates dependency in content for farm solution is a challenge…

•What• Rather than using feature framework

elements in farm solution, it is recommended to provision site columns and content types using code

•Why• Objects are created directly to the database

(unghosted) without any dependencies on files in file system

•How• Use code called from feature receiver to

create needed elements

Content Type and site columns challenge

•What• You should avoid custom list templates for

your list instances

•Why• Custom list template has unique identifier

and it creates dependency on the list instances to the schema.xml file of the list template

•How• Consider using code to provisioning specific

instances or use custom schema option with instances• List events for newly created lists in sites

List definition challenge

•There’s unfortunately no easy ways to fix existing deployments which are using custom list definitions• We are working on more guidance on this side with details on

how to fix the existing sites

•Possible solutions1. Change to use Sandbox solution list definition2. Perform content migration to oob list

How to fix existing deployments?

Provisioning best pratices

Author
Change su Giuliano per mostrare la demo ?- In questo caso dopo aver fatto una panoramica sul provisioning delle SharePoint Artifacts credo sia opportuno mostrare la demo sul jsom provisioning.

•What• Do not use custom field types with you

farm solutions

•Why• Data stored in the database will have

dependency on the custom field type, which will cause challenges in migration scenarios

•How• Consider using only field controls for

presentation or use client side rendering for list editor overrides

Custom field type challenge

How to create the custom field with Jslink.

Author
Change su Giuliano per mostrare la demo ?-dopo aver parlato dei custom field mostrare la demo

•What• You create sites using site definitions in

on-premises can be challenging

•Why• Site upgrades cross versions is natively

upgraded and you will need to own the template model by yourself

•How• Consider models where we start with out

of the box site provisioning, which is configured with business requirements

Site definition / web template challenge

“You do not brand Outlook or Word, why do you need to do branding on collaboration sites?”

Applying branding is absolutely supported and understandable for intranet portals, but what about collaboration sites? It is recommended to consider the cost versus gain

Good question…

Branding

Author
Change su Giuliano per mostrare la demo ?- a questo punto mostrerei la demo della console app che esegue il branding.

Recommendations

Transform end user

experience, not code

Understand impact of farm

solutionMove gradually to app model

Avoid Farm & Sandbox solutions

Summary

41

Grazie a tutti per la partecipazione

Riceverete il link per il download a slide e demo via email nei prossimi giorni

Grazie