Top Banner
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
42
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: .netcampus2015 office365dev

Template designed by

BEST PRACTICE TO DEVELOP SOLUTION WITH OFFICE 365

Marco [email protected]

Giuliano De [email protected]

Page 2: .netcampus2015 office365dev

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

Page 3: .netcampus2015 office365dev

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

Page 4: .netcampus2015 office365dev

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

We invest in Microsoft’s evolution

Some cases:

Page 5: .netcampus2015 office365dev

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

Page 6: .netcampus2015 office365dev

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

Page 7: .netcampus2015 office365dev

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

Page 8: .netcampus2015 office365dev

Office 365: the opportunity

Modern App Development

Development guidelines

Demos, demos, demos

Agenda

Page 9: .netcampus2015 office365dev

Office 365 Evolution

9

Page 10: .netcampus2015 office365dev

Office 365 Adoption

10

Page 11: .netcampus2015 office365dev

Office

365

Skype for Business

Exchange online

Azure Active

Directory

SharePoint Online

Yammer

OneDrive for

Business

Office 365 services

11

Page 12: .netcampus2015 office365dev

What’s the future?

12

Page 13: .netcampus2015 office365dev

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

Page 14: .netcampus2015 office365dev

14

Author
dopo questa slide magari farei una demo di un App
Page 15: .netcampus2015 office365dev
Page 16: .netcampus2015 office365dev

Dem

o

SharePoint App

Page 17: .netcampus2015 office365dev

Developer 101http://dev.office.com

Create Office 365 tenantCreate Azure SubscriptionVisual Studio 2013Office 2013

Page 18: .netcampus2015 office365dev

Development modelWhat are the recommendations for the development model?

Page 19: .netcampus2015 office365dev

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

Page 20: .netcampus2015 office365dev

“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.

Page 21: .netcampus2015 office365dev

“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

Page 22: .netcampus2015 office365dev

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

SharePoint farm and they’d impact multiple customers…

No.

Page 23: .netcampus2015 office365dev

What if…

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

Page 24: .netcampus2015 office365dev

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

Page 25: .netcampus2015 office365dev

Transformation processHow to perform the transformation to app model gradually?

Page 26: .netcampus2015 office365dev

“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

Page 27: .netcampus2015 office365dev

“What does this mean in practice?”

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

Page 28: .netcampus2015 office365dev

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

Page 29: .netcampus2015 office365dev

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

Page 30: .netcampus2015 office365dev

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

Page 31: .netcampus2015 office365dev

•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

Page 32: .netcampus2015 office365dev

•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

Page 33: .netcampus2015 office365dev

•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?

Page 34: .netcampus2015 office365dev

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.
Page 35: .netcampus2015 office365dev

•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

Page 36: .netcampus2015 office365dev

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
Page 37: .netcampus2015 office365dev

•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

Page 38: .netcampus2015 office365dev

“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…

Page 39: .netcampus2015 office365dev

Branding

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

Recommendations

Transform end user

experience, not code

Understand impact of farm

solutionMove gradually to app model

Avoid Farm & Sandbox solutions

Page 41: .netcampus2015 office365dev

Summary

41

Page 42: .netcampus2015 office365dev

Grazie a tutti per la partecipazione

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

Grazie