New Drupal Modules - 15 October 2016 - 5:36am

Classify will provide the ability to add classes (and other attributes) on any entity type.

Allow a user configurable field to allow adding custom classes/attributes to an entity.
Allow a predefined set of classes/attributes to be provided by a module/theme, allowing a user to select a class/attribute that already has 'functionality' attached to it.
Each type of attribute (class, id, title, data-x, etc.) should be setup via a Plugin.

Categories: Drupal

Drupal core announcements: No Drupal core security release planned for Wednesday, October 19

Planet Drupal - 14 October 2016 - 8:11pm

The monthly security release window for Drupal 8 and 7 core will take place on Wednesday, October 19.

Unless there is an unexpected security emergency, however, this window will not be used and there will be no Drupal 8 or 7 core releases on that date.

Drupal 8 site owners should note that the Drupal 8.1.x branch is no longer supported; sites running on an 8.1.x release should therefore update to the Drupal 8.2.x branch as soon as possible in preparation for any future security releases. (The most recent release on that branch is 8.2.1, as of the date of this post.)

Similarly, Drupal 7 site owners should update to the 7.51 release (the most recent Drupal 7 release as of this post), which includes the larger changes from Drupal 7.50 as well.

Other upcoming core release windows include:

  • Wednesday, November 2 (patch release window)
  • Wednesday, November 16 (security release window)

Drupal 6 is end-of-life and will not receive further releases.

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Categories: Drupal

DrupalEasy: DrupalEasy Podcast 187 - Breaking BADCamp (Anne Stefanyk, Heather Rodriguez, Jon Peck - BADCamp)

Planet Drupal - 14 October 2016 - 7:25pm

Direct .mp3 file download.

BADCamp organizers Anne Stefanyk, Heather Rodriguez, and Jon Peck join Mike Anello and Ryan Price to discuss the biggest and baddest (pun intended) non-DrupalCon event in all the land(s)! Recent Drupal-related news, picks of the week, and five questions are - as always - included free with this episode.

Interview DrupalEasy News Three Stories Sponsors Picks of the Week Upcoming Events Follow us on Twitter Five Questions (answers only)
  1. Plays synthesizer for a progressive rock band, Imager.
  2. Dokuwiki.
  3. "Bike in a basket" - build a motorcycle
  4. Llamas.
  5. WNY DrupalCamp.
Intro Music Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Categories: Drupal

Add To Calendar

New Drupal Modules - 14 October 2016 - 5:33pm
Categories: Drupal

Harry Potter Deck Building Game Now Available

Tabletop Gaming News - 14 October 2016 - 3:00pm
I was rather used to getting a new Harry Potter movie just about every Christmas. I actually associate the main theme with the holidays. To me, it’s basically a Christmas carol. So it feels a bit like “Christmas in October” with the release of the Harry Potter Deck Building Game from USAopoly. In the game, […]
Categories: Game Theory & Design

Contact Remove Defaults

New Drupal Modules - 14 October 2016 - 2:09pm

By default, if you are logged in to a website with the Contact module enabled, the form is pre-populated with the logged in user’s name and email address.

This module removes the default values for authenticated users, so that the fields are blank when the contact form is viewed.

GitHub mirror:

Categories: Drupal

WizKids Previews The Atom and The Flash For HeroClix

Tabletop Gaming News - 14 October 2016 - 2:00pm
We’re back to more DC previews for the upcoming Joker’s Wild set for HeroClix. Last time, we saw the set’s namesake with a look at the Joker and Harley Quinn. We get our first look at some heroes in this preview with the Atom and The Flash. Neither of these characters have very deep dials […]
Categories: Game Theory & Design

Dimension Games Launches Deep Madness Kickstarter

Tabletop Gaming News - 14 October 2016 - 1:00pm
At the bottom of the ocean, a mysterious sphere has been found. Nobody knows where it’s come from or its purpose here on Earth. One thing is known, though. It takes the human mind and twists it, warps it, and changes it. Now, an entire deep-sea mining facility has been corrupted. Will you survive the […]
Categories: Game Theory & Design

