Commerce PayTabs

New Drupal Modules - 9 December 2017 - 9:07pm

This module integrates PayTabs with Drupal Commerce.
This is an offsite payment gateway. It provides credit card payments only, so far.

Installtion instructions:
* You can install this module via Composer (recommended), or
* clone it from Git repo, or
* Download the module from

Make sure to enable the 'Telephone' core module after installtion since this gateway requiers a phone number. A telephone field is added to the customer profile created by commerce.
This module may use external libraries in its future versions.

Categories: Drupal

Freelock : A custom quantity price discount for Drupal Commerce

Planet Drupal - 9 December 2017 - 1:01pm

We're in the midst of a Commerce 2 build-out for a client, and a key requirement was to preserve their quantity pricing rules. With thousands of products, and different pricing rules for each one, they need the price for each item in the cart adjusted to the appropriate price for the quantity purchased. When validating our plan for Drupal Commerce 2, we stumbled upon some examples of a custom price resolver, and knew this would work perfectly for the need.

Drupal 8Drupal CommerceDrupal PlanetField API
Categories: Drupal

Review Roundup

Tabletop Gaming News - 9 December 2017 - 11:00am
Ok, so I was being a little facetious, saying that we were expecting a Snowpocalypse here in Atlanta, with the little bit of snow that was coming down at the time… but… yeah… we had a bit of a Snowpocalypse. That was the view from my front door last night and it was still much […]
Categories: Game Theory & Design


New Drupal Modules - 9 December 2017 - 6:49am

Appends a cache buster to URLs generated by the public stream wrapper so that they will be cache busted by CDNs etc. when the contents of the file changes.

Categories: Drupal

Drupal useful tools

New Drupal Modules - 9 December 2017 - 5:38am

Drupal useful tools is a collection of tools which help with and simplify site building and development.

Components Views:

