patterns pour porter son code sharepoint vers office 365 (sharepoint saturday paris 2015)

38
Patterns pour porter son code vers Office 365 #SPSParis D06 Serge Luca • 30 Mai 2015 / May 30 th , 2015

Upload: serge-luca

Post on 27-Jul-2015

133 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Patterns pour porter son code vers Office 365• #SPSParis D06• Serge Luca• 30 Mai 2015 / May 30th, 2015

Page 2: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Merci aux sponsors!

Platinum

Gold / Or

Silver /

Argent

Organizers /

Organisateur

s

Thanks to our sponsors!

Raffl

e /

Tom

bola

Page 3: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

10% de remise avec le code SPSPa15 www.sharepointeurope.com

Page 4: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Serge Luca

Serge Luca

SharePoint MVP, Bruxelles

Consultant, speaker, trainer

Managing partner de www.ShareQL.com

SharePoint depuis 2001

Blog: http://sergeluca.wordpress.com/

[email protected]

@SergeLuca

Serge Luca

Page 5: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Share

QL

• 5

Isabelle Van CampenhoudtMVP SQL ServerTheSQLgrrrl.wordpress.comBruxelles

Serge LucaMVP SharePointSergeluca.wordpress.comBruxelles

ShareQL.com

Page 6: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

"The most strategic developer surface area for us is Office 365“ - Satya Nadella

Page 7: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Agenda

Page 8: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Agenda

• Problématique• L’initiative Office 365 Patterns & Practice (PnP)• L’outil SPCAF• Patterns et Démos• Conclusions

Page 9: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Problématique

Page 10: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Les faits• Le FTC (Full Trusted Code) ne fonctionnera jamais

dans Office 365 !• Créer des add-ins au sens large : appels distants à

SP (CAM = Cloud App Model)• Applications console• PowerShell• add-ins au sens strict (SharePoint ou Provider hosted)

• Microsoft n’abandonnera jamais l’API Server !• Utilisé par les API clients

• Le branding via des Custom Master Pages est supporté dans Office 365• Dangereux et non conseillé par Microsoft

• Eviter le feature Framework• Dépendance au file system

Page 11: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Méthodologie

Page 12: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Transformation processReadiness

• Readiness with app model topics

• Hosting decisions• Network impact

analysis• Development model

readiness

Assessment

• Analyze existing solution usage

• Analyze existing code and functionality

• Concentrate on business and functional requirements, not on technology

Planning

• App model solution planning and design

• What patterns and models are used for different solutions

• What solutions can be converted to out of the box capabilities

Implementation

• Detailed technical planning

• Actual app model solution implementation

• Typical development process, including testing

Deployment

• App solution deployment

• Existing content retrofitting

• Farm solution retraction

Page 13: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

• Readiness • Se plonger à fond dans Office 365 Patterns & Practice• Se plonger à fond dans l’Office 365 API• Se plonger à fond dans l’Office Graph• Méfiance, tout n’est pas possible dans O365

• Assessment• Utiliser l’outil SPCAF

Page 14: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

L’initiative Office 365 Patterns & Practice

Page 15: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

https://github.com/OfficeDev/PnP/wiki

Page 16: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Page 17: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

SPCAF

Page 18: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Page 19: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : SPCAF

Page 20: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Patterns de migration

Page 21: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Principaux patterns avec les Add-InsFull trust (farm) solution Remote code/apps

Timer job Scheduled process in Azure (CSOM to read/write to SP), or on Prem Console App

Master Page Javascript injection + cssEvent receiver Remote event receiver, scheduled process, workflowCustom field control JSLink or javascript injectionSite definition Remote provisioning solutionRun With Elevated Privileges App-only authenticationCustom web parts/user control App part, or JavaScript injectionFeature receiver, DelegateControl, application page

None – but other approaches possible

Page 22: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Custom Master Page

• Full control on how the site is rendered

• Applied one by one to each site, except for publishing sites

• Any updates to oob master pages are not automatically reflected on the sites

• Use javascript injection instead

Alternate CSS

• Can be used to override whatever CSS settings

• Control to color, fonts and even layout settings

• Configuration applied to each site

• Can be used to provide responsive user experiences

Theme

• Can be used to control branding, fonts and background image of the sites

• Configuration applied to each site

Options

Flexibility

Cost impact (short and long term)

Support

Branding options for SharePoint sites

UnlimitedGoodAverageFair

only

Office 365 Themes

• Can be used to centrally control branding cross all services in the Office 365

• Limited settings currently

• Can be overridden in site level

• Only in Office 365, not in on-premises

Page 23: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Page 24: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

http://blog.sharepointexperience.com/

Page 25: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : Alternate CSS

Page 26: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : Responsive Design & CSS

Page 27: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : javascript injection instead of custom master pages

Page 28: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : javascript injection instead of custom controls

Page 29: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : JS links instead of custom fields

Page 30: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Timer jobs

• Extrêmement utiles• Solution 1. Console application On Prem – avec une

tache Windows(Task Scheduler)

• Solution 2.Console Application Azure Webjobs• Danger : ne pas tomber dans l’excès de timer jobs,

penser aux workflows• Remarque : il existe un TimerJob Framework dans PnP

Page 31: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Demo : timer jobs

Page 32: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Site Provisioning

• Un Site Provisioning framework est en cours de développement• Permet de • Télécharger le template d’un site• Créer des sites ou des site collections sur base de ces

templates• D’appliquer les changements par rapport à un site de

référence (deltas)

Page 33: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Le futur: Applications Office 365

• Avec l’Office 365 API• Autorisation par application définie dans Azure AD par

l’Administrateur AD (« Common Consent Framework)• OpenID et OAuth2• Access token compatible avec ceux de SharePoint

Page 34: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Page 35: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Conclusions

Page 36: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Conclusions

• Toujours partir du fonctionnel• Etudier les exemples O365 PnP• Garder les patterns en tête• Le Site Provisionning framework est important• Le CAM est également utile On Prem (stabilité+rapidité

de migration)• Office 365 API et Azure AD

Page 37: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Merci [email protected]@[email protected]@sergeluca

Page 38: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

Thank you !

Merci !

Online evaluation formEvaluations en ligne

http://tinyurl.com/SPSParis2015