Ocarina of Time Dungeons Ranked Part 2 - by Caleb Compton Blogs - 15 October 2019 - 7:23am
Last week I looked at the first six dungeons in Ocarina of Time, and gave my thoughts on where they rank. This week I finish the job and rank the remaining 6!
Categories: Game Theory & Design

js13kGames entry postmortem — Back to the basics - by Tom Hermans Blogs - 15 October 2019 - 7:23am
I made a game for js13k, in which you have to deliver a 13kb browser game. I talk about how I designed around this limitation in my entry Backflipped!
Categories: Game Theory & Design

Video game devs: make a board game, it’ll be good for you! - by Salim Larochelle Blogs - 15 October 2019 - 7:23am
When working on one video game project for several years, small-scale board game projects on the side might help you deal with the stress while keeping you focused.
Categories: Game Theory & Design

A Postmortem. Making Games Is Easy. Selling Them, Not So Much. - by Chris Shrigley Blogs - 15 October 2019 - 7:22am
To mark the 1 year anniversary of releasing my last game, and after mulling on the project for the past year, I thought I’d do a quick postmortem (of sorts) on the project. Some hard lessons were learned and some truths uncovered, so here goes..
Categories: Game Theory & Design

How to get your game featured in the App Store - by Kate AppFollow Blogs - 15 October 2019 - 7:22am
A year ago we looked at apps that Apple liked to feature. Back then the editors preferred free apps and apps with in-app purchases with 4+ stars prevailed. What has changed? We've analyzed the prices, ratings and categories of these featured apps in 2019.
Categories: Game Theory & Design A decade of Drupal

Planet Drupal - 15 October 2019 - 6:27am

Last month I begun my second decade of working with Drupal! How crazy is that? I started at ComputerMinds in 2009. Drupalcon Paris was my first week on the job - I just remember taking so many notes, as if it were a university course! I had a lot to learn then, but now I can look back with a much more experienced head, hopefully wiser, with some sort of perspective.

The conference room before the keynote at Drupalcon Paris 2009, when my career with Drupal began.


My first steps with Drupal were on Drupal 6. It could do a lot (at least once CCK and Views were installed), and Wordpress was much smaller so the two were still occupying a similar space in the market. Most of the sites we built were trying to be a mini social network, a blog, or a brochure site, sometimes with e-commerce thrown in. There were rounded corners everywhere, garish pinks, and some terribly brittle javascript. Supporting Internet Explorer 6 was a nightmare, but still necessary.

It's probably only over the last few years that it became clear that Drupal's strength is its ability to be turned to just about anything that a website needs to do. That has meant that whilst alternative products have picked up the simpler sites, Drupal has been brilliant for projects with complex requirements. Integrating with CRMs and all sorts of other APIs, handling enormous traffic loads, providing content for apps - this kind of stuff has always been Drupal's jam. You just have to know how to get it hooked up in all the right places!

Speaking of hooks, it's been interesting to see Drupal move from its famous magical hooks, towards event-driven architecture. For me, that single shift represented an enormous change in direction for Drupal. I believe the events/subscriber pattern, as a part of a wider effort in Drupal 8 to deliberately use existing well-defined design patterns and solutions, is a sign of a much more mature and professional platform. Most coding problems have been solved well elsewhere, we shouldn't reinvent the wheel! (Although I know I can be guilty of that!) That's just one example of how the Drupal ecosystem has become more professional over the last ten years. Formal testing is another example. Many people have felt left behind by this shift, as a need in the enterprise world that Drupal could meet was identified. 'Enterprise' gets used as a dirty word sometimes - but to be frank, there's more money and more suitable opportunity there!

That is something the Drupal community has to be honest about. It is rightly aiming to champion diversity, and be as accessible as possible for as many as possible across the world (I especially love that Drupal is now so good for multilingual projects). It's not like Drupal is suddenly inappropriate for smaller projects - in fact, I'd still suggest it's far ahead in many aspects.

