Worfklow Tasks

New Drupal Modules - 29 April 2018 - 8:26am
Categories: Drupal

Video Game Deep Cuts: The God Of Portal Is Mario's Face - by Simon Carless Blogs - 29 April 2018 - 7:40am
This week's highlights include multiple God Of War interviews, how Budget Cuts moves in VR via portals, and an interview with Super Mario 64's facial sculptor, among others.
Categories: Game Theory & Design

Opening Hours for Recurring Date Fields

New Drupal Modules - 29 April 2018 - 6:21am

Formats recurring date fields as opening hours/office hours.

Please note at this time the formatter only works with values with weekly frequencies (FREQ=WEEKLY). Each value must have a first occurrence with both initial start and end date and a recurring rule.

Categories: Drupal

Bulk User Registration

New Drupal Modules - 28 April 2018 - 12:04pm

Bulk User Registration and Import:

This is the simple module which allow an administrator user to import user or register user from a CSV file.

In this module, you can select existing drupal role while importing user from CSV. In this case, every user in CSV assigns that selected role. But if you want to add your own role from CSV so just mentioned a role in CSV file and click on the option of Override role from CSV.

Override role means selected role will not assign to the user. Only CSV map role will assign to imported user.

Categories: Drupal

Bulk User Registeration

New Drupal Modules - 28 April 2018 - 11:47am
Categories: Drupal

Review Roundup

Tabletop Gaming News - 28 April 2018 - 11:00am
International Tabletop Day. It’s like our true gaming holiday. I’ll be spending it playing D&D with friends (even doing a live stream and then uploading the video later, because that seems like a good idea at the time). I hope you also have something planned out for your day. I know I plan on getting […]
Categories: Game Theory & Design

Wim Leers: API-First Initiative Update (DrupalCon Nashville)

Planet Drupal - 28 April 2018 - 8:46am

As part of working in Acquia’s Office of the CTO, I’ve been working on the API-First Initiative for the past year and a half! Where are we at? Find out :)


Slides: Slides with transcriptConference: DrupalCon NashvilleLocation: Nashville, Tennessee, U.S.A.Date: Apr 11 2018 - 14:15Duration: 25 minutesExtra information: 


Attendees: ~70 (?)

Evalutations: 4.66/5

The Deco……upled shirts were a nice touch! Is there a YouTube video of this? Can’t seem to find it on YouTube or DrupalCon sites.

Great to see an insight into the inner workings. Thanks for sharing and allowing community feedback.

API-first Drupal with multiple consumers @DrupalConNA :D

— Gábor Hojtsy (@gaborhojtsy) April 11, 2018
Categories: Drupal

Wim Leers: API-First Initiative Update (DrupalCon Nashville)

Planet Drupal - 28 April 2018 - 8:46am

As part of working in Acquia’s Office of the CTO, I’ve been working on the API-First Initiative for the past year and a half! Where are we at? Find out :)


Slides: Slides with transcriptConference: DrupalCon NashvilleLocation: Nashville, Tennessee, U.S.A.Date: Apr 11 2018 - 14:15Duration: 25 minutesExtra information: 


Attendees: ~70 (?)

Evalutations: 4.66/5

The Deco……upled shirts were a nice touch! Is there a YouTube video of this? Can’t seem to find it on YouTube or DrupalCon sites.

Great to see an insight into the inner workings. Thanks for sharing and allowing community feedback.

API-first Drupal with multiple consumers @DrupalConNA :D

— Gábor Hojtsy (@gaborhojtsy) April 11, 2018
Categories: Drupal

Field Formatter File Size

New Drupal Modules - 28 April 2018 - 12:14am

Field Formatter File Size is a field formatter to display the file size.

Categories: Drupal

Mass Email

New Drupal Modules - 27 April 2018 - 8:37pm

mass email module will provide site administrators an interface to send mass email in easy and quick way.

Categories: Drupal

Migrate Recurring Import

New Drupal Modules - 27 April 2018 - 5:15pm

The migrate_recurring_import project provides extensions to core migrations functionality by extending the migrations to be recurring migrations.

The set up is similar to Feed periodic import in Drupal 7.

Categories: Drupal

Hook 42: March Accessibility (A11Y) Talks

Planet Drupal - 27 April 2018 - 4:36pm

In March, A11y Talks welcomed Melanie Sumner, an application architect from JP Morgan Chase. She is an accessibility advocate and is an EmberJS core team member and meetup organizer in Chicago. The tagline for Ember is "the framework for building ambitious applications". Melanie spoke of ways to inject accessibility into not only the Ember project, but into other single-page applications so some users are not left behind.

