Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

More Related Content

You Might Also Like

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Upgrading to Sitecore 9

  1. 1. Upgrading to Sitecore 9 The (rocky) road to enlightenment
  2. 2. Disclaimer All information in this presentation is provided with no warranty of any kind.
  3. 3. Where shall I start? • Read Upgrade Guide on dev.sitecore.net? • Follow steps from Upgrade Guide on your local machine? This is likely not going to work on a large solution
  4. 4. Task breakdown Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules
  5. 5. How long will it take? • «It depends» (but not by Monday!) • Customizations (Speak-Apps, Custom dialogs,…) • Modules (EXM, WFFM, Commerce, 3rd party) • Complexity of codebase • Complexity of environments / roles (Staging, QA, Processing) Plan for several sprints
  6. 6. Project planning Migrate Codebase Migrate Data Migrate Infrastructure Partial Regression testing Regression testing Load testing Final testing Go live Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules Content Freeze Repeat as needed Disable modules at first
  7. 7. Expect things to fail! • Smoke tests are not enough! • Thorough regression testing • Authoring functionality • Modules and 3rd party code • Customizations (Dialogs, Ribbons, Pipelines…) • In-depth technical testing • Load tests • Log analysis • Background jobs • Indexing • xConnect • Monitoring tools • Disaster recovery plans
  8. 8. Expect things to fail! • Manage expectations of Business users and Stakeholders
  9. 9. Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules
  10. 10. Express or Standard? • Express Migration Tool https://dev.sitecore.net/Downloads/Express_Migration_Tool.aspx • Applies to Sitecore 6.6,7.2, 7.5 or 8.0 • Migrates content items and media • Migrates All users, roles and security permissions • Assists with configuration migrations • Migrates Web Forms For Marketers items and data • Update Package (Standard) • Applies to Sitecore 8.1, 8.2, 9.x • Migates master + core databases • Assists with configuration migrations • No WFFM migration
  11. 11. Update Package • All required steps are described in the Upgrade Guide of the version you’re upgrading to Must read and follow!! • Package Installation Wizard • Assists with config transformations • Migrates databases • Warns if modified items will be overwritten • Warns if items are missing • Warns if deprecated API is used (less useful)
  12. 12. Update Package • Speed up things 1. Set up a clean Sitecore solution with same revision as yours (i.E. 8.1 Update-2) 2. Point connection strings to core + master database that need to be upgraded 3. Run Update Package only with option «Install items» 300GB Master database in 45mins
  13. 13. Migrate xDB to xConnect • Use xDB Data Migration Tool • Process will take several days! • Likely to fail • Backup plan? • Identify exactly what data Business needs • Manually extract specific data from MongoDB and create xConnect interactions / contacts • Dump all other data xDB Useful data Other data
  14. 14. Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules
  15. 15. Apply best Practices first • Always patch configs, never change them directly Helix Docs • Separate implementation files from standard frameworks and files • Separate repository from webroot  Helix Docs
  16. 16. Update dependencies • Update Target framework • Use Nuget Packages from sitecore.myget.org • Use .NoReferences packages! • Good practice: Remove all Sitecore dlls from your repo • Update common Nuget packages to match versions used by Sitecore • Newtonsoft.json • Antlr • … • Apply Assembly redirects in web.config
  17. 17. Cleanup Support dlls/patches • Remove all obsolete Sitecore Support patches • Patch configs • References in Items • Files (i.E. override xmls) • How do I know if it is obsolete? • Not always easy • My Documentaion of Support Tickets • Sitecore Support Github https://github.com/SitecoreSupport/ • Sitecore Release notes • Decompile code of Support dll
  18. 18. Apply API changes • xDB Identify()  new source field • xDB Facets • Caution: Code will still compile and work, but facets aren’t saved after session ends. Saving facets needs to be done through xConnect Details Dynamic placeholders Migrate with Powershell depending on your implementation Example • Most API changes around Sitecore 8.2 • IoC  Details • Caching  Details • Code in Globals.asax ignored Use initialize pipeline instead
  19. 19. Apply config changes • New layered configuration Details • Sitecore • Modules • Custom (include) • Environment Do not touch! Your config goes here
  20. 20. Apply config changes • Rule-based config  Details • No need for custom config transformation for CM/CD/Processing,… • Preview config transformations with new Admin Page «Show Config Layers»
  21. 21. Apply config changes • .patch.config files for modified Sitecore configs • Manually check each .patch.config for plausibility • Manally check if .patch.configs need to be required to specific role (CD / CM / …) • SOLR Config changes Details • Example config provided in App_config/Include/Examples • New DocumentOptions node
  22. 22. Modified Sitecore.config? «You’re on your own, mate» • Only configs in App_Config/Include are transformed to .patch.config files • Manually extract your config changes to patch configs • Prefetch.config & Co Manually merge
  23. 23. Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules
  24. 24. Migrate WFFM • When not using Express Migration, install update packages Step-By-Step • To 8.2 initial  UpgradePostSteps for 8.2 will fail! Use my Admin page instead • To 9.0 initial • To 9.0 Update-2 • Very little API change
  25. 25. Migrate WFFM to SC Forms?
  26. 26. Migrate EXM • Email Experience Manager is now integrated into standard installation • Payed subscription still required though • Migration tool for legacy lists to xConnect See documentation
  27. 27. Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules
  28. 28. New server requirements • SQL Server 2016 • Solr 6 with SSL • IIS • SSL bindings • Multiple hosts (xConnect, Site) • Windows Services Details see Upgrade Guide
  29. 29. MongoDB or SQL? «It depends» • SQL as data storage for xConnect • No separate server to maintain • SQL Server Know-how usually already in-house • MongoDB hosting in cloud can be tricky • MongoDB for xConnect • Is officially supported since Sitecore 9.0 Update-2
  30. 30. New Roles
  31. 31. Infrastructure • Create SIF Scripts for each role • Based on XP Scaled • Protip: disable Database deployment in archive.xml of Web Deploy packages • Include your certificates • Extend monitoring • xConnect endpoint • Marketing Automation service
  32. 32. SOLR Managed Schema • New managed schema  Details • Still possible to use legacy schema.xml files  Details • Customizations on Schema • Add / Remove / Modify field types and fields  Solr docs • Blogpost with example implementation Details
  33. 33. Recap Migrate Codebase Migrate Data Migrate Infrastructure Partial Regression testing Regression testing Load testing Final testing Go live Migrate Codebase Migrate Infrastructure Migrate Data Upgrade Modules Content Freeze Repeat as needed Disable modules at first
  34. 34. Key takeaways • Applying best practices helps greatly with upgrades • Expect things to fail: Thorough testing is required • Splitting Upgrade process into separate steps makes process more manageable • Migrating xDB data to xConnect is currently shaky

×