SlideShare uma empresa Scribd logo
1 de 38
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/
Organisateurs
Thanks to our sponsors!
Raffle/
Tombola
10% de remise avec le code SPSPa15www.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
ShareQL
Isabelle Van Campenhoudt
MVP SQL Server
TheSQLgrrrl.wordpress.com
Bruxelles
Serge Luca
MVP SharePoint
Sergeluca.wordpress.com
Bruxelles
ShareQL.com
"The most strategic
developer surface area
for us is Office 365“
- Satya Nadella
Agenda
• Problématique
• L’initiative Office 365 Patterns & Practice (PnP)
• L’outil SPCAF
• Patterns et Démos
• Conclusions
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
Transformation process
• Readiness with app
model topics
• Hosting decisions
• Network impact
analysis
• Development model
readiness
• Analyze existing
solution usage
• Analyze existing code
and functionality
• Concentrate on
business and
functional
requirements, not on
technology
• 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
• Detailed technical
planning
• Actual app model
solution
implementation
• Typical development
process, including
testing
• 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
https://github.com/OfficeDev/PnP/wiki
Demo : SPCAF
Principaux patterns avec les Add-Ins
Full 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 + css
Event receiver Remote event receiver, scheduled process, workflow
Custom field control JSLink or javascript injection
Site definition Remote provisioning solution
Run With Elevated Privileges App-only authentication
Custom web parts/user control App part, or JavaScript injection
Feature 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
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
• 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
@thesqlgrrrl
sergeluca@shareql.com
@sergeluca
Thank you !
Merci !
Online evaluation form
Evaluations en ligne
http://tinyurl.com/SPSParis2015

Mais conteúdo relacionado

Mais procurados

Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorArthurMaroulier
 
[aOS N°2] DevOps & SharePoint - Michel Hubert
[aOS N°2] DevOps & SharePoint - Michel Hubert[aOS N°2] DevOps & SharePoint - Michel Hubert
[aOS N°2] DevOps & SharePoint - Michel HubertCellenza
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
Angular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindAngular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindPhilippe Didiergeorges
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profilingMSDEVMTL
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge Cellenza
 
Continuous S.A. presentation
Continuous S.A. presentationContinuous S.A. presentation
Continuous S.A. presentationcontinuousphp
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps Devoteam Revolve
 
SPS paris2016 Nintex Session
SPS paris2016 Nintex Session SPS paris2016 Nintex Session
SPS paris2016 Nintex Session Alexandre Joly
 
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020aOS Community
 
Développer avec les technologies Microsoft : productivité et open source
Développer avec les technologies Microsoft : productivité et open sourceDévelopper avec les technologies Microsoft : productivité et open source
Développer avec les technologies Microsoft : productivité et open sourceJulien Chable
 
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure Function
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure FunctionaOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure Function
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure FunctionJulien Chable
 
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...Adrien Clerbois
 
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020aOS Community
 

Mais procurados (19)

Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme Meteor
 
[aOS N°2] DevOps & SharePoint - Michel Hubert
[aOS N°2] DevOps & SharePoint - Michel Hubert[aOS N°2] DevOps & SharePoint - Michel Hubert
[aOS N°2] DevOps & SharePoint - Michel Hubert
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
Angular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium VersusmindAngular2 / Typescript symposium Versusmind
Angular2 / Typescript symposium Versusmind
 
Azure devops
Azure devopsAzure devops
Azure devops
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops Sherbrooke
 
Load test & performance profiling
Load test & performance profilingLoad test & performance profiling
Load test & performance profiling
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge
 
Symposium scrum
Symposium scrumSymposium scrum
Symposium scrum
 
Symposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec MicrosoftSymposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec Microsoft
 
Continuous S.A. presentation
Continuous S.A. presentationContinuous S.A. presentation
Continuous S.A. presentation
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps
 
SPS paris2016 Nintex Session
SPS paris2016 Nintex Session SPS paris2016 Nintex Session
SPS paris2016 Nintex Session
 
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
Migrer vers O365. Quelles stragtégies? - aOS Tahiti 03-03-2020
 
Développer avec les technologies Microsoft : productivité et open source
Développer avec les technologies Microsoft : productivité et open sourceDévelopper avec les technologies Microsoft : productivité et open source
Développer avec les technologies Microsoft : productivité et open source
 
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure Function
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure FunctionaOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure Function
aOS Tahiti 2020 - 28/02/2020 - Le Serverless avec Azure Function
 
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
 
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
 

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

