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

Post on 27-Jul-2015

131 views 0 download

Tags:

Transcript of 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

Merci aux sponsors!

Platinum

Gold / Or

Silver /

Argent

Organizers /

Organisateur

s

Thanks to our sponsors!

Raffl

e /

Tom

bola

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

Serge Luca

Serge Luca

SharePoint MVP, Bruxelles

Consultant, speaker, trainer

Managing partner de www.ShareQL.com

SharePoint depuis 2001

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

sergeluca@ShareQL.com

@SergeLuca

Serge Luca

Share

QL

• 5

Isabelle Van CampenhoudtMVP SQL ServerTheSQLgrrrl.wordpress.comBruxelles

Serge LucaMVP SharePointSergeluca.wordpress.comBruxelles

ShareQL.com

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

Agenda

Agenda

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

Problématique

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

Méthodologie

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

• 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

L’initiative Office 365 Patterns & Practice

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

SPCAF

Demo : SPCAF

Patterns de migration

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

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

http://blog.sharepointexperience.com/

Demo : Alternate CSS

Demo : Responsive Design & CSS

Demo : javascript injection instead of custom master pages

Demo : javascript injection instead of custom controls

Demo : JS links instead of custom fields

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

Demo : timer jobs

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)

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

Conclusions

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

Merci !ivc@shareql.com@thesqlgrrrlsergeluca@shareql.com@sergeluca

Thank you !

Merci !

Online evaluation formEvaluations en ligne

http://tinyurl.com/SPSParis2015