iNotify Live Notifications for Drupal.

New Drupal Modules - 25 February 2019 - 1:50am
Categories: Drupal

The Right Size Table

Gnome Stew - 25 February 2019 - 12:00am

It’s your table. How many people are you comfortable having there?

What is the ideal number of players to have at your table for any given game? Is it three? Four? Five? EIGHT?!? Ask a dozen GMs and you’ll probably get a dozen slightly different answers.

Recently, I was checking my events for an upcoming con and noticed the player limit was five. I panicked slightly, since this was for a game I designed for six players and while I can run it for fewer, the game is about the secrets between the characters and can lose some of its spark if certain characters aren’t in play. Shortly after this panic, a friend asked about my preferred number of players, sparking a conversation about how running games changes depending on the number of players at your table.

When I first started GMing, I thought if you couldn’t run for at least eight players, you were a subpar GM. In part, this was based on my memories of games from the 90’s and some of the oversized groups from my college days. Because of this, many of the early games I brought to cons had eight characters for the players to choose from and I would always accept eight players at the table. Later on, when I started getting into more indie, more story-based games, I was surprised to find many of them advocating for having only four or five players. Heck, I nearly got myself into trouble the first time I ran Headspace, because I put six seats in for the event only to realize the game kind of needs you to run for five or less.

The more I talk to other GMs, the more I realize everyone has their own threshold for what they consider a good or manageable table size. Share1Tweet1+11Reddit1Email

The more I talk to other GMs, the more I realize everyone has their own threshold for what they consider a good or manageable table size. It definitely varies depending on the game being played, but everyone has their own perceptions of what a ‘good’ table looks like. Of course, many folks will speak of their preferences as if they were an absolute and look at anyone who varies from that preference as if they were insane.

Your mileage may vary on what constitutes a small, medium, or large group, but here are *MY* thoughts and advice on various table sizes:

Small Groups
  • I consider a small group one that contains three or fewer players, plus the GM.
  • With a tiny group of players, the GM has to be ‘on’ far more. You get fewer moments where the players carry the action through interactions with one another, allowing you to take a moment to breathe. They look to the GM to fill the void. I tend to find this exhausting, which is why I prefer a larger table.
  • Games tend to finish faster than expected. With fewer players, there are fewer distractions, allowing them to get through any planned material quicker. While the focus the players can have on the game is nice, it can be difficult to fill the standard four-hour time slot at a game convention.
  • A small table allows for a more intimate focus on each character’s story without sacrificing spotlight time from anyone else at the table. With fewer players, you can interweave all their stories into the main story of the game easier.
Medium Groups
  • My medium groups contain four to six players, plus the GM.
  • These are probably the average (ha!) size seen most often for home groups and at cons. My preference usually leans towards this size. There’s enough interplay between the players, but the group is small enough I feel like I can still give everyone the right amount of attention.
  • Many games are designed around the dynamic of four to six players, so going with fewer or more players requires being mindful of any potential changes to the game’s balance. You can generally assume a game is going to run as described in the rules when you fall into this sweet spot. Another benefit is that any modules or other prepared material are designed for this number of players, often making the GM’s job easier.
  • This size group usually offers a good balance for mixing experienced and inexperienced players, or passive and active players. You can still spread your focus equally among the players, but sit back and let some of the active/experienced players take a lead in roleplaying scenes or discussions.

Is a party of eight too much? Or just right for you?

Large Groups
  • I would call any group with seven or more players, in addition to the GM, a large group.
  • Large groups allow getting more people involved in the game and prevent having to leave one or two people out. Occasionally, with a slightly larger group, it can end up being more fun to have one large table than splitting into to two small tables.
  • Certain games will work better for larger groups. The simpler the mechanics are, the less lag time you’ll have as players progress through the game, hopefully keeping everyone focused on the game. Complicated mechanics can often drag the game down. Lighter games focused on humor also tend to work better than more serious games, unless you are prepared to handle the game more like a LARP than a traditional tabletop RPG.
  • The GM has to function like a circus ringmaster, keeping the game moving and shifting the spotlight around the table while making sure everyone gets a chance to do something. This can be taxing on a GM, and it can be harder to reign in dominant players while pulling in quieter players.

We all have our preferences for the style and size of game we prefer to both run and play, but that doesn’t necessarily mean another style and size is going to work for someone else. I generally don’t enjoy larger games, but I appreciate the artistry and efforts of the GMs who somehow make those massive tables work and all their players walk away from the table with smiles on their faces.

What’s your sweet spot for the number of players you run for? Do you have some tips and tricks to offer for running smaller or larger tables? I’d love to hear your advice too.

Categories: Game Theory & Design

Fuzzy Thinking: Dressing for the Occasion

RPGNet - 25 February 2019 - 12:00am
Fuzzy vampires.
Categories: Game Theory & Design

Lullabot: Behind the Screens: Behind the Screens with Suzanne Dergacheva

Planet Drupal - 25 February 2019 - 12:00am

EvolvingWeb Co-Founder Suzanne Dergacheva spills on why she recently joined the Drupal Association, what's happening with Drupal in Montreal, and the Oboe.