Facebook Messenger Bot

New Drupal Modules - 14 October 2016 - 12:41pm

This project is a response to a call by the WhiteHouse to work with the D8 module they open sourced – refactor, polish and contribute as a module on

Like we're doing with the Facebook Instant Articles module, community members from various groups are working together to make a well architected, flexible, and extensible module that will cover everyone's needs. Let's connect and do the same with this Facebook Messenger Bot module :)

Categories: Drupal

Thug Life Board Game Up On Kickstarter

Tabletop Gaming News - 14 October 2016 - 12:00pm
It’s rough out there in the streets. There are areas in many cities where life is all about your gang. You’ve gotta stay strong with your family if you want to make it through. Respect isn’t given, it’s earned. It’s that life that’s brought to your tabletop in Thug Life, a new board game that’s […]
Categories: Game Theory & Design

Drupal Association News: Here’s to our Drupal Association Supporting Partners! – Q3

Planet Drupal - 14 October 2016 - 11:54am

There are many inspiring companies that are giving their time to contribute code, help educate others, share their experiences, and be part of the Drupal community. Some of these companies have taken one step further, becoming Supporting Partners with the Drupal Association.

Supporting Partners fund and the engineering team who make the improvements you continuously see. Without our Supporting Partners, the work we do would not be possible.

Here is what is going on now.

Q3 2016 Roadmap


We would like to acknowledge the companies that continue to show their endless support. Here is a list of new and renewing companies just this quarter:

  2. OpsGenie
  3. Kellton Tech Solutions Ltd.
  4. PSW Group GmbH & Co. KG
  5. ANNAI Inc
  7. PreviousNext
  8. KWALL
  9. Code Koalas Digital Bridge Solutions
  10. Mediacurrent Interactive Solutions
  11. Trellon LLC
  12. XIO
  13. Live Person
  14. Pantheon
  15. Rochen Ltd.
  16. Bluehost, Inc.
  17. BlackMesh Inc.
  18. Arvixe, LLC
  19. Green Geeks
  20. JetBrains
  22. HighWire Press
  23. Wunder Group
  24. ADCI Solutions
  25. Inclind Inc.
  26. Appnovation Technologies
  27. GeekHive
  28. Deeson
  29. Isovera
  30. Forum One

Our Supporting Partners, Technology Supporters, and Hosting Supporters help us make great. They also become some of the best-known Drupal contributors. Read about the program benefits and if you want to give back to the Project, please contact our Executive Director, Megan Sanicki, for details.

Categories: Drupal

Zivtech: 4 Common Developer Concerns in a Site Migration

Planet Drupal - 14 October 2016 - 9:43am

Websites have a shelf life of about 5 years, give or take. Once a site gets stale, it’s time to update. You may be going from one CMS to another, i.e., WordPress to Drupal, or you may be moving from Drupal 6 to Drupal 8. Perhaps the legacy site was handcrafted, or it may have been built on Squarespace or Wix.

Content is the lifeblood of a site. A developer may be able to automate the migration, but in many cases, content migration from an older site may be a manual process. Indeed, the development of a custom tool to automate a migration can take weeks to create, and end up being far costlier than a manual effort.

Before setting out, determine if the process is best accomplished manually or automatically. Let’s look at the most common concerns for developers charged with migrating content from old to new.

1. It’s All About Data Quality

Old data might not be very structured, or even structured at all. A common bad scenario occurs when you try to take something that was handcrafted and unstructured and turn it into a structured system. Case in point would be an event system managed through HTML dumped into pages.

There's tabular data, there are dates, and there are sessions; these structured things represent times and days, and the presenters who took part. There could also be assets like video, audio, the slides from the presentation, and an accompanying paper.

What if all that data is in handcrafted HTML in one big blob with links? If the HTML was created using a template, you might be able to parse it and figure out which fields represent what, and you can synthesize structured data from it. If not, and it's all in a slightly different format that's almost impossible to synthesize, it just has to be done manually.