But money makes things happen, and gives people their livelihood. I appreciate seeing honesty and innovation about this coming from community leaders. Thankfully those kinds of values are what drive the Drupal project, even if money is often the facilitator. As a community we must always fight to keep those things in the right relation to each other: money has an inevitable influence that we must accept, but it must be led by us and our values, not the other way around. I should add that I am very aware that I am privileged to be a developer in a leading Drupal agency, so my opinion will be shaped by that position!

To end with honesty and innovation myself, I would love to see the following carried into the Drupal project's next 10 years, which I saw the community espouse over the last decade. I know I need to grow in these things myself!

  • Maintain excellence, even as the make-up of the community changes.
  • Deliberately listen to under-represented portions of the community, as an intentional force against the skewing effect of money/power.
  • Keep watch for what competitors and other relevant products are doing, to incorporate worthwhile things wherever possible.
  • Reflect on the strengths & weaknesses of Drupal (and its community) with honesty. Let's make the most of what makes Drupal what it is and not be afraid for it to focus on that; the same goes for us as individuals.

I'm proud to work with Drupal, long may it continue!

Categories: Drupal

JSON:API Reference

New Drupal Modules - 15 October 2019 - 5:47am

JSON:API reference provides a field type Typed Resource Object, that is similar to an entity reference field. However, rather than refer to an entity on the same Drupal installation, this refers to a resource object exposed via JSON:API.

For example - if you are syndicating content from one system to another, you may want to create a typed resource object field on the user entity type on the source system, which refers to the corresponding user on the destination system.

Categories: Drupal

IMCE Private Public Buttons

New Drupal Modules - 15 October 2019 - 4:42am

The IMCE Private module adds seperate IMCE buttons for private and public files to CKEditor, so you can access the non-default filesystem.

Categories: Drupal

Taxonomy export csv

New Drupal Modules - 15 October 2019 - 4:11am

This module provides a taxonomy terms export in CSV format for Drupal taxonomy terms 7 to 8 migration.

1. Goto your Drupal site, path: sites/all/modules.

2. Enable the "Taxonomy export csv" module by navigating to:

administer > modules

1. Go to below URL:

2. Select vocabulary and click "Export terms" button.

Download expected vocabulary terms in CSV format.

Categories: Drupal

Lang switch as per browser lang

New Drupal Modules - 15 October 2019 - 3:02am

Show a modal popup to choose languages enabled in Drupal as per browser default language.

Categories: Drupal

Specbee: How to create a custom Layout builder in Drupal 8

Planet Drupal - 15 October 2019 - 2:58am
How to create a custom Layout builder in Drupal 8 Neslee Canil Pinto 15 Oct, 2019 Top 10 best practices for designing a perfect UX for your mobile app

Drupal 8 is making things so much easier for content authors. One of the most important reasons being the addition of the Layout Builder module in core Drupal 8. With easy drag and drop interface, preview and customizing abilities, the layout builder is soon becoming a favorite page-building and designing tool.

In my previous article, I wrote about how you can get started with installing and using Drupal 8’s Layout builder. Here, I want to share my knowledge on customizing a layout builder for unique requirements.

If your website needs multiple sections with multiple blocks, then you can’t use the default sections that are provided by Drupal. For this, you can create your own custom layout.

Getting Started

We will first create a custom module for our custom layout builder We will name the folder as custom_layout.Next, we will create an info.yml file. We should specify the basic keys for it. Custom layout builder will have a dependency on the layout builder module. Let us specify it over here.

Code: name: 'Custom Layout' type: module description: 'Provides a way for building layout' core: 8.x package: 'Custom' dependencies: - layout_builder:layout_builder

Next we will create layouts.yml file to specify regions for our custom layout.

  • custom_layout: key for our custom layout.
  • label: Label for our custom layout.
  • category: Category for our custom layout.
  • default_region:  Default region are the regions which are default in all type of layout.
  • icon_map: Icon which will be shown up while we choose our layout.


To create above icon map we need to follow below steps.

1. First row is “Header Left” and “Header Right”
         We have specified - [header_left, header_left, header_right] - header_left is             
         defined 2 times so it will take 2 parts of total width of the   screen then header_right will take rest of the portion so ratio will be  “75%/25%”.
