New Drupal Modules - 2 March 2019 - 3:12am

Make use of meteo services from the input of other fields like Address or Geofield.

Categories: Drupal


New Drupal Modules - 2 March 2019 - 1:41am


Brains and guts of a layout library.

Integrates Outlayer for layout libraries like Isotope, Masonry, Packery with Blazy and GridStack. Outlayer will make awesome GridStack layouts filterable, sortable, searchable.

Categories: Drupal

Prevent Term Delete

New Drupal Modules - 2 March 2019 - 1:35am

Prevent Term Delete module is built to restrict the taxonomy term deletion when the taxonomy term is associated with nodes or used in entities using taxonomy term reference.


Categories: Drupal

Decoupled quiz

New Drupal Modules - 2 March 2019 - 12:37am

The Decoupled Quiz module provides an interactive quiz that allows site owners to ask users a specific set of questions that are meant to give recommendations to users based on their answer selections.

The module, that is built according to decoupled pattern, provides required entities, exposes endpoints, provides a sample container for frontend components and contains an example of a decoupled component constructed in React.

Future features

Categories: Drupal

Ubercart Payment Eurobank

New Drupal Modules - 1 March 2019 - 5:26pm

Adds a payment method to Ubercart to accept credit card payments through Eurobank
Redirect (Greek bank).

Implementation follows the Eurobank Redirect specifications from Cardlink.

Categories: Drupal

Dismissible Message Bar

New Drupal Modules - 1 March 2019 - 1:52pm
Categories: Drupal

Lullabot: Lullabot Team Retreat 2019

Planet Drupal - 1 March 2019 - 12:05pm

Our annual company retreat happens at the beginning of each year. It’s a perfect time to think of the intentions we want to set in our personal and professional lives. This year’s retreat was once again at the quiet and unassuming Smoke Tree Ranch in Palm Springs, California. It’s a destination that now feels like home for Lullabot, with this year marking our fifth trip to the same place.

Categories: Drupal

User Guide Tests

New Drupal Modules - 1 March 2019 - 11:01am

This project exists solely to run automated tests for the User Guide project. The tests also generate screenshot images that are used on pages of the User Guide, and database/file backups that can be used to set up a local demo site ready to follow the steps at intermediate chapters of the User Guide.

Categories: Drupal

Roblox boasts over 1 billion hours of engagement per month

Social/Online Games - Gamasutra - 1 March 2019 - 10:45am

The figure is 20 times the monthly engagement the online sandbox platform saw back in 2013. ...

Categories: Game Theory & Design

Commerce Product Variation CSV

New Drupal Modules - 1 March 2019 - 9:29am

Provides CSV export and import capabilities for managing a product's variations.

Categories: Drupal

Facets Custom Label

New Drupal Modules - 1 March 2019 - 8:09am

Facets Custom Label module is a facet processor which lets you rename / relabel facets items.

Categories: Drupal

Kliuless #25: The Post-Platform Metaverse - by Kenneth Liu Blogs - 1 March 2019 - 7:05am
Each week I compile a gaming industry insights newsletter that I share with other Rioters, including Riot’s senior leadership. This edition is the public version that I publish broadly every week as well. Opinions are mine.
Categories: Game Theory & Design

Art and Storytelling: what are your sources of inspiration? - by Anastasiya Rashevskaya Blogs - 1 March 2019 - 7:04am
Storytelling is a buzzword in the world of art. A gripping story is the foundation of any top-rated game. What if you can't find the right idea? KEVURU GAMES provides 5 top sources to find inspiration for your new game.
Categories: Game Theory & Design

5 incredible Indie Switch Games No-one is Talking About (and for good reason) - by Jonathan Harris Blogs - 1 March 2019 - 6:57am
A look into 5 indie Switch games that just barely missed their time in the limelight
Categories: Game Theory & Design


New Drupal Modules - 1 March 2019 - 6:35am

This module provides a simple abstracted javascript API for jQuery.ajax and Drupal.ajax.
It offers a consistent interface, multilingual support and some helpers for forms and uploads.
The API must be used by other modules to do anything benefecial.

Categories: Drupal

OPTASY: What Are the Cannot-Live-Without Drupal Modules that Give Developers the Most Headaches? Top 4

Planet Drupal - 1 March 2019 - 5:27am
What Are the Cannot-Live-Without Drupal Modules that Give Developers the Most Headaches? Top 4 adriana.cacoveanu Fri, 03/01/2019 - 13:27

Which of those Drupal modules that are crucial for almost any project make you want to... pull your hair out? 