Categories: Drupal

Matt Glaman: PhpStorm: PHP Fatal error: Class 'PHPUnit_TextUI_ResultPrinter'

Planet Drupal - 27 April 2018 - 2:00pm
PhpStorm: PHP Fatal error: Class 'PHPUnit_TextUI_ResultPrinter' mglaman Fri, 04/27/2018 - 16:00 Recently I ran a good ole composer update on a client project. This updated Drupal and PHPUnit. I ran our PHPUnit tests via PhpStorm and ran into an odd error. Here's how I quickly fixed it!
Categories: Drupal

Wyrd Previews Horomontangi For The Other Side

Tabletop Gaming News - 27 April 2018 - 1:00pm
As is their tradition, Wyrd has posted up their Friday preview for The Other Side. I’m always happy to see them, 1) because I like previews and 2) it means it’s Friday. Well, this one, when it popped up, I was like, “whoah!” because it’s a giant lizard/dragon thing named Horomontangi. Fridays need more giant […]
Categories: Game Theory & Design

Commerce Guys: Improving Shopping Cart UX with Commerce Cart Flyout

Planet Drupal - 27 April 2018 - 12:09pm

Last week we announced the Commerce Cart API module with a goal of facilitating new patterns for Commerce 2.x shopping cart management. As far back as the launch of Lush's UK store, we began seeing more sites adopt one such pattern where the cart block just shows an icon or the number of items in the cart but clicking on it expands a sidebar that lets customers update the cart contents via JavaScript interactions:

We saw this more recently with a similar feature on the Orlo watches website launched by our friends at 1xINTERNET:

We expect each successive Drupal Commerce release to cut down the number of things every site developer has to do to launch a new store. Providing a general solution to this cart paradigm would do just that! We received positive feedback on the cart flyout at DrupalCon, so building on the Cart API, we have now released Commerce Cart Flyout to provide a progressively decoupled cart block and form, which gives customers a more modern cart update experience.

What does the Cart Flyout module do?

  • Provides a new cart block which triggers the cart form flyout.
  • Allows quickly changing quantities of an order item.
  • Allows removing order items without a page refresh.
  • Gives flexibility for design and interaction that is not limited by Drupal's Form API and rendering layer.

What is next

  • Provide better user feedback when an operation occurs, such as dimming the form when the auto-update happens.
  • I would love to see the add to cart message's "your cart" link trigger the flyout.

Check out the demo video!

How is it built?

In discussion with Bojan, we decided to use Backbone.js and Underscore.js for the implementation since they ship with Drupal core. Yes, it was a journey back in time, but it also provided a way to ship a contributed project without introducing an additional dependency for end users.

The module stores Underscore.js templates in Twig files that register to the theme registry. The decision to use Twig and the theme registry allows themes to customize the template and markup. We do this for our demo theme Belgrade, which you can see in its code repository:

In fact, I used a ReactJS implementation to test the underlying API and prototype this module. If you’re interested, see the test sub-module in the Cart API repository.

Categories: Drupal

Aten Design Group: Managing Pantheon Sites with Terminus

Planet Drupal - 27 April 2018 - 12:03pm

In the previous post we looked into Pantheon hosting and how we can use it to easily create a suite of similar websites without having to build them individually each time. Often the requirement isn’t only easily creating new sites, but having to maintain them easily as well. When you have dozens or hundreds of websites that need changes applied to them, managing each one individually through Pantheon’s dashboard becomes a bottleneck. Fortunately Pantheon offers a command line interface that allows developers to automate much of that maintenance. In this post we’ll take a look at using Terminus to manage our sites.

Understanding Pantheon’s Framework

Before we can start rolling out features to multiple sites, it is helpful to understand how Pantheon groups the websites it hosts. Websites can be first grouped into an Organization. Within that, they can be tagged in any manner that makes sense for your needs. Both the organization and the tags can be used to filter sites into more targeted groups.

Each site then gets three environments; dev, test, and live are their machine names. Those machine names are important, as we’ll need to know which environment we’re targeting when we do our deployments. A single site also gets a machine name, like my-awesome-site. The combination of site name and environment name create a single instance identifier, which we use in our Terminus commands. For example, to clear Drupal’s cache on a live environment we’d run:

terminus remote:drush -- cache-rebuild