2. Second row is “Content” and “Sidebar”
        We have specified - [content, content, sidebar]   same above logic applied here.    
3.  Third row is “Footer Left” and “Footer Right”
        We have specified - [footer_left, footer_right] -  since there are only 2 regions it will take 50% each.

  • regions: Regions which we need for our layout. We have header_left, header_right, sidebar, content, footer_left, footer_right.


custom_layout: label: 'Custom Layout' category: 'Custom Layouts' default_region: content icon_map: - [header_left, header_left, header_right] - [content, content, sidebar] - [content, content, sidebar] - [content, content, sidebar] - [footer_left, footer_right] regions: header_left: label: Header Left header_right: label: Header Right sidebar: label: Sidebar content: label: Content footer_left: label: Footer Left footer_right: label: Footer Right

Next, let us create an html structure for our layout. We will create a folder named “layouts” within our module. In the folder we will create another folder named “custom_layout”

And within that folder, we will create twig file named “custom-layout.html.twig” 

We have to specify the twig file in layouts.yml 

  • path: It specifies in which folder your html structure will be written
  • template: It specifies which twig template to use for this layout under the path.


Code: custom_layout: label: 'Custom Layout' path: layouts/custom_layout category: 'Custom Layouts' template: custom-layout default_region: content icon_map: - [header_left, header_left, header_right] - [content, content, sidebar] - [content, content, sidebar] - [content, content, sidebar] - [footer_left, footer_right] regions: header_left: label: Header Left header_right: label: Header Right sidebar: label: Sidebar content: label: Content footer_left: label: Footer Left footer_right: label: Footer Right

Next we will write html structure for our regions in “custom-layout.html.twig” file.
We will set classes has “layout” and “layout--custom-layout”  and we will wrap the whole content inside it.
We will specify regions which where been defined in layouts.yml , we can access those regions like “{{ content.header_left }}”


{% set classes = [
] %}
{% if content %}
   {% if content.header_left %}
       {{ content.header_left }}
   {% endif %}
   {% if content.header_right %}
       {{ content.header_right }}
   {% endif %}
   {% if content.content %}
       {{ content.content }}
   {% endif %}
   {% if content.sidebar %}
       {{ content.sidebar }}
   {% endif %}
   {% if content.footer_left %}
       {{ content.footer_left }}
   {% endif %}
   {% if content.footer_right %}
       {{ content.footer_right }}
   {% endif %}
{% endif %}

After the html structure is written, we will have to write css for each region. We will now create libraries.yml in our custom module.



custom_layout: version: VERSION css: theme: css/custom_layout.css: {}

We will define that library in layouts.yml



custom_layout: label: 'Custom Layout' path: layouts/custom_layout category: 'Custom Layouts' template: custom-layout library: custom_layout/custom_layout default_region: content icon_map: - [header_left, header_left, header_right] - [content, content, sidebar] - [content, content, sidebar] - [content, content, sidebar] - [footer_left, footer_right] regions: header_left: label: Header Left header_right: label: Header Right sidebar: label: Sidebar content: label: Content footer_left: label: Footer Left footer_right: label: Footer Right

Now let’s start with styling our regions block. We will specify structure  for each region as below-


