Term Tree Selector

New Drupal Modules - 5 September 2018 - 3:02am

Provides configurable root/leaf selector blocks for term trees with 2 or 3 levels.

Terms will only show in the selector if they are published and have content.


Once enabled, you can place one or more "Term Tree Selector" blocks with the following configuration:

Categories: Drupal

Acro Media: Live Component Guide with Drupal Paragraphs

Planet Drupal - 5 September 2018 - 2:00am
The making of Acro Media’s website content creation framework

It’s common place for brands to create guides so that there is a constant standard to follow when working with the brand’s identity. These are generally called Style Guides. We have one ourselves that we use when designing internal documents and printed layouts. This is great when it comes to branding, but how do you go about maintaining a level of consistency for something larger, such as a website? We recently underwent a fundamental shift in the way we create our website content, and with it, the Live Website Component Guide was born.

The Content Type Crux

For those familiar with Drupal, creating something called a Content Type is a common way to go about setting up a type of content - think your standard web page, blog post, frequently asked questions, rich media slider, etc. That content type can then be used to generate the pages of your website.

This works well enough if your site doesn’t need to change, but our marketing team is constantly looking to adapt to new trends, change content layouts, and A/B test. A website should ideally be dynamic and quick to change, however, changes ended up taking a lot of time because they need to first be designed and then built. The standard Drupal content type is rigid and the layout is fixed, so if you want to change the layout, the change is going to cascade to any page that uses that Content Type. Because of this, we often needed to create a whole new Content Type, template and styling. Something that should be quick ends up taking weeks because our process just wasn’t efficient. And furthermore, the more code we introduced, the more difficult the site was to maintain.

Eureka! Paragraphs

In February of 2017, we had a “eureka” moment while attending the Pacific Northwest Drupal Summit in Vancouver, BC, Canada. Here we learned about a new (to us) content creation module called Paragraphs. I know many people have been using this module for a while now, but it was new to us and we immediately saw the potential. As stated on the Paragraphs module’s project page:

“Paragraphs is the new way of content creation! It allows you — Site Builders — to make things cleaner so that you can give more editing power to your end-users.”

And it DOES do that! Instead of thinking in ‘pages’ we can now think in ‘components’. The graphic below illustrates this. On the left, a representation of a standard Drupal page layout using a Content Type. On the right, the same page broken out into individual Paragraphs components.

Content Type vs Paragraphs

What this module allowed us to do is to remove the rigid structure of the Content Type and instead build out a set of individual, standalone components that can then be inserted into a page wherever we want. If we want to add a new component to a page, we just select the component from a list and place it on the page. To remove one, we just click a remove button. To change the order, all we need to do is drag and drop the component where we want it. If there is a component that we need, but doesn’t yet exist, we can now create just that one component. It makes things fast!

The content creation aspect is incredible dynamic and easy to use. The best part of all is that once the components are built, the only need for a developer is to create new components later on. The actual content creation can easily be done by anyone with a very small bit of training.

From a design point of view, our designers can now piece a layout together knowing exactly what components are available to them. They know that if we’re missing a component, they can come up with something new and it’s not going to take weeks to implement. Plus, we already loosely follow the Atomic Design methodology by Brad Frost, so the whole concept was easy for them to grasp and got them excited. In fact, our Creative Director jumped on this concept and we now include a full set of content creation Paragraphs components in every new project that we build.

An example of how easily we can generate page layouts using component driven design.

Things get very easy from a code maintenance point of view too! We created each of our components to have a standalone template and styling. This means that things stay consistent throughout the site no matter how a page has been setup. If we need to make a visual change to a component, we make it once and the change cascades throughout the site. The code base is small and logical. Anyone new to the project can jump in and get up to speed quickly.

Our Live Website Component Guide

So, if you’ve read this far, I bet you want to see it in action? You’re in luck! I recorded a quick video that shows you how it works using our corporate website’s Live Website Component Guide. You can watch the video below or view the page in all its glory.

Categories: Drupal

BUSINESS SUSTAINABILITY: Best Practise Guidelines - by Krzysztof Solarski Blogs - 5 September 2018 - 1:23am
Promoting sustainable business practises is a key issue for the International Game Developers Association. This white paper aims to provide practical tips for sustainable management—featuring a series of points that have immediately actionable value.
Categories: Game Theory & Design

OpenSense Labs: HowTo: Change the PHP version on Apache or Nginx

Planet Drupal - 5 September 2018 - 12:42am
HowTo: Change the PHP version on Apache or Nginx Raman Wed, 09/05/2018 - 13:12

New versions of PHP bring new features and fixes for security issues and bugs. Migrating from one version to another can often lead to incompatibilities. As of writing this article, PHP 7.2 is the latest stable release and PHP 7.3 is expected to be released in December 2018. currently recommends PHP 7.1+ for new projects and encourages the community to plan an upgrade for older versions.