A deployment on Pantheon has to follow a specific process, whether done via the dashboard or through Terminus. First, code must be deployed to the dev environment. Normally this is done with Git by pushing new code into the master branch on Pantheon’s repo. For features we’re deploying to multiple sites, the code must be pushed to the Upstream and then pulled from there. In the dashboard, this takes the form of a button that appears to alert you to new changes. In Terminus, you’d run the following command. Note, the --updatedb flag ensures any Drupal database updates get run as well.

terminus upstream:updates:apply --updatedb

Second, we have to move those updates to testing and then to production. Again, the dashboard provides a button on those environments when there are updates that can be made to them. In Terminus, this is done with:

terminus env:deploy my-awesome-site.test --updatedb --cc --note=”Deployed new feature.”

As before --updatedb runs the database updates, --cc rebuilds Drupal’s cache, and --note is the description of the updates that gets added to the Pantheon dashboard.

There are many other actions you can handle with Terminus. Their documentation covers the full list. However, out of the box Terminus has the same limitation that the dashboard has. You can only run a command on one site at a time. Thankfully, Terminus has additional plugins that solve this problem for us.

New Commands with Terminus Plugins

Terminus is built on PHP and managed with Composer. This allows for new commands to be built and distributed on Pantheon’s Terminus Plugin Library. We’ll need to install two plugins to run Terminus commands on multiple sites at once: Terminus Mass Update and Terminus Mass Run. Mass Update is created by Pantheon and runs the upstream:updates:apply command on a list of sites that get piped into it. Mass Run builds on that idea, by using the same piping logic and implements it onto more commands. With it you can run Drush commands, create site backups, and deploy code among other things.

To get the list of sites, we’ll use the org:site:list command. We could also use site:list, however since Custom Upstreams are an Organization level feature we’ll more than likely want to filter by Organization; org:site:list takes the name of the organization we want to filter by. To get a list of the Organizations you have access to, run terminus org:list. This returns both the machine name and the ID number of the Organizations, either will work for org:site:list.

Running terminus org:site:list aten will return a table of all sites in Aten’s Organization account. However, we still might only want a subset of those sites. This is where tagging comes in. Adding the --tag flag to our command lets us get only sites we’ve tagged with whatever is passed in. To see all sites tagged with “US” our command becomes terminus org:site:list aten --tag=US. This gets us closer, however it still returns a table of all site information. We only need the site ID numbers as a list for our Mass Run and Mass Update commands. To get this list we’ll add --format=list to our command, making the entire thing:

terminus org:site:list aten --tag=US --format=list

Now that we have a list of the site IDs we want to update, all we need to do is pipe that list into our plugin commands. To deploy a new feature from our upstream, we’d run:

terminus org:site:list aten --tag=US --format=list | terminus site:mass-update:apply --updatedb

Moving that feature through Pantheon’s environments is:

terminus org:site:list aten --tag=US --format=list | terminus env:mass:deploy --sync-content --cc --updatedb --env=test --note="Updated Drupal Core."

Removing a user from all sites they exist on becomes:

terminus org:site:list aten --tag=US --format=list | terminus remote:mass:drush --env=live -- ucan bad-user

Long Commands, Amazing Results

At this point you’ve probably noticed the commands we’re using have become very verbose. This is one downside of this approach: the commands themselves are not intuitive at first glance. For common tasks creating aliases can help simplify this. Leveraging the terminal’s history to bring up past commands and then modifying them speeds up more one-off tasks. But the ability to manage our websites en masse becomes a huge time saver over clicking our way through the dashboard for dozens of sites.

Categories: Drupal

Corvus Belli Announces Infinity Narrative Event: Treason

Tabletop Gaming News - 27 April 2018 - 12:00pm
Turning on your friends and colleagues. It’s one of the worst things you can do, so many say. But what if you feel that what they’re truly doing is wrong and you need to follow a different path? There’s two sides to every story, even in a case like this. And that’s where you’ll find […]
Categories: Game Theory & Design

Don't Miss: How Blizzard designed StarCraft II with esports in mind

Social/Online Games - Gamasutra - 27 April 2018 - 11:51am

Blizzard's Dustin Browder deconstructs the design of Starcraft II and examines how its competitive multiplayer was tuned to serve the needs of a global esports community. ...

Categories: Game Theory & Design

Friday Snippets

Tabletop Gaming News - 27 April 2018 - 11:00am
Fridaaaaaaaaay! Man, I’ve been looking forward to this one. It’s been a rough week, but that’s all in the past. The weekend spreads ahead just filled with opportunity. I’ve got some D&D tomorrow. How about y’all? Well, whatever it might be, you should definitely stock up on some bite-sized gaming stories to begin with. Today […]
Categories: Game Theory & Design blog: What's new on - March 2018

