Drupal 8 won't kill your kittens: part 4 of 4 - module upgrades and more
Part 4 of 4 – On October 4/5, 2013 (depending on your time zone), I hosted a live Hangout on Air with three major Drupal core contributors: Lee Rowlands (larowlan), Tim Plunket (tim.plunkett / @timplunkett), and Daniel Wehner (dawehner / @da_wehner). We talked about what's going on in Drupal 8 and how you will benefit from all the new stuff. This post is the last of four that cover the details of that conversation.
Here, we talk about upgrading modules to Drupal 8, touch on theming in Drupal 8, and name Drupal 8's most compelling feature according to each of my guests.
In part 1, you can meet Lee Rowlands, Daniel Wehner, and Tim Plunkett and hear about the events that led to this conversation.
In part 2, you can read, see, and hear about wins for developers in the entity/field and plugin systems in Drupal 8.
In part 3, you can read, see, and hear us tackle the questions "Why do some people think Drupal 8 is 'too hard'?", talk about "tribal skills", how Drupal's core team plans and makes decisions, and the whether Drupal 8 is "code heavy".
Backstory – Lee Rowlands felt "We do a lot of introspection and critical analysis in open source and Drupal, that's what makes it great. But sometimes I think we don't stop and celebrate the wins. And that some of the noise going on around the Drupal 8 developer experience didn't touch on all the wins that we're getting from the changes in Drupal 8. He wrote a blog post and gave a presentation at the Melbourne users group outlining some of the many ways Drupal 8 will be a great experience for developers.
Is themeing going to be easier in Drupal 8?
Probably :-) ... We've adopted a templating engine called Twig, which is maintained by Sensio Labs, the same folks who look after the Symfony2 framework. Since Twig is "Proudly Found Elsewhere", the Drupal community is joining a large community of Twig users and maintainers from a variety of other projects. This gives us all the benefits of joining forces with another, vibrant open source community.
Twig will be the subject of some of my upcoming podcasts or live broadcasts, so start putting together your questions! In the meantime, the Twig homepage itself contains useful information (and code samples!) about why Twig is a great templating engine. It is also a gateway to Twig's spectacular documentation, and much more.
My gut feeling on this is similar to the pattern that's emerging around D8 in general. There's a bunch of new stuff to learn, but that stuff is unified within Drupal and it's a bunch of skills and knowledge that are useful and applicable outside of Drupal, too.
Should I upgrade my module to Drupal 8 now?
As of early/mid October 2013, the answer is "not yet".
"Where's the best place to look for code examples for module developers?" - As of this recording and writing, it is slightly too early to upgrade your contributed modules and expect them to remain production ready. As Tim Plunkett points out, "If you want to port your module [now], you're doing it for core, not for contrib., because you're helping us find inconsistencies and bugs," in Drupal 8's core, "You're going to have to update it a couple more times. If you want to participate like that, that would be really awesome."
Drupal 8 core is not yet stable enough to provide the final word on APIs and other internals. The Pants and Example modules (the go-to resources for module work in stable, Drupal releases, they contain solid example code and implementations for commonly-used systems) are works in progress right now.
A couple of useful starting points:
- If you want to learn about getting "vanilla plugins" running as quickly as possible, look at Tour module and its APi documentation.
- If you want to use plugins that have dynamic configuration, the Action module is really great (see here and its API documentation).
- Asking about specific issues on IRC can be helpful, though it is not a great way to spread the information to the rest of the community.
- Asking and tagging Drupal 8 questions on Stack Exchange solves the above to some degree: http://drupal.stackexchange.com/questions/tagged/8
What is the most compelling feature of Drupal 8?
Tim Plunkett: Configuration Management, "it just works". Content staging, import/export configuration, version control configuration, could take features and distros to the next level
Lee Rowlands: Entity and Field API improvements. "Working with first-class entity objects." Welcome to a unified set of internal systems and standards inside of Drupal 8! We went into this at some length in part 2 of this conversation: Drupal 8 wins: unified entities n' plugins!
Daniel Wehner: Multilingual support. You can install Drupal in any available language out-of-the-box; multilingual sites are supported by Drupal 8 core, no additional modules required; interface translation updates are handled in the regular admin interface, no server access required.
The topics we covered
- Meet Lee, Tim, and Daniel, and how the conversation came about (part 1)
- The Drupal 8 entity system (part 2)
- The Drupal 8 plugin system (part 2)
- Why some people are worried about Drupal 8 and how we see things. (part 3)
- How Drupal core developers coordinate and cooperate. (part 3)
- Will Drupal 8 be more code-heavy? (part 3)
- Theming in Drupal 8 (part 4)
- Where's the Drupal 8 module upgrade info? (part 4 - Answer: it's a little early as of October 2013)
- What's the most compelling feature in Drupal 8? (part 4)