don t fear
play

(Dont Fear) the Features Now with more cowbell. AND DRUPAL 8!! Aimee - PowerPoint PPT Presentation

(Dont Fear) the Features Now with more cowbell. AND DRUPAL 8!! Aimee Degnan / aimee@hook42.com answers@hook42.com Me Aimee Degnan, CEO 1996 Enterprise Web Tech & CMS 2006 PMP, Stanford Advanced PM 2008 Drupal 2010


  1. (Don’t Fear) the Features Now with more cowbell. AND DRUPAL 8!! Aimee Degnan / aimee@hook42.com answers@hook42.com

  2. Me Aimee Degnan, CEO 1996 – Enterprise Web Tech & CMS 2006 – PMP, Stanford Advanced PM 2008 – Drupal 2010 – Agile: Scrum Master, Product Owner aimee@hook42.com @aimeeraed www.hook42.com @hook42inc answers@hook42.com answers@hook42.com

  3. Hook 42 Who are we? A boutique software development firm. Cater to both luxury clients and humanitarian efforts. Specialize in complex projects. Contribute to the community. Focus areas: site rescue, migration / upgrades, multilingual, SEO, responsive design, digital strategy, business process improvements answers@hook42.com answers@hook42.com

  4. Remember when … Drupal has a nice feature, you can create a feature using Features. answers@hook42.com answers@hook42.com

  5. Are you scared yet? answers@hook42.com

  6. Remember when … Drupal has a nice [development and deployment] feature - you can create a feature [on your website] [using the] Features [module]. answers@hook42.com 6 answers@hook42.com

  7. What is the Features module? It exports Drupal configurations in the database to code in the structure of a module. answers@hook42.com answers@hook42.com

  8. Intended Usage of Features Bundle a reusable website feature for reuse on other sites. Site1.com/blog Site2.com/blog Site3.com/blog For example, a custom blog feature = content type + views + block + permissions Feature: h42_awesome_blog answers@hook42.com answers@hook42.com

  9. Adapted Usage of D7 Features Bundle database configurations to code for deployment in a multi-stage publication process for a single web site. example.com Dev à Test à Prod answers@hook42.com answers@hook42.com

  10. D7 Features has a bad reputation Too much work Hard to use Messy Painful Evil Ugh answers@hook42.com answers@hook42.com

  11. Poorly made Features hurts everyone Missing variables Circular & multiple dependencies Missing settings Non-exportable?! Un-tested?!? answers@hook42.com answers@hook42.com

  12. Goal: Fix Configuration Management in D8 core The next-gen cowbell has arrived. answers@hook42.com answers@hook42.com

  13. Isn’t it cute? Less menacing? answers@hook42.com answers@hook42.com

  14. But wait … Is there a D8 version of Features? Yes What does it do? Exports configuration as module code. Do I need it? Depends on your use case. Does Configuration Management replace the use of Features? For configuration exports. Yes. Absolutely. Are there usage considerations with Configuration Management? Yes. Absolutely. answers@hook42.com answers@hook42.com

  15. Improvements Drupal 8 Features Management Interface (single roll-up page) Clearer terminology aligned to core revert->import update->export generate -> write overridden -> changed Namespace management Can bundle Features together Bundle prefix management for module export Automatic packaging / architecting features Automatic namespace management Can configure what is “automatic” answers@hook42.com answers@hook42.com

  16. FEATURES VS. CONFIG MANAGEMENT FOCUS: KNOW WHAT EACH SYSTEM IS REALLY GOOD FOR answers@hook42.com answers@hook42.com

  17. Picking & Choosing Changes Features Configuration Management Nice interface Manual, needs dev skill. Easy to see changes All or none model. Creates modules Core UI is overwhelming. Modules generate an See Config partial export “active config” footprint in module for UI. the Config Management system answers@hook42.com answers@hook42.com

  18. Sharing Features Configuration Management Nice interface. Manual creation of module from YAML exports. Namespace management. Needs more dev skill. Module packaged for you. It can be done. answers@hook42.com answers@hook42.com

  19. Confidence in Exports Features Configuration Management D7 – low to medium. Core config management is great! D8 – much better. Contrib is better off the start. Edge cases and less Edge cases and less supported modules iffy. supported modules better than D7, but still may have issues. answers@hook42.com answers@hook42.com

  20. Confidence in Imports Features Configuration Management D7 – based on Core config management architecture. is great! D8 – much better. Contrib is better off the Zombie fields, deletion start. management. Zombie fields. Dreaded Features “Stuck” imports. Override. answers@hook42.com answers@hook42.com

  21. Command line differences Features Configuration Management features-export fex/fu cex (config-export) features-import fim/fr cim (config-import) D7 (drush cc) cget (config-get) cset (config-set) config-merge D8 (drush cr) answers@hook42.com answers@hook42.com

  22. Watch out for … Conflicts The gotchas. Field Cleanup D7 Features: State based Variables in Strongarm Force, cc all == D7 Features: Circular & drush cim, drush cr Mul>ple Dependencies D7 Features: Files don’t Timing dependency get deleted deployments D7 Features: Things that have an ID D7 Features: Module Incorrect module (role, terms, content) dependencies & patching exports answers@hook42.com answers@hook42.com

  23. Takeaways 1. A Feature is an bundled export of custom configurations and custom YAML code. 2. A Feature is great for sharing. 3. Features, you did well in D7. You are better in D8. 4. Drupal 8 is time for Configuration Management. 5. I’m going to try work without Features in D8. 6. D7 Features best practices help parallel development in D8. 7. I love you, Features. Sort of. ;) answers@hook42.com answers@hook42.com

  24. Reference Links Mike Potter: https://www.phase2technology.com/blog/best- practices-for-cmi-and-features-in-drupal-8/ https://chromatichq.com/blog/drupal-7-features-vs-drupal-8- configuration-management http://nuvole.org/blog/2013/sep/03/configuration- management-and-features-look-drupal-8 https://www.drupal.org/project/config_partial_export https://pantheon.io/blog/configuration-workflow-drupal-8-sites https://pantheon.io/docs/drupal-8-configuration-management/ answers@hook42.com answers@hook42.com

Recommend


More recommend