2. Secret Data Relationships

Another big concern is a system that doesn't expose how data is related.

You could be working on a system that seems to manage data in a reasonable way, but it's very hard to figure out what’s going on behind the scenes. Data may be broken into components, but then it does something confusing.

A previous developer may have used a system that's structured, but used a page builder tool that inserted a text blob in the top right corner and other content in the bottom left corner. In that scenario, you can't even fetch a single record that has all the information in it because it's split up, and those pieces might not semantically describe what they are.

3. Bad Architecture

Another top concern is a poorly architected database.

A site can be deceptive because it has structured data that describes itself. The system could find stuff as each element was requested, but then it is really hard to find the list of elements and load all of the data in a coordinated way.

It's just a matter of your architecture. It’s important to have a clearly structured, normalized database with descriptively named columns. And you need consistency, with all the required fields actually in all the records.

4. Automated Vs. Manual Data Migration

Your migration needs to make some assumptions about what data it’s going to find and how it can use that to connect to other data.

Whether there are 6 or 600,000 records of 6 different varieties, it's the same amount of effort to automate a migration. So how do you know if you should be automating, or just cutting and pasting?

Use a benchmark. Migrate five pieces of content and time out how long that takes. Multiply by the number of pieces of content in the entire project to try to get a baseline of what it would take to do it manually. Then estimate the effort to migrate in an automated fashion. Then double it. Go with the number that’s lower.

One of the reasons to pick a system like Drupal is that the data is yours. It's an open platform. You can read the code and look at the database. You can easily extract all of the data and take it wherever you want.

If you’re with a hosted platform, that may not be the case. It's not in the hosted platform’s best interest to give you a really easy way to extract everything so you can migrate it somewhere else.

If you're not careful and you pick something because it seems like an easy choice now, you run the risk of getting locked in. That can be really painful because the only way to get everything out is to cut and paste. It’s still technically a migration. It's just not an automated one.

Categories: Drupal

Acquia Developer Center Blog: Nothing About Us Without Us - Diversity of the Web with Nikki Stevens

Planet Drupal - 14 October 2016 - 9:42am

Following her inspiring keynote on diversity, inclusion, and equality at Drupal Camp Costa Rica 2016, I got the chance to speak with Nikki Stevens on front of my mic and camera. Along with sharing some fun Drupal memories like the time young Nikki broke production when Steve Rude was out for the day, a lot of this conversation is about the benefits diversity brings and how we all can improve our own organisations and communities.

One eye-opening moment for me was when Nikki talked about how many diversity surveys are themselves flawed by the assumptions of their authors. Seemed perfectly obvious to me once I got there. Nikki and Nick Lewis have been working on a better diversity survey by crowdsourcing the survey itself.

Help write the diversity survey!

Go to the Diversity of the Web community-drafted survey and make your own contributions and suggestions now!

For more background information on the survey and the challenges of involvement, identity, and measuring it all, read its origin story on Nikki's blog: Nothing About Us Without Us.

Interview Video - 19 min.


A full transcript of our conversation will appear here shortly!

Skill Level: BeginnerIntermediateAdvanced
Categories: Drupal

DrupalEasy: Announcing Florida DrupalCamp’s Second Featured Speaker, Drupal Association Director Megan Sanicki!

Planet Drupal - 14 October 2016 - 9:37am

The 9th annual Florida DrupalCamp (FLDC) will be held February 17,18, and 19th, 2017 in Orlando, Florida; DrupalEasy is proud to be a sponsor.

We’re super excited to announce Megan Sanicki as our second featured speaker. Megan is the Executive Director of the Drupal Association (DA), and will talk about all the things that the DA does to promote and serve Drupal.

Megan joins Helena Zubkow as a featured speaker for FLDC. Helena is an accessibility expert for Lullabot and will be leading a double-length session on how to make Drupal sites accessible. The third (and final) featured speaker will be announced in the coming weeks.

Bigger and better!