Planet Drupal - 27 April 2018 - 10:43am

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

This month's update comes a bit later than usual, as we return from DrupalCon Nashville. Expect our April update to follow after shortly.

Representing Drupal at Google's CMS Leadership Summit

In mid-March, we attended the Google CMS Leadership Summit, as representatives of the Drupal project. The Summit was a one-day event hosted by Google to unite the 20 or so projects in the CMS space responsible for more than 50% of the content on the web.

The goal was to understand how to preserve an open web, by empowering better authoring experiences, content consumption, and performance in our CMS platforms.

This level of dialogue and engagement with an organization like Google is new and exciting for us, and we're looking forward to ongoing conversations, both with Google and with the other CMS project leaders they assembled at the event. Updates Researching the anonymous traffic to

One of the focuses of the Drupal Association in 2018 has been to better understand our audience. When it comes to users who register on, and our DrupalCon attendees, we have quite a bit of information about who our users are.

However, when it comes to the wider ecosystem of Drupal users (evaluators and end-users who do not have accounts) we've been largely in the dark for most of the project's history. One way we want to improve this is by working with Drupal Core to add telemetry to Drupal, but that is an effort that will take some time.

In the meantime, we've implemented several Audience Insight tools to help us learn more about our anonymous users. Privacy is always a paramount concern, so we chose only insight tools which provide aggregate, anonymized data, and we wrapped those tools in our own implementation of Do-Not-Track so that we could ensure that user privacy preferences are respected.

The table below demonstrates the job functions held by the anonymous visitors to (Please note: these job functions might be held within any kind of industry, this data is about the user's role, not their target market).

Job Function

D.O Front Page Visitors

All D.O Visitors






Information Technology




Business Development








Arts and Design




Media and Communication
















Program and Project Management
















Community and Social Services








We've used this data to inform the redesign of, as well as our new persona pages. Learn more about that process in our April update. The redesign work was carried out in collaboration with SixEleven, who also produced the DrupalCon brand and design for DrupalCon Nashville.

Preparing for DrupalCon Nashville

In the lead up to DrupalCon Nashville in April, the team was in high-gear preparing for the event. We participated in a panel about the future of pull requests on, the public board meeting, and handled the keynote livestream process.

DrupalCon is always an incredible opportunity for the team to connect with the community about upcoming initiatives, support requests, and to plan for the future.

We were happy to see so many of you there, and we'll talk more about this in our April update.

Documentation enhancements

Our efforts to improve the quality of Drupal's documentation continued in March and April, as we added features:

  • New D7/D8 guides are now automatically approved, so new project contributors aren't blocked on documenting their projects.
  • Added Drupal version to page title for better searchability.
  • Follow/Unfollow links are available directly on the discuss page of any documentation.
In-context links to newer and older releases

To ensure that users are aware when there are newer releases than the one they may be looking at, we now provide newer and older release history on release nodes. In the sidebar of any release page you will see links and dates to related releases. Among other things, we hope this will prevent users from accidentally installing an older release when another new one has just come out!  

Email notifications for new maintainers

Encouraging succession planning in module maintership is an incredible challenge for any open source project. We want to encourage maintainers to invite contributors to their projects to help maintain those projects, but we recognize that we also have to make sure the appropriate tools are in place to make this a smooth process.

To make sure that new maintainers of projects are welcomed into the fold, we've added email notifications to let a user know when they've been added as a project co-maintainer. If you are invited by an existing maintainer of a project to help maintain it, you should now receive a warm welcome.

Security Release SA-CORE-2018-002

The Drupal Association Engineering Team collaborated with the Security Working Group and Security Team to coordinate 3 significant security releases in March and April.

The primary release was SA-CORE-2018-002, a highly critical security release for Drupal 7 and 8. For more information about all Drupal security releases and PSAs, please visit our security portal.

The volunteer Security Team has always been a tremendous asset to our community, and the Drupal Association is proud to support their work.

Infrastructure Updates DrupalCI: Support for testing themes

DrupalCI has enabled support for testing Themes, so now Theme projects on can include tests. This has become more and more necessary as javascript becomes critical to modern web design, and we hope this will help accelerate the build out of themes for Drupal 8 and increase their quality.


As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who make it possible for us to work on these projects. In particular we want to thank:

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Categories: Drupal


Subscribe to As If Productions aggregator