Rewriting Contributed Modules for Drupal 8

Many of us have been following the main Drupal 8 initiatives to some degree, and we know that things have changed. At the same time, the scope of the changes may be unclear. So we may ask:

  • "What exactly has changed?"
  • "How hard is it to port a Drupal 7 module to Drupal 8?"
  • "Will I have to learn a lot of new PHP patterns?"
  • "Can I use Coder Upgrade( again)?"

To explore these questions, I worked on porting my main contributed module. I found a lot of answers. I'm going to continue porting it to Drupal 8 and delving deeper into these questions. Time permitting, I'll show you the fruits of my labor — the working module running in Drupal 8.

I'll primarily detail my experience learning Drupal 8 and my impressions after having been deeper in the code. I will also share useful tips and resources that will hopefully save you time when you attempt the same.

Do you maintain a module, whether contributed or custom? This talk is for you.

(The module I worked on porting was FillPDF.)

P.S. You may notice that I used the word rewriting, not porting, in this talk. That's because at the code level, it's basically a rewrite, and you should view it that way. It's not too bad, since you already know what the module you are porting should do, but there is a lot to learn.