Provides "Theme" option inside "Advanced" column in Views UI. This option was in Drupal 7 and not ported (#2362413: Where to find "Theme information" - template suggestions in Views UI).
Fixes twigs problem with displaying view's theme suggestions.

Categories: Drupal

Contact Onlinepbx

New Drupal Modules - 9 December 2017 - 1:06am
Categories: Drupal

IDW Games Announces Masque of the Read Death Game

Tabletop Gaming News - 8 December 2017 - 3:00pm
Edgar Allen Poe is one of the world’s great authors. Inventor of the detective novel, he’s more well-known for his study of the macabre. One of his famous stories is Masque of the Red Death. Next year, players will be able to put themselves into the dark narrative, as IDW will be having a Kickstarter […]
Categories: Game Theory & Design

New Ninja Sets Available For Test of Honour

Tabletop Gaming News - 8 December 2017 - 2:00pm
Even though ninjas never really wrapped themselves in black like we see in pop culture (that was a kabuki theater thing. Ninjas dressed like everyone else so they didn’t stand out), it’s still fun to have ninja figures running around on our battlefields in their iconic look. Well, if you’re a Test of Honour player, […]
Categories: Game Theory & Design

Wim Leers: API-First Drupal — really!

Planet Drupal - 8 December 2017 - 1:54pm

This blog has been quiet for the last year and a half, because I don’t like to announce things until I feel comfortable recommending them. Until today!

Since July 2016, API-First Drupal became my primary focus, because Dries felt this was one of the most important areas for Drupal’s future. Together with the community, I triaged the issue queue, and helped determine the most important bugs to fix and improvements to add. That’s how we ended up with REST: top priorities for Drupal … plan issues for each Drupal 8 minor:

If you want to see what’s going on, start following that last issue. Whenever there’s news, I post a new comment there.

But enough background. This blog post is not an update on the entire API-First Initiative, it’s about a particular milestone.

100% integration test coverage!

The biggest problem we encountered while working on rest.module, serialization.module and hal.module was unknown BC breaks 1. Because in case of a REST API, the HTTP response is the API. What is a bug fix for person X is a BC break for person Y. The existing test coverage was rather thin, and was often only testing “the happy path”: the simplest possible case. That’s why we would often accidentally introduce BC breaks.

Hence the clear need for really thorough functional (integration) test coverage2, which was completed almost exactly a year ago. We added EntityResourceTestBase, which tests dozens of scenarios3 in a generic way4, and used that to test the 9 entity types, that already had some REST test coverage, more thoroughly than before.

But we had to bring this to all entity types in Drupal core … and covering all 41 entity types in Drupal core was completed exactly a week ago!

The test coverage revealed bugs for almost every entity type. (Most of them are fixed by now.)

Tip: Subclass that base test class for your custom entity types, and easily get full REST test coverage — 41 examples available!

Guaranteed to remain at 100%

We added EntityResourceRestTestCoverageTest, which verifies that we have test coverage for all permutations of:

  • entity type
  • format: json + xml + hal_json
  • authentication: cookie + basic_auth + anon

It is now impossible to add new entity types without also adding solid REST test coverage!

If you forget that test coverage, you’ll find an ASCII-art llama talking to you:

Good people of #Drupal, I present unto you the greatest method of all time.

— webcsillag (@webchick) December 8, 2017

That is why we can finally say that Drupal is really API-First!

This of course doesn’t help only core’s REST module, it also helps the contributed JSON API and GraphQL modules: they’ll encounter far fewer bugs!


So many people have helped! In random order: rogierbom, alexpott, harings_rob, himanshu-dixit, webflo, tedbow, xjm, yoroy, timmillwood, gaurav.kapoor, Gábor Hojtsy, brentschuddinck, Sam152, seanB, Berdir, larowlan, Yogesh Pawar, jibran, catch, sumanthkumarc, amateescu, andypost, dawehner, naveenvalecha, tstoeckler — thank you all!5

Special thanks to three people I omitted above, because they’re not well known in the Drupal community, and totally deserve the spotlight here, for their impressive contribution to making this happen:

That’s thirty contributors without whom this would not have happened!

And of course thanks to my employer, Acquia, for allowing me to work on this full-time!


What is going to be the next big milestone we hit? That’s impossible to say, because it depends on the chains of blocking issues that we encounter. It could be support for modifying and creating config entities, it could be support for translations, it could be that all major serialization gaps are fixed, it could be file uploads, or it could be ensuring all normalizers work in both rest.module & jsonapi.module

The future will tell, follow along!

  1. Backwards Compatibility. ↩︎

  2. Nowhere near 100% test coverage, definitely not every possible edge case is tested, and that is fine↩︎

  3. Including helpful error responses when unauthenticated, unauthorized or just a bad request. This vastly improves DX: no need to be a Drupal expert to talk to a REST API powered by Drupal! ↩︎

  4. It is designed to be subclassed for an entity type, and then there are subclasses of that for every format + authentication combination. ↩︎

  5. And this is just from all the per-entity type test issues, I didn’t look at the blockers and blockers of blockers. ↩︎

  • Acquia
  • Drupal
Categories: Drupal

Revised Edition of Kingsburg Now Available

Tabletop Gaming News - 8 December 2017 - 1:00pm
Games can occasionally need a bit of an update. Mechanics can be smoothed out. Art assets can be redone. Components can get a change in material or quality. In the end, you’ve got an old game that has a new feel to it. For those that are fans of Kingsburg, you’ll be happy to see […]
Categories: Game Theory & Design

New Saxons Available For Hail Caesar

Tabletop Gaming News - 8 December 2017 - 12:00pm
There’s quite a lot of you out there with Saxon blood in your veins. Now, there can be quite a lot of you with Saxon minis out on your gaming tabletop (and, depending on how careful with your craft knife while cleaning and assembling the figures, you might have your Saxon blood out there as […]
Categories: Game Theory & Design

Friday Snippets

Tabletop Gaming News - 8 December 2017 - 11:00am
Apocalypse! Armageddon! The End of Times! Yes, it’s lightly snowing here in Atlanta. … Ok, so it’s kinda hard to see in that photo, but it’s actually picked up a bit more here. So, while we prepare our milk sandwiches with bleach, we can also nibble on some bite-sized gaming stories. Today on the platter […]
Categories: Game Theory & Design

Wyrd Previews Barbed Crawlers For The Other Side

Tabletop Gaming News - 8 December 2017 - 10:24am
Fridays are a magical time. They’re the gateway to the weekend, giving us a bit of freedom at the end of the work day. Fridays are also magical because Wyrd likes to give us regular previews. In this case, it’s a bit of a spiny preview for The Other Side. Have yourself a look at […]
Categories: Game Theory & Design

Majesty: For the Realm Now Available From Z-Man Games

Tabletop Gaming News - 8 December 2017 - 10:00am
The throne is empty. A new monarch must be set upon it. But whom should lead? Obviously, it should be the ruler of one of the realms that has shown that they are the most-prosperous and best leader. No bloodline nonsense. This is a merit-based system. Prove you’re the best ruler and you’ll be put […]
Categories: Game Theory & Design


New Drupal Modules - 8 December 2017 - 9:56am
Categories: Drupal


New Drupal Modules - 8 December 2017 - 9:10am

Provides a Drupal Console command which can generate a composer.json from your installed Drupal code base, which can be used to regenerate that code base by running composer install. Embrace the future!

To use, install Drupal Console. Then install this module, and run this command from inside your Drupal root:

$ drupal make:composer

This will output the contents of the generated composer.json. To save it to a file, pipe it:

Categories: Drupal

Paragraphs View Modes

New Drupal Modules - 8 December 2017 - 9:05am

This module contains a behavior plugin for the Paragraphs module. This plugin allows you to select a different view mode for the paragraph in the content add/edit form.

Categories: Drupal

Team Yankee: Stripes Releasing Now

Tabletop Gaming News - 8 December 2017 - 9:00am
Team Yankee looks at what WWIII might look like as the forces of NATO go against the Soviets on the fields of Europe. This week, the Stripes book came out, adding to the American forces. This new book can be picked up now. Next week, we’ll be seeing new versions of several American units, including […]
Categories: Game Theory & Design

Aegir Dispatch: Re-positioning Ægir

Planet Drupal - 8 December 2017 - 8:39am
Last week, Colan and I attended SaasNorth, a conference for Software-as-a-Service founders and investors, with a strong focus on marketing, finance and growth. To be honest, we were a little skeptical at the near total absence of technical content. However, we were pleasantly surprised by some of the truly excellent speakers we heard. The one that had the most impact on us was April Dunford’s OBVIOUSLY AWESOME – Using context to move your customers from “What?
Categories: Drupal

LakeDrops Drupal Consulting, Development and Hosting: 3 minutes: Starting Drupal 8 project with a composer template

Planet Drupal - 8 December 2017 - 8:11am
3 minutes: Starting Drupal 8 project with a composer template Jürgen Haas Fri, 12/08/2017 - 17:11

Starting a new Drupal 8 project with the LakeDrops composer template only takes less than 3 minutes. And in that short period of time you're note only getting the code base but also a number of extra benefits:

Categories: Drupal


Subscribe to As If Productions aggregator