For, let's face it, with all the “improving the developer experience” initiatives in Drupal 8:

  • BigPipe enabled by default
  • the Layout Builder
  • Public Media API
  • and so on

… there still are modules of the “can't-live-without-type” that are well-known among Drupal 8 developers for the headaches that they cause.

And their drawbacks, with a negative impact on the developer experience, go from:

Categories: Drupal


New Drupal Modules - 1 March 2019 - 5:14am
Categories: Drupal

PC Backgrounds, Part 1

Gnome Stew - 1 March 2019 - 5:00am

If you rewind the wayback machine to the 70s and 80s era of published RPG material, you’d be hard pressed to find any reference to character backgrounds, historical concepts related to specific characters, or much beyond a table to roll on for “secondary skills” the character picked up during developmental years. Fortunately, thinks have changed in this area, and a vast majority of modern RPGs have a section (if not a whole chapter or splatbook) dedicated to assisting players in creating backgrounds for their characters.

What is a Background?

 A character background is a brief summary of the character’s life. Share8Tweet1+11Reddit1Email

A character background is a brief summary of the character’s life before the first session of the campaign or adventure fires off. This should include key events that formed the character into who they are in the “present time” of the campaign. Vital NPCs that altered (or guided) the character in key ways should also be included. Friends, enemies, pitfalls, triumphs, and major accomplishments show up in the background. Socioeconomic status is also key in this because “it takes a village to raise a child” can also be translated into “the resulting adult depends on what kind of village the child is raised in.”


Backgrounds are neat (for some people) or painful (for others) to write. However, this shouldn’t be solely about the character. There’s a purpose to backgrounds. A well-written RPG character background will include hooks into the world for the GM to latch onto. It’ll also include ties to (or even creations of) important NPCs, thus deepening the character’s connection to the campaign material. If possible, I also encourage at least one connection (two would be better) between the “main character” in the background and the other characters in the party.

This sounds like a background should be all roses and puppies, but that’s not the case. Everyone’s life has some form of tragedy in it. These tragedies should also be highlighted in the character’s background in the form of enemies, losses, and events that grow into motivations for the character. If your barbarian is overly protective of children and will go through great lengths and incredible dangers to save them, that’s wonderful. However, the roots of this motivation should be incorporated into the backstory. This gives the GM some leverage over pulling at the PC’s strings, but the PC also has the freedom to cut those strings if necessary.

By introducing these elements into a good backstory, the GM can incorporate a more rich and compelling story throughout the campaign.


 There are actually three different audiences for a backstory. Share8Tweet1+11Reddit1Email

There are actually three different audiences for a backstory. I’ve already mentioned the information that goes to the GM. The player running the character is another target for knowing the backstory (and arguably the most important audience member). Lastly, the other players should be aware, to some extent, about the character’s background. It’s incredibly rare for a character to exist in a vacuum and then pop into being alongside other people and then fight in life or death situations at their side. Yeah, in some RPGs, we hand-wave the appearance of new PCs (You look like a trustworthy fellow), but deeper connections between each character will provide opportunity for role playing on a more grand scale.


 Don’t go overboard with the length of the backstory. Share8Tweet1+11Reddit1Email

Don’t go overboard with the length of the backstory. We’ve advised GMs to keep their world/setting/campaign backstories to a page or less. This same advice applies to your character’s backstory. Anything longer will cause folks to skim it, or worse, not read it at all.

I recommend that you provide between half a page and a full page backstory for the GM. For the other players, I would drop no more than two paragraphs. This also allows you to keep secrets or shameful events between you and the GM by excluding those details from the other players, so you can explore those and role play them out down the road.

What about the backstory for yourself? Well, you know you better than anyone else. Write as long of a one as you like. I tend to land at about 5-6 pages for my characters, but I also type faster than the average bear and can get wordy in my creative efforts. I offer the longer one to my GM, but I also keep the shorter version handy in case they want lighter reading.

While I’m thinking about it, make sure to write up your backstory in a word processor and print it out. We’re old. Our eyes are tired from decades of reading RPG charts and tables and maps. We don’t have the energy to muddle through hastily scribble handwriting. Twelve point fonts are good, too. Don’t go smaller, please.

When to Create It?

Once session zero rolls to a close, and we have a one week (or more) break until the first “real” session of the campaign, I write my various backstory elements. In theory, some of these are already established during session zero, and I’ve made enough notes during this session to get me into writing a proper narrative. By taking my bullet lists and scribbled notes from session zero, I can flesh out a proper narrative in text form.


