Understanding Drupal 8 Plugin System

msankhala

In Drupal 8 Plugins are the new way of implementing reusable functionality. In this session i'll explain the basic concepts of plugin system and idea behind the plugin. In Drupal 7 whenever we need to create new functionality we used create _info hooks to inform drupal about our new functionality. Now in Drupal 8 _info hooks are replaced by plugin system. In this session i'll walk you through step by step process of creating a plugin and will create a custom plugin.

Plugins have always been there in Drupal since ctools module is introduced. Ctools module comes with plugins system and gives ability to other modules to define their own plugins. Plugins like content_type, access(visibility rules), context, relationships, arguments plugin. 

Views module also provide lots of plugins like: 
row, display, display_extender, style, argument default, argument validator, access, query, cache, pager, exposed_form and localization.

Panels also provide plugins like layouts and styles plugin. Other modules can define their own custom plugins with the help of ctools plugins api, like Context module provide its own plugins.

Drupal 8 plugin system also works on same principle but implementation is different. Several things those were implemented differently in Drupal 7 now implemented using the same Plugin API. Those are entity types, field types, field formatters, and field widgets are now plugins. Blocks and actions are now plugins.


What level of knowledge should attendees have before walking into your session?

This session suite well to Drupal developers. Even if you haven't developed any ctools/Views/Panels plugins in Drupal 7 after attending this session you will know what different things are actually plugins in Drupal 7.
You will understand Drupal 8 plugins system quite well if you have developed few drupal custom modules. If you are quite good with Object Oriented Programming (Oops) then thats a plus point. 


What will your session accomplish and what will attendees walk away having learned?

  • This session will explain well about the Drupal 8 plugins system and how Drupal 8 plugins implementation is different from Drupal 7.

  • How to create new functionality using plugin system which you used to create using info hooks in Drupal 7.
  • You will be able to decide what kind of plugin you need to develop according to your requirement.
     

 

Session Track

Coding and Development

Experience Level

Intermediate

Drupal Version