aOS Genève - Session - New Experience & SharePoint Framework
aOS Genève - Session - New Experience & SharePoint FrameworkaOS Genève - Session - New Experience & SharePoint Framework
aOS Genève - Session - New Experience & SharePoint FrameworkJean NETRY-VALERE
 
aOS Toulouse - Session - New Experience & SharePoint Framework
aOS Toulouse - Session - New Experience & SharePoint FrameworkaOS Toulouse - Session - New Experience & SharePoint Framework
aOS Toulouse - Session - New Experience & SharePoint FrameworkJean NETRY-VALERE
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationMicrosoft Technet France
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Alphrom.com Formation Découverte Office 365
Alphrom.com Formation Découverte Office 365Alphrom.com Formation Découverte Office 365
Alphrom.com Formation Découverte Office 365Alphorm
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
Cloud or not Cloud, comment déployer Project… ? That is the question!
Cloud or not Cloud, comment déployer Project…  ? That is the question!Cloud or not Cloud, comment déployer Project…  ? That is the question!
Cloud or not Cloud, comment déployer Project… ? That is the question!Microsoft Technet France
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013Louis-Philippe Lavoie
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec Napa
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec NapaSharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec Napa
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec NapaGuillaume Meyer
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graphVincent Biret
 
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretU1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretSPS Paris
 
Microsoft experience 2016 : Retour d'expérience
Microsoft experience 2016 : Retour d'expérienceMicrosoft experience 2016 : Retour d'expérience
Microsoft experience 2016 : Retour d'expérienceNicolas Gordat
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintexinext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et NintexAlexandre David
 

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

aOS Genève - Session - New Experience & SharePoint Framework
aOS Genève - Session - New Experience & SharePoint FrameworkaOS Genève - Session - New Experience & SharePoint Framework
aOS Genève - Session - New Experience & SharePoint Framework
 
aOS Toulouse - Session - New Experience & SharePoint Framework
aOS Toulouse - Session - New Experience & SharePoint FrameworkaOS Toulouse - Session - New Experience & SharePoint Framework
aOS Toulouse - Session - New Experience & SharePoint Framework
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Alphrom.com Formation Découverte Office 365
Alphrom.com Formation Découverte Office 365Alphrom.com Formation Découverte Office 365
Alphrom.com Formation Découverte Office 365
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Cloud or not Cloud, comment déployer Project… ? That is the question!
Cloud or not Cloud, comment déployer Project…  ? That is the question!Cloud or not Cloud, comment déployer Project…  ? That is the question!
Cloud or not Cloud, comment déployer Project… ? That is the question!
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013Bien comprendre le nouveau modèle Apps de SharePoint 2013
Bien comprendre le nouveau modèle Apps de SharePoint 2013
 
Sp summit2014 session 10-2
Sp summit2014   session 10-2Sp summit2014   session 10-2
Sp summit2014 session 10-2
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec Napa
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec NapaSharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec Napa
SharePoint Summit Quebec 2013 - Votre premiere App SharePoint 2013 avec Napa
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph#SPSParis quoi de neuf avec le microsoft graph
#SPSParis quoi de neuf avec le microsoft graph
 
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent BiretU1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
U1 - Quoi de neuf avec le Microsoft Graph - Vincent Biret
 
Microsoft experience 2016 : Retour d'expérience
Microsoft experience 2016 : Retour d'expérienceMicrosoft experience 2016 : Retour d'expérience
Microsoft experience 2016 : Retour d'expérience
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintexinext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
 
Introduction au développement en SharePoint
Introduction au développement en SharePointIntroduction au développement en SharePoint
Introduction au développement en SharePoint
 

Mais de serge luca

F17_Unified Governance for Power Automate, Power Apps, Power BI
F17_Unified Governance for Power Automate, Power Apps,  Power BIF17_Unified Governance for Power Automate, Power Apps,  Power BI
F17_Unified Governance for Power Automate, Power Apps, Power BIserge luca
 
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...serge luca
 
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...serge luca
 
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...serge luca
 
Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...serge luca
 
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...AOS Germany- 2020-Advanced Business Process Management with Power Automate an...
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...serge luca
 
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...serge luca
 
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...serge luca
 
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor FlowPower Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flowserge luca
 
Microsoft flow best practices with Doctor Flow. PowerSaturday 2019, Paris
Microsoft flow best practices with Doctor Flow. PowerSaturday  2019, ParisMicrosoft flow best practices with Doctor Flow. PowerSaturday  2019, Paris
Microsoft flow best practices with Doctor Flow. PowerSaturday 2019, Parisserge luca
 
Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019serge luca
 
