the drupal 8 plugin system: extensibility for all (drupalaton 2015)
Post on 17-Aug-2015
158 Views
Preview:
TRANSCRIPT
- 1. THE DRUPAL 8 PLUGIN SYSTEM: EXTENSIBILITY FOR ALL I am , , and .Xano @BartFeenstra http://mynameisbart.com
- 2. WHAT ARE PLUGINS? Swappable extensions that provide logic for a specific (set of) task(s) Uniquely identifiable Metadata Multiple instances can co-exist (reuse)
- 3. DRUPAL 7 PLUGINS Hook discovery (core and most contributed modules) File-based discovery (ctools) Magic hooks/callbacks/includes Some plugins are classed
- 4. SAY WHAT?
- 5. DRUPAL 8 PLUGINS Are classed. Always. Should implement interfaces. Consistent API for discovering and instantiating plugins, regardless of type.
- 6. NO MORE DARK MAGIC
- 7. JARGON, DO YOU SPEAK IT?
- 8. PLUGIN TYPE
- 9. PLUGIN (DEFINITION)
- 10. PLUGIN DISCOVERY
- 11. PLUGIN FACTORY
- 12. PLUGIN MANAGER (DISCOVERY + FACTORY + ...)
- 13. PLUGIN INSTANCE
- 14. PLUGIN CONFIGURATION
- 15. RECREATING/CLONING PLUGIN INSTANCES Using Plugin type/manager, ID, and configuration through ConfigurablePluginInterface.
- 16. DISCOVERY METHODS Annotated class discovery (mostly different logic) YAML discovery (mostly reused logic) Static discovery (testing) Hook discovery (deprecated)
- 17. ANNOTATED CLASS DISCOVERY
- 18. YAML DISCOVERY system.admin: title: Administration route_name: system.admin weight: 9 menu_name: admin system.admin_content: title: Content description: 'Find and manage content.' route_name: system.admin_content parent: system.admin weight: -10 system.admin_structure: route_name: system.admin_structure parent: system.admin description: 'Administer blocks, content types, menus, etc.' title: Structure weight: -8
- 19. FORMS
- 20. DERIVATIVES One base plugin definition can be dynamically expanded into multiple derivative plugin definitions.
- 21. THERE'S A MODULE FOR THAT http://drupal.org/project/plugin
- 22. PLUGIN TYPE DISCOVERY
- 23. ADMINISTRATIVE OVERVIEW
- 24. CONFIGURATION SCHEMAS plugin.plugin_configuration.*.*
- 25. TYPED PLUGIN DEFINITION API Now: PluginDefinitionMapperInterface Future: PluginDefinitionInterface
- 26. PLUGIN SELECTORS
- 27. FIELD TYPES/WIDGETS/FORMATTER S
- 28. CONCLUSION EXTENDING DRUPAL HAS NEVER BEEN EASIER. Review this presentation at .http://slideshare.net/bartfeenstra Find the Plugin module at .http://drupal.org/project/plugin I am , , and .Xano @BartFeenstra http://mynameisbart.com DO YOU HAVE ANY QUESTIONS? subsetsum @ Flickr (CC BY-NC-ND 2.0)
top related