Categories: Drupal

OpenSense Labs: Drupal Distributions and Social Impact Platform

Planet Drupal - 24 February 2019 - 10:04pm
Drupal Distributions and Social Impact Platform Vasundhra Mon, 02/25/2019 - 21:50

We all have learned in our biology classes that genes are made up of DNA which gives instructions to the body to grow, develop and live. In other words, it is like a blueprint or like a recipe which guides an individual to do a particular task. 

Just like DNA is important to impact a human body, Drupal distributions are necessary to build and create a social impact platform for your projects and website. 

Social impact is and must be the primary goal and measure for every social initiative. Measuring social impacts urges organizations not to only focus on the economic or financial factor, but to access their influence across the environmental and social dimensions. 

How Building a Social Impact Platform With Drupal Distributions Do Well to a Project?

A distribution packages a set of contributed and custom modules together with Drupal core to optimize Drupal for a specific use and industry. Drupal distribution has evolved from an expensive lead generation tool to something which offers a service at a large scale. Some of the Drupal distributions like:


OpenSocial is a free Drupal distribution for constructing private social networks and an out of the box solution for online communities. Open Social is a distribution that is built in Drupal 8 to construct social communities and intranets. It is built in Drupal 8, and it wraps in itself in an array of possibilities leveraging the features of Drupal 8.

In the Drupal community, Open Social is placed as a successor of Drupal Commons. Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website.


  • A case study on Pachamama  

Pachamama approves the inherent people of the Amazon rainforest to protect their lands, culture, educate and inspire people everywhere to bring forth a growing and sustainable world. Drupal was chosen for its flexibility and customizable features.

Drupal was appointed for its versatility and customizable features. For example, Pachamama grants an on- and offline ‘Awakening the Dreamer’ course. In the course module, the user can walk through a step-by-step course program and finish with video, text or an opportunity to keep track of the development and progress. To make this possible within the Pachamama Alliance platform integration of a course module into the Open Social platform was done.


A distribution developed and maintained by Acquia. This distribution provides a framework or starting point of Drupal 8 projects that require more advanced layouts.

The developers have been provided with hundreds of embedded automated tests that allow them to implement continual integrations pipelines. It controls major functionality, essentially granting a safe environment to innovate with their own custom code additions to Lightning.


  • A case study on Higgidy 

Higgidy is a thriving business, offering incredible high-quality food that is sold in supermarkets. Drupal 8 was chosen for this project based on numerous factors.

The potential for future upgrades to make commerce into the platform was also an engaging benefit, enabling the user to assure that they don’t end up with a fragmented tech stack divided across many platforms. 

Being mobile-driven was a core concern of the platform selection, and Drupal 8 presented with a seamless content experience every time.

One of the primary and most important decisions was to make use of the Lightning. This gave a great head start for a site of this nature, right out of the box, presenting some very important components and assuring that they are able to get going. The site was essentially powered by Views coupled with some custom serialization.


This is an Open source e-learning platform based on Drupal that enables the user to accomplish online training, skills of students and employees. Opigno is an open source e-learning platform that is based on Drupal. It allows the user to control online training, and efficiently guarantee that student, employee and partner skills remain up to date.

Opigno LMS is intended for Companies, Corporations, and Universities, looking for an e-learning solution that is flexible and is easily scalable.

Drupal Commerce 

Drupal Commerce is an open-source eCommerce software that augments the content management system Drupal. It helps in managing eCommerce websites and applications of all the sizes. 
This distribution also helps in enforcing strict development standards and leveraging the greatest features of Drupal 7 and major modules like Views and Rules for maximum flexibility.


  • Drupal Commerce helping the community: A case study on Sosense

Sosense supports entrepreneurs who address some of the most challenging social and environmental problems. Drupal was selected for this project because it was one of the most relevant frameworks that build a scalable platform. 

Sosense demand was to rebrand and redevelop their first, custom-developed, platform to develop technical scalability, usability, and interaction design. The project work was simple yet appreciatively challenging. One side it drew from our expertise in creating community- and fundraising solutions. On the other side, Sosense was one of the first complex sites to apply Drupal 7 where many important modules were still in dev status. 

Testing and debugging modules like Organic Groups, Drupal Commerce and i18n, required many unexpected hours of work. The agile project management approach allowed us to tackle some of the unexpected issues with frequent releases and constant client interaction. The project was delivered on time and to the full satisfaction of our client.


This is the distribution which is for churches and ministries.  A flexible platform with common features of the church helping them streamline development of the website. Some of the features of this distribution are:

  • Blog - It includes a list page and archive page, the blog content type is very easy and this does not use the core blog module.
  • Bulletin - Includes block for downloading latest bulletin, also a list page and content type.
  • Events - Includes an event content, filtered by the ministry and responsive calendar.
  • Gallery - Integrates with ministry content and is an easy way to manage galleries.
  • Giving - Includes list display for featured charities
  • Homepage Rotator - a very nice way to feature content on the homepage in a slideshow which is a very common feature on sites today.
  • Ministry - this represents a church's core ministries (Missions, Youth, etc.) and integrates with other content on the site.
  • Podcast - An out of the box sermon podcast page. Also includes a block for showing the most recent podcast. It is called labeled 'Sermons' but can be used for any kind of podcast.
  • Social - Social integration with Twitter, Facebook, Google+ and more! Enable visitors to share content with their social networks.
  • Staff - Includes staff page and integration with well with ministries.
  • Video - Add 3rd party video from Youtube and Vimeo