There are three styles of backstory that I’ve seen.

One is like a third-person novel where the character’s name is used in the text. I like this approach because it drives the character’s name home in the GM’s mind. It also reads more like a piece of history and narrative, which is really what you want.

The second is first-person narrative, which gets directly in the character’s point of view and inner thoughts. This works well for telling a personal story, but it can also get jumbled up a bit because introductions of NPCs and other PCs and key events happen so far apart. The player writing in this style generally has to put in, “When I was 13, ….” in their backstory, which gets tiresome to read.

The third style is a simple bullet list of NPCs and events listed out in order that the character met the NPC or had the event happen. This is perfectly fine for those folks that are less inclined to express their creativity in the written form.

Future Parts

That’s enough on this topic for now. In the next few sections, I’ll give more specifics about how to generate a backstory and what to include. There are several great methods, and I can’t wait to touch upon them.

Categories: Game Theory & Design

OpenSense Labs: Protecting your Riches: SSO with SimpleSAMLphp

Planet Drupal - 1 March 2019 - 3:31am
Protecting your Riches: SSO with SimpleSAMLphp Vasundhra Fri, 03/01/2019 - 17:01

Do you remember Scrooge McDuck? He was the uncle to the most famous and beloved character - Donald Duck. Most notable for his piles of shiny, golden coins stacked in his cartoon mansion. 
His favorite pastimes: Pinching pennies, counting gold and swimming around in his mountains of money. 
While we can’t all have Scrooge McDuck’s limitless riches, we’re still like him in a few important ways. Among which guarding his riches in every sort of manner is one.

New technologies and approaches are creating massive changes that have forever altered the way consumers and businesses interact. Adding to these technological changes, our e-mail accounts and other social media handlings play a similar role as Scrooge McDuck’s riches. And having to log in to these treasures one by one is something we dodge to do.


Thus, here is one of the most trustworthy applications for your software systems. 

Presenting Single Sign-On (SSO) 

Single sign-on (SSO) is a session and user authentication service that allows a user to use a single set of login credentials (like a name and password) to enter multiple applications. In the SSO system, a third party service offers the identification and authorization mechanism and is responsible for informing the user identity. 

This identification and authorization are handled with the help of Federated Identity. 

Federated Identity refers to the standards, tools, and use-cases that enable the users to access multiple applications using the same access credentials. 

So now the question is - how is the authorized data exchanged?

Well, Federated Identity comes with OASIS security assertion markup language (SAML) specification (It may involve open source technologies also). This specification helps in standard exchange of data between the security domain, having the main focus on providing support for:

SAML 2.0 as an Identity Provider: is the system or the domain that supports the user authentication and has associated attributes. In SAML, Identity Providers are also called SAML authorities and Asserting Parties

SAML 2.0 as a Service Provider: is the system or administrative domain that relies on information or the data supplied by the Identity Provider. 

Source: blog.imagineaSecurity and Privacy in SAML 2.0

This protocol brings no security by itself and highly relies on secure communications (SSL and TLS) or some pre-existed trust relationship which also typically relies on     PKI or asymmetric cryptography.   

It represents a wide variety of security mechanisms to identify and guard the data against attacks. The relying party and asserting party should have a pre-existing trust relationship which typically depends on a Public Key Infrastructure (PKI). 

When a party demands an assertion from another party, a bi-lateral authentication is needed. Among which SSL or TLS are the two that are recommended with the management of mutual authentication or authentication via digital signatures.
In terms of privacy, SAML 2.0 also promotes the establishment of pseudonyms between an identity provider and a service provider. The authentication context mechanisms enable  a  user to  be  authenticated  at  a sufficient and assured level ( appropriate to the resource that is attempting to access at the service provider)

Source: MediumSimpleSAMLphp for Implementing the standards of SAML 2.0

What is SimpleSAMLphp?

It is an application that is written in PHP which helps in implementing SAML 2.0. SimpleSAMLphp is a really easy way of integrating all the web-based PHP application into a federation. 

SimpleSAMLphp maintains all the non-PHP scenarios by using the Auth Memcookie approach (a special cookie is added in Memcache that the Apache module Auth MemCookie understands).

It offers support to the two scenarios:

  • SimpleSAMLphp as a Service Provider 
  • SimpleSAMLphp as an Identity Provider 

Service Provider Scenario 

It is important for the user to know that the Service Provider API presents with basic functionality.

  • Verifying if the user is genuine or not
  • Whether they need any authentication or not
  • Login and Logout
  • Preparing the user attributes
  • Preparing the URLs for login and log out. 

