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
SharePoin...
ShareQL
Isabelle Van Campenhoudt
MVP SQL Server
TheSQLgrrrl.wordpress.com
Bruxelles
Serge Luca
MVP SharePoint
Sergeluca.wo...
"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
• Conclusio...
Les faits
• Le FTC (Full Trusted Code) ne fonctionnera jamais dans Office
365 !
• Créer des add-ins au sens large : appels...
Transformation process
• Readiness with app
model topics
• Hosting decisions
• Network impact
analysis
• Development model...
• Readiness
• Se plonger à fond dans Office 365 Patterns & Practice
• Se plonger à fond dans l’Office 365 API
• Se plonger...
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 (CSO...
Custom Master Page
• Full control on how
the site is rendered
• Applied one by one to
each site, except for
publishing sit...
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)
• Solu...
Demo : timer jobs
Site Provisioning
• Un Site Provisioning framework est en cours de développement
• Permet de
• Télécharger le template d’u...
Le futur: Applications Office 365
• Avec l’Office 365 API
• Autorisation par application définie dans Azure AD par
l’Admin...
Conclusions
• Toujours partir du fonctionnel
• Etudier les exemples O365 PnP
• Garder les patterns en tête
• Le Site Provi...
Merci !
ivc@shareql.com
@thesqlgrrrl
sergeluca@shareql.com
@sergeluca
Thank you !
Merci !
Online evaluation form
Evaluations en ligne
http://tinyurl.com/SPSParis2015
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)
Upcoming SlideShare
Loading in …5
×

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

550 views

Published on

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

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
550
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Template may not be modified
    Twitter hashtag: #spsparis for all sessions

    Keep the flags corresponding to your session
  • Why?

    The key to enterprise productivity going forward
    Microsoft’s strategic advantage in the Enterprise
    Partners and Developers are key to its success

  • 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)
  • 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
  • Méfiance : Ex la possibilité de configuer un document set n’est dispo que depuis l’update de mars 2015
  • 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)
  • Workflow and app permission feature
    TaskContentType feature
    appinv.aspx
    <AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" /> </AppPermissionRequests>
  • http://blog.sharepointexperience.com/2015/02/sptechcon-austin-february-2015/#more-2766
  • 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
  • C:\Users\serge\Source\Repos\PnP3\Samples\Core.EmbedJavaScript.WeekNumbers
  • C:\Users\serge\Source\Repos\PnP3\Samples\Branding.ClientSideRendering\Branding.ClientSideRendering
    +
  • 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
  • C:\Users\serge\Source\Repos\PnP3\Samples\Branding.ClientSideRendering\Branding.ClientSideRendering
  • http://channel9.msdn.com/Events/Ignite/2015/BRK4117
  • Patterns pour porter son code SharePoint vers Office 365 (SharePoint Saturday Paris 2015)

    1. 1. Patterns pour porter son code vers Office 365 • #SPSParis D06 • Serge Luca • 30 Mai 2015 / May 30th, 2015
    2. 2. Merci aux sponsors!Platinum Gold/ Or Silver/ Argent Organizers/ Organisateurs Thanks to our sponsors! Raffle/ Tombola
    3. 3. 10% de remise avec le code SPSPa15www.sharepointeurope.com
    4. 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. 5. ShareQL Isabelle Van Campenhoudt MVP SQL Server TheSQLgrrrl.wordpress.com Bruxelles Serge Luca MVP SharePoint Sergeluca.wordpress.com Bruxelles ShareQL.com
    6. 6. "The most strategic developer surface area for us is Office 365“ - Satya Nadella
    7. 7. Agenda • Problématique • L’initiative Office 365 Patterns & Practice (PnP) • L’outil SPCAF • Patterns et Démos • Conclusions
    8. 8. 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
    9. 9. 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
    10. 10. • 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
    11. 11. https://github.com/OfficeDev/PnP/wiki
    12. 12. Demo : SPCAF
    13. 13. 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
    14. 14. 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
    15. 15. http://blog.sharepointexperience.com/
    16. 16. Demo : Alternate CSS
    17. 17. Demo : Responsive Design & CSS
    18. 18. Demo : javascript injection instead of custom master pages
    19. 19. Demo : javascript injection instead of custom controls
    20. 20. Demo : JS links instead of custom fields
    21. 21. 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
    22. 22. Demo : timer jobs
    23. 23. 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)
    24. 24. 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
    25. 25. 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
    26. 26. Merci ! ivc@shareql.com @thesqlgrrrl sergeluca@shareql.com @sergeluca
    27. 27. Thank you ! Merci ! Online evaluation form Evaluations en ligne http://tinyurl.com/SPSParis2015

    ×