Presto includes pre-configured and ready to use right out-of-the-box functionalities. It consists of an article content type with some pre-configured fields and a basic page content type with a paragraphs-based body field. Some pre-configured paragraph types in this distribution are:

  • Textbox
  • Image
  • Promo bar
  • Divider
  • Carousel

Not only this but it also consists of a block which allows the embedding of Drupal blocks. This distribution has an article listing page which displays a paginated listing of articles, sorted by publish date.


The advantages of working with a Drupal distribution continue well till date. Maintenance is also a breeze. When you create a website born out of distribution, all modules and features are integrated and tested together. When updates are required, it is a single update, as opposed to hundreds. Thus Drupal distribution for your social impact platform is what you need.

At opensense Labs we purely follow all the functionalities that come with the Drupal distribution. Contact us on for more information on the same. Our services would guide you with all the instruction and information, that you require for the same. 

blog banner blog image Drupal Drupal 8 CMS OpenSocial Opigno LMS Drupal Commerce Open Church Lightning Drupal distribution Blog Type Articles Is it a good read ? Off
Categories: Drupal

OpenSense Labs: OpenSocial for your platform? - Buzzinga!

Planet Drupal - 24 February 2019 - 10:04pm
OpenSocial for your platform? - Buzzinga! Vasundhra Mon, 02/25/2019 - 20:58

Click, tap, like, hit, post, tweet, retweet, repost, share, tag, comment - I am sure that you are known to all these terms, use them daily and even promote your business with it. 

We live in a world where the boundaries of work and office space are changing. A new era of transformation has opened up where collaboration and communication within the company is modified into a “Digital System” 

The heart of all this meaningful connection and real-time communication (Which is integral for modern business) is the social intranet.

And nothing beats the performance of OpenSocial, a Drupal distribution that is used for building social communities and intranet. 

OpenSocial is bringing power and the essence of pervasive social capabilities to the web.

You ask how?

Well, Let’s find out

Understand OpenSocial 

OpenSocial is an out-of-the-box solution for the online community. It is used for creating social communities, intranets, portals and any other social project. It appears with a collection of features and functionalities that are useful in constructing a social framework. 

In the Drupal community, Open Social is placed as an heir of Drupal Commons (Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website) 

OpenSocial and its out-of-the-box feature 
  • Content types and structure

The user is offered with two content types: events and topics. The architecture lets OpenSocial be lightweight software that can easily be installed and can be used seamlessly by users. Blogs, News etc. are all identical content type as a topic but have separate taxonomy.

  • Media Management 

With the help of Media management, the user can efficiently arrange, resize and add images wherever they want to on a particular website. File System, Images Styles and all other media configurations that are needed to add, resize and adjust images are inbuilt.

  • Responsive and Multi-Lingual Support 

Open Social follows with Drupal 8 “mobile-first” theory and it is responsive “by default”. Not only this but it also consists of “Translation Module” that is used for Multilingual support.

  • SEO Optimization

The SEO strategy is based on a consultative approach. Adverbs, SEO, Social media and conversion optimization is used to generate the traffic. The out-of-the-box feature in OpenSocial helps the user to optimize their website in a way that more people visit it. 

OpenSocial Foundation and W3C Social Web Activity “Social standards are part of the application foundations for the Open Web Platform” 
-Jeff Jaffe 

In other words, they will be used everywhere, in diverse applications that operate on phones, cars, televisions, and e-readers. In terms of OpenSocial, the W3C standard is defined as:

The social web working group which determines the technical standards and API facilitates access to social functionalities as part of Open web platform.
The social interest group coordinates messaging around social at the W3C strategy that enables social business. 

Open source project at Apache Foundation

The Apache Software Foundation hosts two active and ongoing projects in addition to the many commercial enterprise platforms that practice on OpenSocial, it serves as reference implementations for OpenSocial technology:

Apache Shindig: It is the reference implementation of OpenSocial API specifications, versions 1.0.x and 2.0.x. It is the standard set of Social Network APIs that constitutes profiles, relationships, activities etc

Apache Rave: It is a lightweight and open-standards-based extensible platform for managing, combining and hosting OpenSocial and W3C Widget related features, technologies, and services. 

How is OpenSocial contributing to society?

The Developers 

Social platforms are interactive and exercise notifications that are provided with the alerts. Making numerous social software to control social experience takes a lot of time and effort. Building a distribution is the answer to all of it. It allows the developers to build the best things, re-use it, expand and even improve on that. 

Site Owner and Business 

If you are using Opensource Saas offerings, you have the ability to use site codes and data anytime. Social media changed modern society and communications, especially in our private lives. The decentralized nature of social software is a huge opportunity for organizations to reinvent the way they communicate and collaborate

End Users 

