Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
-
Upload
serge-luca -
Category
Software
-
view
131 -
download
0
Transcript of Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
![Page 1: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/1.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/2.jpg)
Merci aux sponsors!
Platinum
Gold / Or
Silver /
Argent
Organizers /
Organisateur
s
Thanks to our sponsors!
Raffl
e /
Tom
bola
![Page 4: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/4.jpg)
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
Serge Luca
![Page 5: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/5.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/6.jpg)
"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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/7.jpg)
Agenda
![Page 8: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/8.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/9.jpg)
Problématique
![Page 10: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/10.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/11.jpg)
Méthodologie
![Page 12: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/12.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/13.jpg)
• 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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/14.jpg)
L’initiative Office 365 Patterns & Practice
![Page 15: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/15.jpg)
https://github.com/OfficeDev/PnP/wiki
![Page 16: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/16.jpg)
![Page 17: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/17.jpg)
SPCAF
![Page 18: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/18.jpg)
![Page 19: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/19.jpg)
Demo : SPCAF
![Page 20: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/20.jpg)
Patterns de migration
![Page 21: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/21.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/22.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/23.jpg)
![Page 24: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/24.jpg)
http://blog.sharepointexperience.com/
![Page 25: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/25.jpg)
Demo : Alternate CSS
![Page 26: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/26.jpg)
Demo : Responsive Design & CSS
![Page 27: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/27.jpg)
Demo : javascript injection instead of custom master pages
![Page 28: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/28.jpg)
Demo : javascript injection instead of custom controls
![Page 29: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/29.jpg)
Demo : JS links instead of custom fields
![Page 30: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/30.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/31.jpg)
Demo : timer jobs
![Page 32: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/32.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/33.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/34.jpg)
![Page 35: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/35.jpg)
Conclusions
![Page 36: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/36.jpg)
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)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/37.jpg)
Merci [email protected]@[email protected]@sergeluca
![Page 38: Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)](https://reader035.fdocuments.us/reader035/viewer/2022062710/55b545adbb61eb17768b45a1/html5/thumbnails/38.jpg)
Thank you !
Merci !
Online evaluation formEvaluations en ligne
http://tinyurl.com/SPSParis2015