.layout--custom-layout { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media screen and (min-width: 40em) { .layout--custom-layout .layout__region--header_left { -webkit-box-flex: 0; -ms-flex: 0 1 70%; flex: 0 1 70%; } .layout--custom-layout .layout__region--header_right { -webkit-box-flex: 0; -ms-flex: 0 1 30%; flex: 0 1 30%; } .layout--custom-layout .layout__region--content { -webkit-box-flex: 0; -ms-flex: 0 1 70%; flex: 0 1 70%; } .layout--custom-layout .layout__region--sidebar { -webkit-box-flex: 0; -ms-flex: 0 1 30%; flex: 0 1 30%; } .layout--custom-layout .layout__region--footer_left { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } .layout--custom-layout .layout__region--footer_right { -webkit-box-flex: 0; -ms-flex: 0 1 50%; flex: 0 1 50%; } }

Next, let us enable our custom module

Let us go to Structure -> Content types and click on “Manage display” for any content type. For now we will use ‘article’ content type.

After we choose our custom layout-


I hope this brief tutorial helps in getting you started with creating a custom Layout Builder in Drupal 8.Our Drupal team can help you build high-performing and easy-to-use Drupal websites. Contact us today to know more.


Drupal Planet Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image How to create a custom Layout builder in Drupal 8 Image Getting Started with Layout Builder in Drupal 8 - A Complete Guide Image Drupal Support and Maintenance –What you need to know and what should you expect? Explore Our Drupal Services TAKE ME THERE Featured Success Stories

Know more about our technology driven approach to recreate the content management workflow for [24]


Find out how we transformed the digital image of world’s largest healthcare provider, an attribute that defined their global presence in the medical world.


Develop an internal portal aimed at encouraging sellers at Flipkart to obtain latest insights with respect to a particular domain.

Categories: Drupal

Case study: Steam's 'Deal Of The Day' & DLC attach - by Simon Carless Blogs - 15 October 2019 - 2:04am
Interpreting some real-world data posted on Twitter by David Leon, the lead creator of shadow-based stealth action game Aragami, to find out some interesting facts about Steam Daily Deals & DLC attach rates.
Categories: Game Theory & Design

Menu Title Length

New Drupal Modules - 15 October 2019 - 1:36am

This module allows to set the maximum length for Menu Title

Categories: Drupal

Third & Grove: It *IS* Possible — Achieving Flawless Performance with Our New Site

Planet Drupal - 15 October 2019 - 12:00am

In our recent rebrand at Third and Grove, we took on a Drupal headless build with a Gatsby front end. With any project where you are pushing the limits of what technologies are capable of, there were some growing pains. 

These growing pains resulted from a few other places too (developers less familiar with React and Gatsby, using new and actively changing tools). We ran into some issues that we thought were really strange with bundle sizes, which turned out to be due to the way we were querying images. We also ran into load time issues with some SVGs that were being handled with a library called svgr. We also had a few fonts to load. Well, 18 (yeah that’s right). As a last resort implementing our own lazy loading helped bring us in a perfect lighthouse score!

Categories: Drupal


New Drupal Modules - 14 October 2019 - 11:58pm

This modules provides a connection between Airtable and Drupal. By exposing external tables via config entities, the content of those tables can be used internally.

  • Key: we use the Key-module in order to store the
    Airtable API Key.

Install this module via Composer using `composer req drupal/airtable`.

Categories: Drupal


New Drupal Modules - 14 October 2019 - 11:31pm

Drupal module for Automatic Persisted Queries compatible with the apollo-link-persisted-queries project's protocol.

Categories: Drupal

The public preview for Xbox's streaming service Project xCloud is now live

Social/Online Games - Gamasutra - 14 October 2019 - 2:30pm

Microsoft has kicked off the public preview for Project xCloud, and is slowly beginning to dole out invites in waves to those that signed up for consideration last month. ...

Categories: Game Theory & Design

Don't Miss: The unconventional launch of Fortnite

Social/Online Games - Gamasutra - 14 October 2019 - 1:51pm

In this GDC 2018 session, Epic Games' Ed Zobrist discusses the unique challenges of launching Fortnite and goes into the strategy and impact of adding the successful Battle Royale mode. ...

Categories: Game Theory & Design

Promet Source: Site Gives Librarians Tools to Encourage Youth to Code

Planet Drupal - 14 October 2019 - 12:08pm
There’s no question that literacy in the 21st Century is a multi-faceted concept that extends far beyond books on the shelves.
Categories: Drupal

Commerce Paga+Tarde

New Drupal Modules - 14 October 2019 - 11:58am

The extension provides Paga + Tarde ( ) payment integration for Drupal Commerce 2 which enables payment processing using financing.

Benefits for your customers
Differentiate with competition via financing payments!

Paga + Tarde offers the way to finance your sales, allowing customers split the payments and boost the sales.

- Provide partial payments
- Boost sales
- No technical configuration

Categories: Drupal


Subscribe to As If Productions aggregator