End users obsess over user-centered design. Without engaged end users, no projects wouldn’t go anywhere. Thus providing the users with tools that are appealing and easy to use are a must for great user experience.

Why choose OpenSocial over any other software?

Freedom for the clients. If they need to download their SaaS platform and run or extend it as they want, then they can easily do it. 

Getting to this point from scratch takes longer and the core modules give you the functionality you need from the ground up.

The above points clearly say it is better software. With the Drupal community putting extra eyes on the code, making suggestions for design and development improvements, hopefully adding new features word-of-mouth marketing, and possibly some clients.
It provides easy customization options.

OpenSocial giving tough competition to other community software in the market

The pace of digitization is steadily increasing, leaving a lot of old processes behind in the dust. The same applies to traditional methods of innovation. The internet has not just become a hub to share knowledge, but also to create knowledge together through crowd innovation.

Some of the other community software in the market like lithium is being beaten hard by OpenSocial.


Let’s find out 

  Lithium OpenSocial Who uses it? Businesses of all sizes looking to attract new visitors A better way of connecting with your members, volunteers, employees, and customers Free Trail Not Provided  Provided  Free Version Not Provided  Provided  Starting Price $235.00/month It is free Entry Level set up Not Provided  Provided  What does Drupal Community Gain From Open Social? Without Drupal distributions, we won't be able to successfully compete with commercial vendors. Drupal distributions have great potential.
-Dries Buytaert

With the help of Open Social distribution, the Drupal community has been provided with a platform for their social projects. A more sustainable and adopted way of development. OpenSocial is better with Drupal because:

Users can use Open Social for their own projects and clients.
They can give back to the open-source community.
If the user is a Drupal freelancer or professional then they can improve the standing.

Case Study on Youth4Peace 

The UN Security Council acknowledges the positive role played by all young women and men in preserving international security. The task force for Youth, Peace, and Security proposed an updated and expanded Youth4Peace platform. This was done in order to give inspired parties and partners a path to enable consistent and timely information.

The UNDP was already familiar with the features and functionalities of Drupal as the previous site was built on the same. The organization supports open-source mainly because of the reusability feature of modules. 

Moreover, the Drupal 8 community distribution, Open Social equals several goals of the project. Goals like: innovation and the use of technology. The distribution already included most of the needed features for the project, including blogs, events, profiles, information streams, a discussion engine, and moderation tools for community managers.

Therefore, The Youth4Peace portal was developed. It was constructed using an Agile method and mainly focused on:

  • A curated Knowledge Resource Library
  • Moderated e-Discussions & e-Consultations
  • Experts’ Profiles
  • News & Events and their overviews with filters

By being able to produce content for non-community members, the community was able to reach the global platform even at a bigger pace.

In The End 

Now we know that OpenSocial has the right blend of features that are needed to build a social community. The distribution proves to be an appropriate platform to start building a community or intranet with immense features.

Opensense Labs understands how important it is for every organization to stay connected with the world. Therefore, we are here to leverage all those facilities and services. Ping us at now.

blog banner blog image Drupal Drupal 8 CMS OpenSocial Drupal community Social Media Platforms Drupal distributions Blog Type Articles Is it a good read ? On
Categories: Drupal Do-It-Yourself Stress Testing

Planet Drupal - 24 February 2019 - 10:00pm

Earlier we wrote about stress testing, featuring Blazemeter where you could learn how to do crash your site without worrying about the infrastructure. So why did I even bother to write this post about the do-it-yourself approach? We have a complex frontend app, where it would be nearly impossible to simulate all the network activities faithfully during a long period of time. We wanted to use a browser-based testing framework, namely WebdriverI/O with some custom Node.js packages on Blazemeter, and it proved to be quicker to start to manage the infrastructure and have full control of the environment. What happened in the end? Using a public cloud provider (in our case, Linode), we programmatically launched the needed number of machines temporarily, provisioned them to have the proper stack, and the WebdriverI/O test was executed. With Ansible, Linode CLI and WebdriverIO, the whole process is repeatable and scalable, let’s see how!

Infrastructure phase

Any decent cloud provider has an interface to provision and manage cloud machines from code. Given this, if you need an arbitrary number of computers to launch the test, you can have it for 1-2 hours (100 endpoints for a price of a coffee, how does this sound?).

There are many options to dynamically and programmatically create virtual machines for the sake of stress testing. Ansible offers dynamic inventory, however the cloud provider of our choice wasn’t included in the latest stable version of Ansible (2.7) by the the time of this post. Also the solution below makes the infrastructure phase independent, any kind of provisioning (pure shell scripts for instance) is possible with minimal adaptation.

Let’s follow the steps at the guide on the installation of Linode CLI. The key is to have the configuration file at ~/.linode-cli with the credentials and the machine defaults. Afterwards you can create a machine with a one-liner:

linode-cli linodes create --image "linode/ubuntu18.04" --region eu-central --authorized_keys "$(cat ~/.ssh/" --root_pass "$(date +%s | sha256sum | base64 | head -c 32 ; echo)" --group "stress-test"