Drupal, as we know, is a CMF written in PHP. It uses various PHP libraries and components including the Symfony framework, the Twig template engine, PHPUnit, Guzzle, etc. Hence, it is always recommended to do a compatibility check with all the components, libraries and core/contributed modules of your Drupal site before upgrading to newer versions of PHP.

Now, the process of changing the PHP version of your Drupal site may vary with your hosting provider and the access level that you have on the server. But for this tutorial, Ubuntu 16.04.4 LTS with Apache 2.4.18 and Nginx 1.10.3 was used. Few commands, configuration files, and directory paths may differ with your system and the version of web servers.

Checking the current PHP version

First and foremost, let us see what all versions of PHP are currently installed on our system.

$ update-alternatives --display php

You may also check all the installed PHP packages along with its extensions using:

$ apt list --installed | grep "php*"

By default, the one with the highest priority will be the command line version. That is, if we use the interactive shell or parse a PHP file through the terminal, this version will be used.

$ php -v

However, this selected command line version may/may not be the configured with your web server. To check the PHP version configured with the web server, you may create a phpinfo() page or echo out the PHP_VERSION_ID constant / phpversion() function.

$ cd /var/www/html/drupal8 $ drush php-eval "echo phpversion();


List of PHP configurations provided by phpinfo()

If you do not have the access to your server through SSH, you may also view the current PHP version using the Status Reports of your Drupal site available under /admin/reports/status.

Checking the PHP version using Drupal’s Status Report
Why Update to PHP 7?

Here are some of the reasons why you need to upgrade from PHP 5 to PHP 7:

  1. PHP 7 is twice as fast as PHP 5. The huge upward shift in performance is one of the reasons why an upgrade is important. This means your website loads in lesser time, giving your web users another reason to stay on your website. 
  2. PHP 7 supports simultaneous execution of asynchronous tasks. Tasks such as networks, access to the database, timers and perform events related to I/O operations can be done asynchronously by putting in place a single PHP event-loop. 
  3. It is mobile-first. Of course, you need to offer a better value proposition to your users. And mobile users cant be ignored here. PHP 7 offers exactly what businesses need to do to cater to the needs of mobile device users.

    It offers reduced memory usage, execution engine improvements, and native local threat storage which are specifically suited to mobile devices that have limited browsing features. 
  4. Uses lesser memory. PHP 7 has demonstrated that technology infrastructure can process higher computing requests without consuming proportionately higher memory. 
How to change the PHP version?

Since Apache and Nginx are the most popular web servers in the market, we will have a quick look on how to change the PHP version on them. Also, it is highly recommended to have a backup of your Drupal site before tinkering around with any of the configurations on your server.

Now, in my case, I have PHP 7.0 configured on the web server and Drupal is giving a nice recommendation to upgrade it. But I do not have the latest PHP 7.2 installed on my system, so, I will first download it along with the required PHP extensions.

These include extensions for URL, JSON, Image, Library, Mbstring, Open SSL, and XML. But, just to ensure that all the extensions get installed, let’s install them manually.

$ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get install php7.2 php7.2-fpm php7.2-xml php7.2-mysql php7.2-gd

You may view the packages using dpkg -l php7.2* to confirm.

I. Command Line Version

To change the command line version of PHP you may use the following command. Again, changing this won’t affect the version used by the web server.

$ sudo update-alternatives --config php

Enter the choice number mentioned besides the desired PHP version


$ sudo update-alternatives -set php /usr/bin/php7.2

II.  Apache

For Apache web server, the a2enmod and a2dismod scripts can be used for enabling and disabling the PHP modules.
Disable all the previously enabled PHP modules

$ sudo a2dismod php5.6 $ sudo a2dismod php7.0 $ sudo a2dismod php7.1

Enable the new PHP version module

$ sudo a2enmod php7.2

Restart the web server    

$ sudo service apache2 restart


PHP version for a specific website can also be set through to the .htaccess file in the following way.

AddHandler application/x-httpd-php72 .php

III. Nginx

For Nginx, we simply need to update the PHP-FPM socket in its configuration file. But before that make sure that the PHP-FPM is installed for your version and is running as a service.

Take a backup of the default configuration file and then open it up in your favourite text editor.

$ cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak $ sudo vim /etc/nginx/sites-available/default

Change the FastCGI backend to use the new PHP-FPM socket, save and exit the file

location ~ \.php$ {         include snippets/fastcgi-php.conf;         fastcgi_pass unix:/run/php/php7.2-fpm.sock; }

Run the configuration test

$ nginx -t

Restart the web server

$ sudo service nginx restart

We have now successfully changed the PHP version of our Drupal site. Now, navigate to Manage → Reports → Status report to ensure that the version has been changed and there are no errors or warning from any Drupal module or PHP library.

Observe that the PHP version has been updated to 7.2.9-1