For authentication, SimpleSAMLphp connects to an identity provider (which is easily defined by configurated files). This is done so that the Service Provider easily configures to connect to other Identity Providers without having to modify anything in the web application.

In the web application, if the user wants to implement SimpleSAMLphp as a Service Provider, they need to add classes by using the API. Once the authentication is complete, they can easily access the user’s attributes.

Identity Provider  Scenario

The identity provider in simpleSAMLphp is configured to validate the user against various origins - it may be static, LDAP, SQL, Radius, OpenID, Facebook, and Twitter. 

For setting up the Identity Provider, configuration files are required to be changed so that the authentication module can be used and specified ( with additional information and the list of Service Providers). When several Services Providers utilize the same Identity Provider to verify the user, the user needs to log in only once. This is done because the session information is stored by the Identity Provider. 

The Identity Provider also requires a certificate so that identification is proven to the Service Provider.

Source: JulianZhuHow are Sessions in SimpleSAMLphp?

SimpleSAMLphp consists of an abstraction layer for session management. That indicates it is possible to select between different kind of session stores, as well as write new session store plugins.
There are five ways in which the user can store their sessions in SAML. The five ways are:

PHP: If the user wants to use the PHP session handler, then they need to set the store.type configuration option in config.php. But they have to keep one thing in mind that the PHP does not allow two sessions to be open at the same time. 
This indicates that if they are using PHP sessions, both the application as well as the SimpleSAMLphp at the same time, then they need to have different names.

SQL: To store session to a SQL database, set the store.type option to SQL. SimpleSAMLphp uses PDO (PHP objects) when entering the database server, so the database source is configured with the help of  DSN (Data source name). The expected tables are generated automatically. If the user wants to store the data from multiple but a separate SimpleSAMLphp installation in the same database, then they can do the same by using the store.sql.prefix option to prevent conflicts.

Memcache: To store the Memcache session handler, the user needs to set the store.type parameter in config.php. memcache that enables them to store many redundant copies of sessions on various Memcache servers. Every server group is an array of the servers. The data or the information items are load-balanced between all types of servers in each and every server group.

Redis:  To save sessions in Redis, the user need to set the store.type option to redis. By default, SimpleSAMLphp will strive to combine Redis on the localhost at the port 6379. It is, then, configured with the help of and store.redis.port options.

Writing your own plugin: In SimpleSAMLphp there is an excellent open source community, and every type of users are welcome to join. The forums are open for everyone to ask questions and queries, provide answers, inquire improvements or offer with code or plugins of their own.

Drupal in the picture 

DrupalCamp 2018 talked about Drupal 8 module, simpleSAMLphp. The session was all about installing and configuring SimpleSAMLphp as IDP and SP. It also talked about integrating SimpleSAMLphp into Drupal 8 and create an SSO network.

Drupal SimpleSAMLphp module is one of the most robust and strong modules. It provides a comprehensive and complete implementation of SAML in PHP. 

This module not only made it possible for Drupal to communicate with SAML or identity providers (IdP) to authenticate users but it also resulted in the Drupal site to act effectively as a SAML or Shibboleth service provider (SP). Some of the features provided by it are:

  • The module provides with in-time provisioning to the accounts of the Drupal user which are based on SAML attributes.
  • It provides with automatic role assignment that is based on SAML attributes
  • The dual mode in the module guides the users with traditional Drupal accounts and SAML-authenticated accounts at the same time.
  • It supports multiple authentication protocols like OpenID (e.g., Google, Yahoo), Facebook, OAuth (e.g., Twitter), Radius etc

SimpleSAMLphp is very valuable and important for executing an SSO mechanism in web applications. It is developed in a native PHP and maintains integration to any  SAML providers.

Yes, the library is very flexible and it comes with many authentication modules and furthermore, they can easily be adapted to third-party applications. 

The technology has become very popular especially with the rise of concepts like Web 2.0 and the continuous development of social networks websites like Facebook, MySpace, and others. 

At OpenSense Labs, we believe that security is the number one concern of any organization and we try to provide them with services that help them in a longer run. Ping us now at, our professionals would provide you with suitable answers to all your queries and questions.  

blog banner blog image Drupal Drupal 8 CMS Single Sign-on SimpleSAMLphp SAML 2.0 Identity Provider Service Provider Blog Type Articles Is it a good read ? On
Categories: Drupal


Subscribe to As If Productions aggregator