Unboxing Drupal 8: An Initial Comparison to Drupal 7 (part 1 of 3: The First Glance)

Dev

Unboxing Drupal 8: An Initial Comparison to Drupal 7 (part 1 of 3: The First Glance)

I was sitting at home recently thinking “I wonder how life is going to change when Drupal 8 is released for production websites”. So when I arrived at the office the following morning, I was determined to investigate that question. I cut my teeth on Drupal development with version 6, and since then I’ve developed a fair number of Drupal 7 sites. The features and advancements between those versions was exciting, and the features planned for Drupal 8 just continue to fire my enthusiasm for the product. I’m well aware that Drupal 8 isn’t ready for prime time yet. But I’m sure there a large population of Drupal developers wondering, like me, what to expect when version 8 is finalized.

It didn’t take long to run into a fairly substantial hurdle. I found a page to download the Drupal 8 development release package directly, as I’ve done with previous versions. But a colleague had tried that recently and ran into a critical bootstrap error. In reading through several forum posts, the community suggests getting the code from Drupal’s GIT repository. I’m new to GIT, but the Drupal community makes heavy use of the tool, and it only makes sense to tie into the versioning and contribution features that it provides. I suspect that as Drupal evolves, we’ll all be moving away from downloading compressed archives in favor of interacting with these GIT repositories.

Once I figured out GIT well enough to clone the Drupal.org repository for version 8.x, I configured a local install of XAMPP to point at the directory where I had stored my files. I created a local database to use in the install script and proceeded through the typical setup wizard for a Drupal site. I didn’t notice many differences about the install scripts compared to Drupal 7, although it was quite exciting to see that it was installing the views modules as part of the core.

Admin Bar Improvements

Finally, I had a working Drupal 8 site at my disposal. The first thing that I noticed was updated styling/layout for the admin bar. That bar was new for the Drupal 7 core, and available as an add-on module for Drupal 6. I’ve found it to be quite indispensable for navigating the admin pages of the site. The pill shaped menu items are gone now, and they’ve been replaced with rectangular buttons with an associated icon for each. I wasn’t terribly thrilled with the extra ‘flash’ that those icons provide until I realized that they have a very real purpose when the admin bar responds to narrow screen widths. Basically, the text labels go away and you only have buttons with icons. All of the items that we were familiar with in Drupal 7 have been compressed into a single ‘Menu’ button for the Drupal 8 admin bar. Clicking this button displays another menu bar below the main one, and you now have the option of docking the menu horizontally under the main bar (default), or vertically at the left side of the page. For narrower screen widths, this secondary menu switches to the vertical layout automatically, although you still have the capability to change it back to horizontal.

Comparison of the Drupal 7 and Drupal 8 admin bars

BUG NOTE: There’s a mysterious pencil icon at the left side of the admin menu. Clicking it toggles the background color of the button either blue or black, but doesn’t seem to affect anything else. I’ll be interested to see what they have planned for that.
Drupal 8 Admin Bar Mysterious Pencil Icon

Appearances

The Drupal 8 development release comes packaged with ‘Bartik 8.0’ as the default site theme and interestingly enough, ‘Seven 8.0’ as the admin theme. ‘Stark 8.0’ is also included, but disabled by default. The settings pages for these themes haven’t changed much from Drupal 7, so I don’t have much to comment on. I changed the default colors for Bartik to represent my Alma Mater, Oklahoma State University, and I moved on to more interesting things. The overall user interface has a couple notable updates though, particularly when you are logged in. The gear icons for block settings that we saw in Drupal 7 have been replaced with a Pencil icon. Several of the inline admin links in Drupal 7 have been styled as buttons in Drupal 8, and they remind me of the styling seen in the Twitter Bootstrap library. The Bartik theme now behaves responsive depending on the overall screen width.

New and Exciting Core Modules

First off, the menu item previously titled ‘Modules’ is now called ‘Extend’. Luckily, it falls in the same position relative to the other links in the admin menu, so there was no doubt about where that link was going to take me. This is by no means a comprehensive list of the new modules for Drupal 8, but these are the ones that I’m most excited about:

  • CKEditor – One of my biggest complaints about Drupal 7 is that it’s not packaged by default with a good WYSIWYG. The CKEditor modules is disabled by default, but it’s in the core. There’s a requirement to enable the ‘Text Editor’ module, but that’s provided in the core as well. BONUS: You don’t need to download the CKEditor library manually anymore. It’s included as well.
  • Email Field – Automatically validates the format of provided email addresses, and generates a ‘mailto:’ link when displayed.
  • Entity Reference Field – This CCK field type is key to creating relationships between content types. I’ve watched it grow from ‘Node Reference’ in Drupal 6 to ‘Reference’ in Drupal 7 before being included in the core for Drupal 8. As the name implies, it’s useful for linking to much more than just nodes and users now. If you can define an entity in Drupal, this field will link to items of that type.
  • Picture – I had never heard of this module prior to writing this post, but it’s presence and description caught my eye immediately. It claims to resize images to accommodate changes in HTML5 responsive designs.
  • Telephone Field – Generates a ‘tel:’ link when displayed. Useful for telephony apps like Skype and corporate phone systems that include desktop clients for making calls.
  • Views – It only makes sense for this to be in the core. When they added CCK to the core in Drupal 7 I was surprised that views wasn’t included as well. CCK and Views go hand-in-hand like french fries and ketchup. My thoughts on this one: It’s about dang time.

Join me next week for Part 2 of this series. I’ll be investigating Drupal 8’s changes in content editing, including updates to the node form and block settings.

More About the Author

Matt Mueggenborg

Lead Web Developer
Don’t Take NULL for an Answer – Make Tableau’s ‘getWorkbook()’ and ‘getActiveSheet()’ Functions Behave Correctly NULL errors have cropped up twice in recent development projects utilizing Tableau’s JavaScript API. In one instance, getWorkbook() ...
The BURNING Question: What was HOT at DrupalCon 2013? As a web developer, you were faced with a unique decision this year. Should you get your ultimate geek on at the 2013 DrupalCon in ...

See more from this author →

Subscribe to our newsletter

  • I understand that InterWorks will use the data provided for the purpose of communication and the administration my request. InterWorks will never disclose or sell any personal data except where required to do so by law. Finally, I understand that future communications related topics and events may be sent from InterWorks, but I can opt-out at any time.
  • This field is for validation purposes and should be left unchanged.

InterWorks uses cookies to allow us to better understand how the site is used. By continuing to use this site, you consent to this policy. Review Policy OK

×

Interworks GmbH
Ratinger Straße 9
40213 Düsseldorf
Germany
Geschäftsführer: Mel Stephenson

Kontaktaufnahme: markus@interworks.eu
Telefon: +49 (0)211 5408 5301

Amtsgericht Düsseldorf HRB 79752
UstldNr: DE 313 353 072