As expected, it did not produce any errors or warnings on a raw Drupal 8 installation. If you face any issues, make sure you installed all the required PHP extensions for your PHP version, check the log messages and refer the issue queues of the core and contrib modules.

In case of any queries or suggestions, feel free to drop down a comment.

blog banner blog image Drupal Apache Nginx Blog Type Tech Is it a good read ? On
Categories: Drupal

Feature Policy

New Drupal Modules - 4 September 2018 - 7:57pm

Configure a Feature Policy header for your site.

Categories: Drupal


New Drupal Modules - 4 September 2018 - 7:54pm

Configure Reporting API endpoints for use by browser features such as Content Security Policy and Feature Policy.

Categories: Drupal

Compound Title

New Drupal Modules - 4 September 2018 - 2:45pm

Provides a compound title field which can be very useful if you want an entity label which is composed of two separate texts.

For generating the usual node title the module has a dependency for Automatic Entity Label. The configuration can easily be done by using the above module token patterns settings.

Categories: Drupal

Anthem isn't charging for story DLC in an effort to keep its audience undivided

Social/Online Games - Gamasutra - 4 September 2018 - 12:05pm

BioWare†™s upcoming multiplayer game Anthem won†™t be locking post-release story content behind a paywall. ...

Categories: Game Theory & Design

GDC 2019 is looking for great AI talks, so submit yours today!

Social/Online Games - Gamasutra - 4 September 2018 - 10:27am

Hey devs, submit your pitches for talks for next year's GDC AI Summit, which presents panels and lectures from top game AI programmers, designers, researchers, and AI enthusiasts in the industry! ...

Categories: Game Theory & Design

A new notice from China’s Ministry of Education, and its impact on games - by Lisa Hanson Blogs - 4 September 2018 - 7:36am
On August 30th, China's Ministry of Education issued a notice aimed at preventing myopia among minors. The notice was issued because the increase in gaming and internet may be leading to higher rates of myopia. This may have a significant impact on games.
Categories: Game Theory & Design

Skellige’s Costly Landscape - by Justin Reeve Blogs - 4 September 2018 - 7:34am
Why do so many open worlds feel artificial? This article dives into how landscape archaeology can be used to inform open-world level design.
Categories: Game Theory & Design

Building a mod toolkit for Edge Of Eternity - by ZELER-MAURY Jeremy Blogs - 4 September 2018 - 7:33am
From great tools come great creativity, this is our motto to create a modkit that will push the community forward into creating new awesome content for Edge Of Eternity
Categories: Game Theory & Design

A Practical Use for Recursion in Game Development - by Harold Bowman-Trayford Blogs - 4 September 2018 - 7:31am
Recursion is supposed to be a powerful development technique, but not only is it a challenge to write and debug, but finding practical examples of when it can be used can be a real challenge too. In this article I will discuss one such example.
Categories: Game Theory & Design

Resort - A surreal game about emotions, introspection and coping. - by Marcus Bäumer Blogs - 4 September 2018 - 7:30am
Announcing Resort - an interactive mystery short story about emotions, introspection, and coping. Join writer Laura Tanner on a surreal journey and face an odd intersection of dreams and reality.
Categories: Game Theory & Design

Animated Loading Icon In UE4 UMG - by James R Blogs - 4 September 2018 - 7:22am
A step by step on how I created an animated loading icon in UE4 UMG in the silhouette of a running rat to fit our games plague theme.
Categories: Game Theory & Design

Trusted redirect

New Drupal Modules - 4 September 2018 - 7:21am

Drupal by default does not allow redirect responses to be redirected to external destinations.

This module allows that.

It introduces configurable list of external hosts which are white-listed. So anytime the redirect response is served the module checks if the destination contains trusted host. If yes then the redirect is normally processed.

Categories: Drupal

Gamescom 2018: the future of gaming and other insights - by Yura Yashunin Blogs - 4 September 2018 - 7:18am
Scalarr at Gamescom 2018: the future of gaming and other insights from the biggest gaming conference in Europe.
Categories: Game Theory & Design

The challenge of finding enough playtesters - by Joost van Dongen Blogs - 4 September 2018 - 7:17am
Finding playtesters who'll play your game weekly online is really difficult. But should you? This post discusses why you should not let the same people test all the time and how to find enough playtesters.
Categories: Game Theory & Design

Genetic Algorithms in Games (Part 1) - by Patrick Kelly Blogs - 4 September 2018 - 7:16am
Part of the problem with procedural generation is ensuring the content is both interesting and challenging across multiple playthroughs. Genetic algorithms offer us a novel solution to this problem.
Categories: Game Theory & Design

Planning and the Unknown Unknowns - by Richard Atlas Blogs - 4 September 2018 - 7:14am
In this blog post, I talk about why we always fail to meet our deadlines and why our plans never work out, an some ways to mitigate that using psychology from Daniel Kahneman's book-- Thinking: Fast and Slow.
Categories: Game Theory & Design


Subscribe to As If Productions aggregator