Given the specified public key, password-less login will be possible. However this is far from enough before the provisioning. Booting takes time, SSH server is not available immediately, also our special situation is that after the stress test, we would like to drop the instances immediately, together with the test execution to minimize costs.

Waiting for machine booting is a slightly longer snippet, the CSV output is robustly parsable:

## Wait for boot, to be able to SSH in. while linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'status' --no-headers | grep -v running do sleep 2 done

However the SSH connection is likely not yet possible, let’s wait for the port to be open:

for IP in $(linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'ipv4' --no-headers); do while ! nc -z $IP 22 < /dev/null > /dev/null 2>&1; do sleep 1 done done

You may realize that this is overlapping with the machine booting wait. The only benefit is that separating the two allows more sophisticated error handling and reporting.

Afterwards, deleting all machines in our group is trivial:

for ID in $(linode-cli linodes list --group=stress-test --text --delimiter ";" --format 'id' --no-headers); do linode-cli linodes delete "$ID" done

So after packing everything in one script, also to put an Ansible invocation in the middle, we end up with

#!/bin/bash LINODE_GROUP="stress-test" NUMBER_OF_VISITORS="$1" NUM_RE='^[0-9]+$' if ! [[ $NUMBER_OF_VISITORS =~ $NUM_RE ]] ; then echo "error: Not a number: $NUMBER_OF_VISITORS" >&2; exit 1 fi if (( $NUMBER_OF_VISITORS > 100 )); then echo "warning: Are you sure that you want to create $NUMBER_OF_VISITORS linodes?" >&2; exit 1 fi echo "Reset the inventory file." cat /dev/null > hosts echo "Create the needed linodes, populate the inventory file." for i in $(seq $NUMBER_OF_VISITORS); do linode-cli linodes create --image "linode/ubuntu18.04" --region eu-central --authorized_keys "$(cat ~/.ssh/" --root_pass "$(date +%s | sha256sum | base64 | head -c 32 ; echo)" --group "$LINODE_GROUP" --text --delimiter ";" done ## Wait for boot. while linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'status' --no-headers | grep -v running do sleep 2 done ## Wait for the SSH port. for IP in $(linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'ipv4' --no-headers); do while ! nc -z $IP 22 < /dev/null > /dev/null 2>&1; do sleep 1 done ### Collect the IP for the Ansible hosts file. echo "$IP" >> hosts done echo "The SSH servers became available" echo "Execute the playbook" ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3' -T 300 -i hosts main.yml echo "Cleanup the created linodes." for ID in $(linode-cli linodes list --group="$LINODE_GROUP" --text --delimiter ";" --format 'id' --no-headers); do linode-cli linodes delete "$ID" done Provisioning phase

As written earlier, Ansible is just an option, however a popular option to provision machines. For such a test, even a bunch of shell command would be sufficient to setup the stack for the test. However, after someone tastes working with infrastructure in a declarative way, this becomes the first choice.

If this is your first experience with Ansible, check out the official documentation. In a nutshell, we just declare in YAML how the machine(s) should look, and what packages it should have.

In my opinion, a simple playbook like this below, is readable and understandable as-is, without any prior knowledge. So our main.yml is the following:

- name: WDIO-based stress test hosts: all remote_user: root tasks: - name: Update and upgrade apt packages become: true apt: upgrade: yes update_cache: yes cache_valid_time: 86400 - name: WDIO and Chrome dependencies package: name: "" state: present with_items: - unzip - nodejs - npm - libxss1 - libappindicator1 - libindicator7 - openjdk-8-jre - name: Download Chrome get_url: url: "" dest: "/tmp/chrome.deb" - name: Install Chrome shell: "apt install -y /tmp/chrome.deb" - name: Get Chromedriver get_url: url: "" dest: "/tmp/" - name: Extract Chromedriver unarchive: remote_src: yes src: "/tmp/" dest: "/tmp" - name: Start Chromedriver shell: "nohup /tmp/chromedriver &" - name: Sync the source code of the WDIO test copy: src: "wdio" dest: "/root/" - name: Install WDIO shell: "cd /root/wdio && npm install" - name: Start date debug: var=ansible_date_time.iso8601 - name: Execute shell: 'cd /root/wdio && ./node_modules/.bin/wdio wdio.conf.js --spec specs/stream.js' - name: End date debug: var=ansible_date_time.iso8601

We install the dependencies for Chrome, Chrome itself, WDIO, and then we can execute the test. For this simple case, that’s enough. As I referred to earlier:

ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3' -T 300 -i hosts main.yml

What’s the benefit over the shell scripting? For this particular use-case, mostly that Ansible makes sure that everything can happen in parallel and we have sufficient error-handling and reporting.

Test phase

We love tests. Our starter kit has WebdriverIO tests (among many other type of tests), so we picked it to stress test the full stack. If you are familiar with JavaScript or Node.js the test code will be easy to grasp:

const assert = require('assert'); describe('podcasts', () => { it('should be streamable', () => { browser.url('/'); $('.contact .btn').click(); browser.url('/team'); const menu = $(' .fa-bars'); menu.waitForDisplayed();; $('a=Jobs').click(); menu.waitForDisplayed();; $('a=Podcast').click(); $('#mep_0 .mejs__controls').waitForDisplayed(); $('#mep_0 .mejs__play button').click(); $('span=00:05').waitForDisplayed(); }); });