FLDC is expanding to 3 full days of activities in 2017. On Friday, February 17, we'll be offering several free training events (details coming soon) as well as sprint opportunities and a social event. Saturday, February 18 will be a day full of sessions followed by an afterparty. Sunday, February 19 will include a half-day of sessions and additional sprints.

Sponsor Florida Drupalcamp!

FLDC is accepting sponsorships. More information can be found at

Session Submissions are Open!

Have new Drupal or web development knowledge that you’d like to share? We’d love to have you! Submit your session proposal at

Categories: Drupal Entity validation in Drupal 8 - part 1 - how validation works

Planet Drupal - 14 October 2016 - 9:10am

Drupal 8 has its entity validation separate and decoupled from the typical validation given by its form API. This is done for a lot of reasons. For one, entities might get added from other non UI means, like via the REST API, or programmatically, while importing data from an external source. Under these circumstances, the entity validation API comes in handy.

Drupal 8's validation API uses the Symfony validator component.Each validation mechanism can be at the entity level(composite), field level or entity property level. Validation can be specified by multiple means.

1.While creating the entity as a part of the annotation.

Ex: the Comment entity has a validation constraint which imposes a restriction where the name of the anonymous comment author cannot match the name of any registered user. This is implemented using CommentNameConstraint and specified in the Comment entity annotation.

