Tutorial: Drupal 8 Site Building preview - Less is more
(updated Oct 8- went from 14 contrib modules you don't need to 32! thanks to larowlan, klausi, webchick, swentel, gabor and wim leers for heads-up!)
Over the next couple of weeks, I’ll dig into the main Drupal 8 site building tasks and how they’ve been changed in the next version of Drupal. In today’s introduction, I want to give you some observations about the site building experience in Drupal 8. I’m starting in this post by pointing out what modules are GONE from core in Drupal 8- and what contrib modules you won’t need to install since that functionality is included in Drupal 8.
On October 23rd you can join me for a LIVE Tutorial: Sign up to Drupal 8 Preview- Live tutorial for Site Builders , Oct 23rd 1:00 PM EDT
All of the major site building tasks have been affected in some way.
- All admin page configuration; front page control
- Content types, fields, forms and display
- Text formats and WYSIWYG
- Multilingual site building
- Configuration management(!)
However, if you're looking for the drastic differences you saw between Drupal 6 and 7, you'll be disappointed. It seems that the site building experience hasn't significantly changed.
The few key changes that have been made are wide-reaching. For example, the inclusion of “form modes” affects anything with fields. While these new abstractions offer flexibility, as an instructor, I know they might be potentially confusing - at first! That's why I'll be going into that in more detail in an upcoming post.
I’d say overall site building in Drupal 8 has some great improvements. From a simple point of view that there will be less to install! There are some modules removed from core, and many contrib modules replaced by new functionality in core. Let's see what's gone.
Less is more!
In our Drupal 7 Site Building course , we spend a significant chunk of time on “how to improve the content editing experience”, because we know that internal adoption can make or break the success of a new site. I was amazed to see much of that is being mooted by Drupal 8, as many of the configuration changes we teach developers are being baked right into the new version. I detailed some of those content editing improvements in my previous blog post (Content editing enhancements in Drupal 8.)
I think overall this means site building is greatly improved in Drupal 8; and you’ll be able to do much more “out of the box” without depending on as many custom modules. I’m just sort of agog thinking about what this means.
It’s funny because we emphasize how much has been added to the Drupal 8 core- when we’re not considering the implication: This removes lots of required contrib modules from a garden variety Drupal site! AND it ensures everyone is getting these excellent benefits.
Many of the most commonly used modules (or modules with similar functionality) have been included in Drupal 8. This means you don’t necessarily need Display Suite anymore, since you can add customized view modes. You don’t need the link module, or the basic date module, they’re in there. You don’t need BEAN module anymore since you can add fields to blocks. You don’t even need to throw in the Save Draft module, since they fixed that confusing publishing button. And of course Views is available right in Drupal core now.
It goes without saying that this has huge benefits for site builders, especially those new to Drupal. It’s been disheartening to meet people who’ve been using Drupal and didn’t know even Views existed.
My Drupal 7 core modules folder at /root/modules shows 41 directories. My Drupal 8 core modules is moved to a nice tidy spot: /root/core/modules and it shows 61 directories. It’s safe to say there’s more added to core than removed.
Bye bye to these core site building modules!
I wouldn’t say we should mourn the loss of things removed from Drupal 8, but consider them reborn! For example, I think there’s excellent potential for a robust Blog module for Drupal- but it was stifled somewhat from growth. Some of these have been spun out into their own projects, or replaced.
- Blog, moved to contrib https://drupal.org/project/blog
- Dashboard module is now Homebox https://drupal.org/project/homebox
- Open ID removed.
- Poll, moved to contrib https://drupal.org/project/poll
- PHP filter module; (I think people danced on its grave) https://drupal.org/node/2088811
- Profile (was deprecated now, really gone!); Profile 2 still the likely successor https://drupal.org/project/profile2 Drupal 8 version here
- Trigger is gone. https://drupal.org/project/trigger Now the contributed module Rules is the successor.
- Translation module removed, and it's now "Content translation" module and works basically the same way as Entity translation https://drupal.org/project/entity_translation
Contrib modules you won’t need! Some were included, some were mooted.
Overall the changes in Drupal 8 imply that you will need fewer contributed modules to get most garden variety websites developed. I think this means there will be less chance for new people to miss tricks. Here's a list of popular modules from Drupal 7 contrib which are now no longer needed.
Some have been added, but most have been deprecated or are no longer needed as similar functionality is available. It may be however, that for advanced functionality you'll turn to the full modules. For example, Views Bulk Operations will offer additional actions.
- Admin views http://drupal.org/project/admin_views Turns administration pages, such as the content list into customizable Views.
- BEAN http://drupal.org/project/bean - Now blocks are entities, and you can add fields to them.
- Caption Filter module https://drupal.org/project/caption_filter - You can now add captions to images that you insert inline!
- CKeditor https://drupal.org/project/ckeditor and/or WYSIWYG flavors https://drupal.org/project/wysiwyg CKEditor included in Drupal core
- Date field https://drupal.org/project/date - Date field included, but it won't have recurring dates in D8, so you will use the contrib module for that.
- Display Suite https://drupal.org/project/DS - Site builders can create custom view modes (beyond defaults such as full/teaser).
- Email https://drupal.org/project/email - Now there is a simple email field!
- Entity view mode https://drupal.org/project/entity_view_mode - Now you can create custom view modes on any entity.
- Entity reference https://drupal.org/project/entityreference - There is now a Reference field to link to other content dynamically.
- Features https://drupal.org/project/features - You now longer need Features for configuration management, though it might still be useful for packaging up sets of functionality, which was Features original intended use.
- Fieldable Panel Panes https://drupal.org/project/fieldable_panels_panes Now you can add fields to blocks, this module isn't needed.
- Float filter https://drupal.org/project/float_filter You can float text around images
- Hidden field widgets https://drupal.org/project/hidden_field - Ability for "hidden" and "value" form widgets for fields
- Insert https://drupal.org/project/insert - Now you can insert images inline.
- Link field https://drupal.org/project/link - Link field included
- Module filter https://drupal.org/project/module_filter - You can search for a module easily. Now under "Extend".
- Picture https://drupal.org/project/picture
- and ....Breakpoints http://drupal.org/project/breakpoints - I described the D7 solution for responsive images in a previous blog post. This allows you to configure resizing images based on the browser dimensions. https://www.acquia.com/blog/drupal-how-responsive-or-adaptive-images
- Placeholder https://drupal.org/project/placeholder - Add text into fields to show users what to fill out. This disappears as soon as they start typing. Slick!
- RestWS https://drupal.org/project/restws Provides RESTful services to output over more than just HTTP.
- Services https://drupal.org/project/services - Output more than just HTML. You can now integrate external applications with Drupal. Service callbacks may be used with multiple interfaces like REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc
- String overrides https://drupal.org/project/stringoverrides - (It's possible to do most of what String Overrides did, but Gabor notes it's not as "performant".)
- Telephone field https://drupal.org/project/telephone - Telephone field included
- Transliteration https://drupal.org/project/transliteration - Now Drupal 8 turns accented characters (in machine names such as paths) into US-ASCII characters (universally displayable, unaccented characters)
- User picture field https://drupal.org/project/user_picture_field - Now the user picture is an image field handled the same as other image fields.
- Views https://drupal.org/project/views - Site builders can add custom views, and now views is used for Admin pages.
- Views Bulk Operations (for most things) https://drupal.org/project/views_bulk_operations - Conduct operations on select rows in views.
- Webform - where used for multiple-field contact forms previously http://drupal.org/project/webform Now you can add fields to contact forms.
- AND the translation modules, including Localization update http://drupal.org/project/l10n_update - fetch updated translations from localize.drupal.org
- Administration Language http://drupal.org/project/admin_language - Now you can see all administration pages in your preferred language.
- Localized Drupal Distribution http://drupal.org/project/l10n_update/l10n_install Now you can install Drupal in a language other than English.
- Fallback language negotiation https://drupal.org/project/fallback_language_negotation - Change the Default language without changing the default language by using a other language as fallback.
The major improvements to translation in Drupal 8 are a results of years of effort by an amazing team. That is why they've made the biggest contribution to this list. Anything to do with either the content translation approach (core & i18n module) or the entity translation approach (entity_translation) is now not needed. Check out this webinar on Multilingual Improvements in Drupal 8, August 2013, Gábor Hojtsy.
I hope you’re looking forward to really digging into Drupal 8 and seeing how things have changed- for the better. Here's some tips on keeping on top of the changes.
Keeping on top of changes
Downloading the latest version of Drupal 8 still gives you daily surprises. (Hello! Comments converted to fields committed last week!) It’s fun to keep track of progress.
Drupal 8 has brought about so many little changes you just want to hug. Some are even being back-ported to Drupal 7 so you don't have to wait.
I just want to show you this really quick: Now you see the dimensions of image styles e.g., "Style name (80x80)" as you use them. How nice is that? Seems kind of obvious you wonder why Drupal didn’t have it before. But yay! And yes, this has been backported for Drupal 7.23 now.
So here's some ways I keep on top of the changes:
- Check out our blog for new posts on Drupal 8 , such as the “This week in Drupal Core” series.
- Try out Drupal 8 yourself! Get Git instructions for Drupal 8 on Drupal.org https://drupal.org/project/drupal/git-instructions
- I use Acquia Dev Desktop to import my site and launch it. (Try out the Beta!) Tips here for D8 on Dev Desktop.
- You can also follow @drupal8changes on Twitter
- You can go right to the searchable Change Records page on Drupal.org https://drupal.org/list-changes
Or just come back and read this series on Drupal 8 site building, and I’ll walk you through the changes in a live tutorial.
Sign up to a live Drupal 8 Site Building tutorial
Sign up to Drupal 8 Preview for Site Builders , Oct 23rd 1:00 PM EDT
See you then!