This is our spec file, which is the essence, alongside with the configuration.

Could we do it with a bunch of requests in jMeter or Gatling? Almost. The icing on the cake is where we stress test the streaming of the podcast. We simulate a user who listens the podcast for 10 seconds. For for any frontend-heavy app, realistic stress testing requires a real browser, WDIO provides us exactly this.

The WebdriverIO test execution - headless mode deactivated Test execution phase

After making the shell script executable (chmod 750, we are able to execute the test either:

  • with one visitor from one virtual machine: ./ 1
  • with 100 visitors from 100 virtual machines for each: ./ 100

with the same simplicity. However, for very large scale tests, you should think about some bottlenecks, such as the capacity of the datacenter on the testing side. It might make sense to randomly pick a datacenter for each testing machine.

The test execution consists of two main parts: bootstrapping the environment and executing the test itself. If bootstrapping the environment takes too high of a percentage, one strategy is to prepare a Docker image, and instead of creating the environment again and again, just use the image. In that case, it’s a great idea to check for a container-specific hosting solution instead of standalone virtual machine.

Would you like to try it out now? Just do a git clone!

Result analysis

For such a distributed DIY test, analyzing the results could be challenging. For instance, how would you measure requests/second for a specific browser-based test, like WebdriverI/O?

For our case, the analysis happens on the other side. Almost all hosting solutions we encounter support New Relic, which could help a lot in such an analysis. Our test was DIY, but the result handling was outsourced. The icing on the cake is that it helps to track down the bottlenecks too, so a similar solution for your hosting platform can be applied as well.

However what if you’d like to somehow gather results together after such a distributed test execution?

Without going into detail, you may study the fetch module of Ansible, so you can gather a result log from all the test servers and have it locally in a central place.


It was a great experience that after we faced some difficulty with a hosted stress test platform; in the end, we were able to recreate a solution from scratch without much more development time. If your application also needs special, unusual tools for stress-testing, you might consider this approach. All the chosen components, such as Linode, WebdriverIO or Ansible are easily replaceable with your favorite solution. Geographically distributed stress testing, fully realistic website visitors with heavy frontend logic, low-cost stress testing – it seems now you’re covered!

Continue reading…

Categories: Drupal

Korea Phone

New Drupal Modules - 24 February 2019 - 8:59pm

This module is a Drupal field module that provides Korea's phone number input interface. The telephone number in Korea consists of the network identification number or area code, the base station number, and the serial number.
This module can be used to develop sites that are serviced in Korea. Use in other countries is inappropriate.


This is the same as a typical installation of the Drupal module.

Categories: Drupal

Video Game Deep Cuts: The Devotion Of An Art Sqool Hades

Social/Online Games - Gamasutra - 24 February 2019 - 8:26pm

This week's highlights include a look at smash hit Taiwanese horror game Devotion, quirky AI art tutoring game Art Sqool, and the latest behind-the-scenes video on Supergiant's Early Access title Hades. ...

Categories: Game Theory & Design

DARK PLACES and DEMOGORGONS - The Cryptid Manual - An OSR Bestiary

New RPG Product Reviews - 24 February 2019 - 2:35pm
Publisher: Bloat Games
Rating: 5
If I have said it once I have said it a hundred times. I LOVE Monster books. Any and all monster books. I even grab monster books for games I don't play. So when Eric Bloat they head monster hunter at Bloat Games asked if I would be interested in looking over his new monster book (Kickstarting today) for his FANTASTIC Dark Places and Demogorgons I screamed HELL YES at my computer.

Now I promise to be fair here but a couple of words of full disclaimer. First I was sent this book as part of an agreement for a review. That is no big, I get a lot of books this way and I always try to be fair. Secondly. Well, look above. I am predisposed to like Monster books and I already love DP and P and cryptids are a TON of fun. So please keep all this in mind.

Dark Places and Demogorgons: Cryptid Manual is a digest-sized book weighing in at 90 or so pages. Some bits look like redacted Governmental documents and blood splattered hunter's notebooks. It's actually pretty cool looking if not 100% original (see Chill, Supernatural and Conspiracy X). That being said though it is also 100% EXPECTED. That's HOW I want my 80s monster hunting guide to look like.

The interior and the cover features two-color art (blacks and reds) on glossy pages. Now the gloss might just be my pre-copy version, or not. In any case the color, the art, and the layout are all a leap ahead in terms of style and look than all the previous DP and D books. If this is the future of their books then the future looks good.

A little over 50 monsters fill this book. They use the same stat block as DP and D so that also means they are roughly compatible with Swords and Wizardry (I'd say about 99%) and most other OSR-flavored games. Given the size of the book it fits in nicely with my Swords and Wizardry Whitebox games, so I have another monster book now for that! Each monster gets a page. Some exceptions occur with the Bigfoots and the E.T.s, but still, it's a good bit for each one.

There are also templates in the back of the book that work like the monster templates from 3.x. So you can apply the Vampire, Werewolf or my favorite Radioactive, template (among others) to any monster. Radioactive Bigfoots? Hell yes! There is also a table of enhancements and how they change your monster. So now it's Agile Radioactive Bigfoots!
There are some conditions ported over from 3.x (more or less) but very, very useful and I am happy to see them here.

Ok what are some of my favorites? There is the Almasti, which I also used in Ghosts of Albion. They have a special place in my heart. I'll likely include Almasti Shamen in my DP and D games like I did with Ghosts. Old faves like the Bunyip and Chupacabra. Holy crap there is a Crocoduck!

I have to admit I nearly shot coffee out of my nose when I first saw that. Worth the price of the book alone in my mind. Flatwoods Monster, all the various extraterrestrials (Nordics, Reptilians, LGMs, Greys), Hellhounds, the Hodag! (love those things!), Jersey Devils, Skin Walkers, and the Wendigo. So plenty really and many more. The monsters mostly come from modern cyptids, but there some classics from myths and local monsters.

This book is great really. While I may have been pre-disposed to like it, it really delivered and then some with me. The art is great and fun. The layout top notch and the monsters are just too much fun.

While reading it I could not help but think how well this would also work with White Star or other White Box derived game. So even if you don't play DP and D (and you should really, it's just too much fun) you can still get a lot of enjoyment out of this book. For example the Cryptid Manual is 90% compatible with Swords and Wizardry White Box. There is not a lot of overlap in monsters, so this makes the CM a perfect monster book for S and WWB players. Also, there are a lot of "new" monsters in S and W for the DP and D player/GM. Who's to say that an alien life form could resemble an orc or a wyvern.

In fact, this is true for nearly every clone. The clone game provides monsters for DP and P and the Cryptid Manual provides new monsters for your clone of choice. You just need to justify why they are there.

Worth picking up.
Categories: Game Theory & Design

Redirect Options

New Drupal Modules - 24 February 2019 - 8:47am
Redirect Options

Provides functionality for adding redirect type info to redirects by taxonomy based selection field.

Motivation has several legacy redirects that need to be migrated into drupal. Some are server level, some are template based. uses a headless setup with graphql queries generated for consumption via metalsmith frontend. In the redirect query,
information about the original redirect source is required, so this module associates a new vocabulary taxonomy term to indicate
redirect type with each redirect.

Categories: Drupal

Migrate Directory

New Drupal Modules - 24 February 2019 - 8:27am
Categories: Drupal

Video Game Deep Cuts: The Devotion Of An Art Sqool Hades - by Simon Carless Blogs - 24 February 2019 - 7:57am
This week's highlights include a look at smash hit Taiwanese horror game Devotion, quirky AI art tutoring game Art Sqool, and the latest behind-the-scenes video on Supergiant's Early Access title Hades.
Categories: Game Theory & Design

Config alert

New Drupal Modules - 24 February 2019 - 4:17am

This module dispatch an event when configuration has changed and has been saved.

Here is an example how to subscribe this event :

Categories: Drupal

OpenSense Labs: Ready to Espouse OpenSource Campus Management?

Planet Drupal - 24 February 2019 - 12:24am
Ready to Espouse OpenSource Campus Management? Vasundhra Sun, 02/24/2019 - 17:04

Education is just like planting a seed. A seed that has different stages with significant and important roles. If any stage is missed in the entire scenario, it destroys the life cycle of the plant. 

It is not what is poured into a student that counts, but what is planted
-Linda Conway  

There is no secret to the fact that education has the power to change lives. For a successful career, every student needs to go through the learning stage of knowledge, confidence, academics and technical skills so that they can grow efficiently. A college education is one such element that contributes highly to these steps of learning. 

Therefore, to achieve these steps of knowledge, campus management software has been introduced. 

OpenSource Campus Management solution is one such management software which has made lives easy for students, teachers, authorities and other people that follow down the chain. Such a system has brought standardization and steadiness within the organization. 

But what exactly is OpenCampus?

OpenCampus is a technical model that contributes highly to the outlook and the network of the universities. It was developed with the first open adoption solution of campus management in Drupal. 

OpenCampus is designed to cover the life cycle of students.

In Germany and Austria, more than 30 universities are using this software and it is highly contributing to their needs and requirements. 

With the help of OpenCampus software, you can manage everything. Starting from all the courses till recording achievements, the application does everything and is considered among the most versatile applications. It allows mapping of complex procedure which includes the allocation of the student into smaller classes in medical or dentistry programs. 

The Framework

The framework of OpenSource is based on the open source technology, Drupal, and it lets their customers create their own applications with a smooth integration of third-party products such as a moodle. 

Features provided by OpenCampus
  Features Benefits Application and Admissions
  • Transparent and multi-staging application process.
  • Dynamic list of view.
  • Automatic e-mail notification
  • Smart forms
Course and Event Management
  • Parallel small groups.
  • Automation of complex course sequence 
  • Uploading of documents, term papers, and personal calendar
Exam Management and validation
  • Exam questions 
  • Written tests and online evaluation
  • Seating plans
Records of Achievements
  • Easy modifications following revision of the examination.
  • Automatic generation of course certificate
  • List of synopsis 
  • Evaluation via app
  • Flexible configuration
  • Automatic evaluation report 
Mobile apps and Platforms
  • Integration of students and faculty 
  • Forums and online discussions
  • Attendance

Application and Admission

The process involving applications as well as admissions have been made really simple with the help of OpenCampus. The software presents the applicants with a simple tool that uploads and manages all the necessary information in one single place. 

Course and Event Management 

OpenCampus software is one of the most powerful and flexible of its kind. The module handles simple seminars with the location, automates complex courses, appointment, and lecturer. It also supports multilevel architectures with multi-language pages and directs the budget control. 

Exam management

The software is an innovative web-based solution that grants users with extensive functionalities for creating a multi-level architecture of any exam. All the aspects of exam preparation are managed seamlessly with OpenCampus ( starting from an online mock test to the seating arrangement)

Records of Achievements 

OpenCampus performance management tells the whole study achievements of the students in a clear view. The data of the other modules such as "OpenCampus Exams" and "OpenCampus event management" are also stored in this location. Easy modifications in the revision of the examination, automatically generating course certificate and the listing of synopsis are some of the features that are offered under OpenCampus


Continuous and seamless evaluation is the key to ensure the quality of teaching and offers that are present by a university. The user can evaluate standardized courses and receive qualitative as well as quantitative feedback on different areas of teaching. The user can benefit from simple creation option of questionaries or reports as full integration of course management is done in the system. 

Mobile Application 

The OpenCampus software has special support which is "Room Management". The users can manage their booking of event and laboratory rooms and their equipment. As the software is mobile responsive, it makes it even more efficient and handy. 

The reason why customers choose OpenCampus 

Higher education institutes are bound with various responsibilities and data information that has to be managed accurately and in complete synchronization. OpenCampus here bags all the trophies by providing them with the administration of the students and faculty. There are also many reasons why OpenCampus is chosen by universities. Some of the reasons are:

  • It presents with unique processing mapping: OpenCampus is the only software that manages complex processes of the universities. 
  • It comes with comprehensive feature sets: OpenCampus software offers extensive functionalities and features to its customers. 
  • Open Adaptive System: OpenCampus is an adaptive system that has additional modules that can easily be added anytime on the openSource platform.
  • Established and Experienced: More than 25 universities are using OpenCampus that have at least 3,000 students. 
OpenCampus for Research Data Management System For Clinical Studies

Research institutes need to manage multiple studies with individual data sets, processing rules and different type of permissions. But there are no “official” or “standard” technology that presents an easy to use the environment to construct database and user interface for the clinical trials or the research studies. Thus, many software solutions were being used which were explicitly made for a specific study, to cost-intensive commercial Clinical Trial Management Systems (CTMS)

With OpenCampus Research, Open adoption software (OAS) solution provided the users with a standard environment for state-of-the-art research database management at a very low cost.

The architecture of the open adoption software (OAS) allows the user after a brief instruction to develop their own web-based data management system.

The implementation provided with the following features:

  • Basic Architecture

OpenCampus is basically three types: forms, trees, and containers. Any type of research project or clinical trial can always be mapped with this model and are fully configurable through the graphical user interface 

Source: National Center for Biotechnology Information


  • Interoperability

There are many taxonomies that allow the user to classify content with terms gathered within the vocabularies. With the help of taxonomies, the field contents are able to store not just as text, but also as a reference that is linked to the predefined value.

  • Multicenter 

The approach of OpenCampus software works really well under this section. There is one single study administrator that assigns permissions to center coordinators. Center coordinators then independently distribute access and permissions to the data managers that are responsible for entering the data.

The multicenter concept can be extended with various additional features such as node state levels or individual data processing guidelines that ensure that certain quality management actions are executed during data processing

  • Meta-analysis

One core element of this data storage approach in the OpenCampus OAS concept is that it allows the nodes to get connected to each other. The link between these nodes is called entity reference. With the help of entity references, the data from many studies can be combined (merged), enabling meta-analysis to be executed just by creating a new output view.

  • Data Security  

The two major solution in terms of security is that the customer can fill online form or the information can be submitted on premises along with the confidentiality of doctor-patient.

Thus, with the help of OpenCampus system, a steady environment was provided to the research center and the people working in it alongside with database design and pattern design. 


OpenCampus is not only that software which is used for the small clerical task, but it is also beyond that as it offers three-way interactive platform for students, teachers, and parents. It not only saves the time of the administrative staff and their pupils, but it also allows them to pay fees online and makes them attentive about important information around the university. 

Opensense Labs believes that the contemporary system of education will spread a new level of superiority in the education sector. Ping us at to know more about OpenSource campus management. The services provided by our organization would help you solve all your queries.

blog banner blog image Drupal Drupal 8 CMS OpenCampus OpenSource Campus Management Data Management Course Management Blog Type Articles Is it a good read ? On
Categories: Drupal

Flexible Content

New Drupal Modules - 23 February 2019 - 9:35pm
Categories: Drupal


Subscribe to As If Productions aggregator