* bundle_entity_type = "comment_type", * field_ui_base_route = "entity.comment_type.edit_form", * constraints = { * "CommentName" = {} * } * ) */ class Comment extends ContentEntityBase implements CommentInterface {

2.Inside the entity class's baseFieldDefinitions().

Ex: The User entity has a constraint where each user name should be a unique value.

$fields['name'] = BaseFieldDefinition::create('string') ->setLabel(t('Name')) ->setDescription(t('The name of this user.')) ->setRequired(TRUE) ->setConstraints(array( // No Length constraint here because the UserName constraint also covers // that. 'UserName' => array(), 'UserNameUnique' => array(), ));

We will see what BaseFieldDefinition means in a future post. For now, all you have to understand is, the above line places a validation constraint that the name property of every user object should be unique.

3.Entity validation constraints can be placed on existing entities from other modules via hooks.

This implements hook_entity_type_alter.

function my_module_name_entity_type_alter(array &$entity_types) { $node = $entity_types['node']; $node->addConstraint('CustomPluginName', ['plugin', 'options']); }

We shall be creating one such validation constraint on the node entity shortly.

A validation component consists of 2 parts.

The constraint contains the metadata/rules required for the validation, the messages to show as to what exactly got invalidated, and a pointer to the validation class, whose default value is a "Validator" string appended to the fully qualified constraint class name.

/** * Returns the name of the class that validates this constraint. * * By default, this is the fully qualified name of the constraint class * suffixed with "Validator". You can override this method to change that * behaviour. * * @return string */ public function validatedBy() { return get_class($this).'Validator'; }

The validation class contains the actual validation implementation. For example, a "unique name" constraint's validator will iterate through all entities in the database to ensure that the name of the entity being validated is not used by any other entity. The validator class also has access to the constraint class metadata, messages etc. It should, at minimum, implement the validate method, which takes in the object to be validated(string, entity etc.) and the associated constraint. Upon failing the validation, this method returns an object of type ConstraintViolationInterface. This gives all the information as to why the validation failed, where exactly it failed, the invalid value etc.

Let's see how a node can be validated and the validation errors consumed with the below example.

use Drupal\node\Entity\Node; $node = Node::create([ 'title' => 'New article', 'type' => 'article']); $node->field_email = 'foobar'; $violations = $node->validate(); if ($violations->count() > 0) { foreach($violations as $violation) { print_r($violation->getMessage()->render()); print("\n"); print_r($violation->getPropertyPath()); print("\n"); print_r($violation->getInvalidValue()); print("\n"); } }

Assuming you have an email field which goes by the machine name field_email, if you run this code using drush scr command in a Drupal 8 setup, your output should be very similar to this.

$ drush scr node-validate.php This value is not a valid email address. field_email.0.value foobar

The getPropertyPath give the field name and the delta as to where the violation occurs.

Now that we got a hang of how entity validation works, let's create our own validation constraint in the next post.

Categories: Drupal

Contact Emails

New Drupal Modules - 14 October 2016 - 9:04am

This module provides a more versatile interface and functionality for managing
emails that get sent from Drupal Core Contact submissions. It allows users with
the new permission 'manage contact form emails' to add as many emails as
desired, each with a different recipient or set of recipients (including the
submitter of the form), each a different subject or message.

Categories: Drupal

Acquia Developer Center Blog: The White House is Open Sourcing a Drupal Chat Module for Facebook Messenger

Planet Drupal - 14 October 2016 - 8:02am

Today, Jason Goldman, Chief Digital Officer of the White House, announced that the White House is open-sourcing a Drupal module that will enable Drupal 8 developers to quickly launch a Facebook Messenger bot.

The goal, Goldman said, is to make it easier for citizens to message the President via Facebook.

This is the first-ever government bot on Facebook messenger.

Tags: acquia drupal planet
Categories: Drupal

The Hood Expansion Now Available For The Thunderbirds Board Game

Tabletop Gaming News - 14 October 2016 - 8:00am
The disasters that International Rescue are always trying to solve might seem like they’re just random encounters, or maybe just coincidences. But really, there’s a nefarious person behind it all. The Hood is looking to destroy International Rescue once and for all. He’ll not stop with the kidnappings, hijackings, and other dastardly deeds until his […]
Categories: Game Theory & Design

ThinkShout: Content Modeling in Drupal 8

Planet Drupal - 14 October 2016 - 8:00am

In many modern frameworks, data modeling is done by building out database tables. In Drupal, we use a web-based interface to build our models. This interface makes building the database accessible for people with no database experience. However, this easy access can lead to overly complex content models because it’s so easy to build out advanced structures with a few hours of clicking. It’s surprising how often Drupal developers are expected to be content modeling experts. Rachel Lovinger wrote this great overview of content modeling for the rest of us who aren’t experts yet.

Data Modeling Goal

Our goal when modeling content in Drupal is to build out the structure that will become our editor interface and HTML output. We also need to create a model that supports the functionality needed in the website. While accomplishing this, we want to reduce the complexity of our models as much as possible.

Getting Started

One of the first things to do when building a Drupal site is build content types. So, before you start a site build, start with either a content model or a detail page wireframe. This spreadsheet from Palantir will help you. The home page design may look amazing, but it’s unhelpful for building out content types. Get the detail pages before you start building.

Why Reduce Complexity?

The more content types you create, the more effort it will take to produce a site. Furthermore, the more types you have, the more time it will take to maintain the site in the future. If you have 15 content types and need to make a site-wide change, you need to edit 15 different pages.

The more pages you need to edit, the more mistakes you will make in choosing labels, settings, and formatters. Lastly, content can’t easily be copied from one type to another, which makes moving content around your site harder when there are many content types. So, the first thing you’ll want to do with your content model is collapse your types into as few types as feasible. How many is that?

5 Content Types is Enough

Drupal has many built in entities like files, taxonomy, users, nodes, comments, and config. So, the vast majority of sites don’t need any more than 5 content types. Instead of adding a new content type for every design, look for ways to reuse existing types by adding fields and applying layouts to those fields.

Break Up the Edit Form

Drupal 8 allows you to have different form displays for a single content type. With either Form Mode Control or Form Mode Manager, you can create different edit experiences for the same content type without overloading the admin interface.

By reducing the complexity of the content model, we decrease maintenance cost, improve the consistency of the website, and simplify the editing experience. Now that you’ve got some content modeling basics, look for opportunities to reduce and reuse content types in your Drupal projects. Content editors will thank you.

Categories: Drupal

Mediacurrent: Friday 5: 5 Advantages of Component-Driven Theming

Planet Drupal - 14 October 2016 - 7:44am

Happy Friday and thanks for tuning into Episode 17, it's good to be back!

Categories: Drupal


Subscribe to As If Productions aggregator