Doctor Flow: Enterprise Flows best practices - patterns (SharePoint Saturday...
Doctor Flow:  Enterprise Flows best practices - patterns (SharePoint Saturday...Doctor Flow:  Enterprise Flows best practices - patterns (SharePoint Saturday...
Doctor Flow: Enterprise Flows best practices - patterns (SharePoint Saturday...serge luca
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)serge luca
 
Using microsoft flow in real world projects 2 years later and what's next
Using microsoft flow in real world projects 2 years later and what's nextUsing microsoft flow in real world projects 2 years later and what's next
Using microsoft flow in real world projects 2 years later and what's nextserge luca
 
ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...serge luca
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018serge luca
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...serge luca
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...serge luca
 
Microsoft Flow : what you need to know before starting a real project
Microsoft Flow : what you need to know before starting a real projectMicrosoft Flow : what you need to know before starting a real project
Microsoft Flow : what you need to know before starting a real projectserge luca
 
Make your SharePoint fly by tuning and optimizing SQL Server
Make your SharePoint  fly by tuning and optimizing SQL ServerMake your SharePoint  fly by tuning and optimizing SQL Server
Make your SharePoint fly by tuning and optimizing SQL Serverserge luca
 

Mais de serge luca (20)

F17_Unified Governance for Power Automate, Power Apps, Power BI
F17_Unified Governance for Power Automate, Power Apps,  Power BIF17_Unified Governance for Power Automate, Power Apps,  Power BI
F17_Unified Governance for Power Automate, Power Apps, Power BI
 
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
 
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...
Team Nation 2022 - How to choose between Dataverse, SQL Azure, SharePoint lis...
 
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with D...
 
Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...
 
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...AOS Germany- 2020-Advanced Business Process Management with Power Automate an...
AOS Germany- 2020-Advanced Business Process Management with Power Automate an...
 
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...
Rencore Power Automate Mini Summit : Power Automate Business Process Manageme...
 
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...
How to become a Power Automate/Flow hero with Doctor Flow (Session online SPS...
 
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor FlowPower Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
 
Microsoft flow best practices with Doctor Flow. PowerSaturday 2019, Paris
Microsoft flow best practices with Doctor Flow. PowerSaturday  2019, ParisMicrosoft flow best practices with Doctor Flow. PowerSaturday  2019, Paris
Microsoft flow best practices with Doctor Flow. PowerSaturday 2019, Paris
 
Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019Doctor Flow- Best practices Microsoft flow - Techorama 2019
Doctor Flow- Best practices Microsoft flow - Techorama 2019
 
Doctor Flow: Enterprise Flows best practices - patterns (SharePoint Saturday...
Doctor Flow:  Enterprise Flows best practices - patterns (SharePoint Saturday...Doctor Flow:  Enterprise Flows best practices - patterns (SharePoint Saturday...
Doctor Flow: Enterprise Flows best practices - patterns (SharePoint Saturday...
 
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
Microsoft flow best practices SharePoint Saturday Bremen 2019 (Germany)
 
Using microsoft flow in real world projects 2 years later and what's next
Using microsoft flow in real world projects 2 years later and what's nextUsing microsoft flow in real world projects 2 years later and what's next
Using microsoft flow in real world projects 2 years later and what's next
 
ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...ESPC18 Copenhagen session : Energize your application developments with micro...
ESPC18 Copenhagen session : Energize your application developments with micro...
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018
 
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
Microsoft Flow session : tips, pitfalls, warnings to be known before starting...
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
 
Microsoft Flow : what you need to know before starting a real project
Microsoft Flow : what you need to know before starting a real projectMicrosoft Flow : what you need to know before starting a real project
Microsoft Flow : what you need to know before starting a real project
 
Make your SharePoint fly by tuning and optimizing SQL Server
Make your SharePoint  fly by tuning and optimizing SQL ServerMake your SharePoint  fly by tuning and optimizing SQL Server
Make your SharePoint fly by tuning and optimizing SQL Server
 

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

  • 1. Patterns pour porter son code vers Office 365 • #SPSParis D06 • Serge Luca • 30 Mai 2015 / May 30th, 2015
  • 3. 10% de remise avec le code SPSPa15www.sharepointeurope.com
  • 4. 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
  • 5. ShareQL Isabelle Van Campenhoudt MVP SQL Server TheSQLgrrrl.wordpress.com Bruxelles Serge Luca MVP SharePoint Sergeluca.wordpress.com Bruxelles ShareQL.com
  • 6. "The most strategic developer surface area for us is Office 365“ - Satya Nadella
  • 7.
  • 8. Agenda • Problématique • L’initiative Office 365 Patterns & Practice (PnP) • L’outil SPCAF • Patterns et Démos • Conclusions
  • 9.
  • 10. 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
  • 11.
  • 12. Transformation process • Readiness with app model topics • Hosting decisions • Network impact analysis • Development model readiness • Analyze existing solution usage • Analyze existing code and functionality • Concentrate on business and functional requirements, not on technology • 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 • Detailed technical planning • Actual app model solution implementation • Typical development process, including testing • App solution deployment • Existing content retrofitting • Farm solution retraction
  • 13. • 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
  • 14.
  • 16.
  • 17.
  • 18.
  • 20.
  • 21. Principaux patterns avec les Add-Ins Full 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 + css Event receiver Remote event receiver, scheduled process, workflow Custom field control JSLink or javascript injection Site definition Remote provisioning solution Run With Elevated Privileges App-only authentication Custom web parts/user control App part, or JavaScript injection Feature receiver, DelegateControl, application page None – but other approaches possible
  • 22. 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 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
  • 23.
  • 27. Demo : javascript injection instead of custom master pages
  • 28. Demo : javascript injection instead of custom controls
  • 29. Demo : JS links instead of custom fields
  • 30. 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
  • 31. Demo : timer jobs
  • 32. 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)
  • 33. 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
  • 34.
  • 35.
  • 36. 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
  • 38. Thank you ! Merci ! Online evaluation form Evaluations en ligne http://tinyurl.com/SPSParis2015

Notas do Editor

  1. Template may not be modified Twitter hashtag: #spsparis for all sessions Keep the flags corresponding to your session
  2. Why? The key to enterprise productivity going forward Microsoft’s strategic advantage in the Enterprise Partners and Developers are key to its success
  3. Insister que le code server sera bien supporté dans le futur et qu’il n’est pas nécessaire de le transformer en code client si on n’a un gros investissement et qu’on n’a pas d’intérêt immédiat de passer dans le cloud Que dans le futur l’hybride sera populaire et donc que l’ancien code peut continuer à fonctionner Todo : parler de ceci https://github.com/OfficeDev/PnP-Guidance/blob/master/articles/Transform-farm-solutions-to-the-SharePoint-app-model.md High trusted apps https://msdn.microsoft.com/library/office/fp179901(v=office.15)
  4. Insister sur le fait qu’on ne peut pas tout voir durant la session, on va parler du readiness, de l’assessment et de l’implémentation Lire https://github.com/OfficeDev/PnP-Guidance/blob/master/articles/Transform-farm-solutions-to-the-SharePoint-app-model.md
  5. Méfiance : Ex la possibilité de configuer un document set n’est dispo que depuis l’update de mars 2015
  6. Insister que le code server sera bien supporté dans le futur et qu’il n’est pas nécessaire de le transformer en code client si on n’a un gros investissement et qu’on n’a pas d’intérêt immédiat de passer dans le cloud Que dans le futur l’hybride sera populaire et donc que l’ancien code peut continuer à fonctionner Todo : parler de ceci https://github.com/OfficeDev/PnP-Guidance/blob/master/articles/Transform-farm-solutions-to-the-SharePoint-app-model.md High trusted apps https://msdn.microsoft.com/library/office/fp179901(v=office.15)
  7. Workflow and app permission feature TaskContentType feature appinv.aspx <AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" /> </AppPermissionRequests>
  8. http://blog.sharepointexperience.com/2015/02/sptechcon-austin-february-2015/#more-2766
  9. C:\Users\serge\Source\Repos\PnP3\Samples\Core.EmbedJavaScript Avec video http://channel9.msdn.com/Blogs/Office-365-Dev/JavaScript-injection-in-SharePoint-Online-Office-365-Developer-Patterns-and-Practices http://aaclage.blogspot.com/2013/12/how-to-include-user-custom-actions-and.html
  10. C:\Users\serge\Source\Repos\PnP3\Samples\Core.EmbedJavaScript.WeekNumbers
  11. C:\Users\serge\Source\Repos\PnP3\Samples\Branding.ClientSideRendering\Branding.ClientSideRendering +
  12. http://channel9.msdn.com/Blogs/Office-365-Dev/Simple-remote-timer-job-that-interacts-with-SharePoint-Online-Office-365-Developer-Patterns-and-Prac http://channel9.msdn.com/blogs/OfficeDevPnP/Introduction-to-the-PnP-timer-job-framework
  13. C:\Users\serge\Source\Repos\PnP3\Samples\Branding.ClientSideRendering\Branding.ClientSideRendering
  14. http://channel9.msdn.com/Events/Ignite/2015/BRK4117