Everyman Minis: Fey Shaman Spirits

New RPG Product Reviews - 31 July 2018 - 2:03am
Publisher: Rogue Genius Games
Rating: 3
An review

This Everyman mini clocks in at 11 pages, 1 page front cover, 1 page editorial/ToC, 5.5 pages of SRD, leaving us with 3.5 pages of content, so let’s take a look!

After a brief introduction, which also expounds upon the realms of faerie in a sidebar, we begin with the new shaman spirit included within, the fey spirit: The spirit magic spells provide a nice mixture of fey-related tricks, with invisibility at 2nd and conditional curse at 4th level as remarkable low level tricks. The hexes include a fey-themed disguise self that later upgrades the scaling fey form spells. There is also a 1-minute duration curse that enhances damage taken on a failed Will-save and the old teleport from one plant to another striding, with distance traveled as the limit. Better illusion disbelieving (with see invisibility added at 8th level) and memory lapse-use complement the hex-section, making it, as a whole, feel distinctly fey. The spirit animal gets fast healing 1 at 1st level, which can be problematic in conjunction with HP-sharing abilities. Fast healing should have a scaling daily cap. The sprit ability nets a dual blinding/stagger-gaze with a 1-round duration, which is very strong, but kept from being OP by only affecting a target once per day. The greater ability nets DR and a 10-ft. glitterdust burst. The true spirit ability allows the shaman to 3/day increase the save DC of an enchantment, illusion or transmutation spell. The capstone is a fey apotheosis that nets immunity to death effects and fast healing 5, as well as respawning in the faerie realms after death, with a 1/month cap.

The pdf also includes an archetype, the fey conduit. This archetype is locked into the fey spirit and replaces the wandering spirit ability with 3 + Wisdom modifier times per day standard action summon nature’s ally II, which improves over the level. As a balancing caveat, no more than one such effect may be in effect at any given time. The ability may also be used for crafting purposes. Instead of 6th level’s wandering hex, the archetype may, whenever the conduit uses the aforementioned summoning ability, choose to call from a lower level spell list and add the fey creature template. Instead of 14th level’s wandering hex, the fey conduit may not call a creature from her highest level summoning list with said template applied, but only Wisdom modifier times per day. Basically a fey summoner archetype. Okay, I guess.

The pdf also includes a new spell, available at 6th level for druid, shaman, sorcerer/wizard: Pixie pollen. Oddly not included among the spirit magic spells of the fey spirit, in spite of being a perfect fit, this spell can target up to 6 creatures with a batch of specifically-created pixie dust. Unique: When targeting a creature, you choose the duration individually and modify the spell save DC accordingly: Permanent effects have a lower DC. I like this! These allow the caster to make targets behave age-appropriately (using the mental age rules from Childhood Adventures), modify the age of the affected, reincarnate targets (also into 0-HD-critters, for -4 to the DC), erase all memories of the current age category, shrink targets (Microsized Adventures-synergy…) – and that’s not all! The spell is amazing. Potent, yes, but also limited enough, and by far, the coolest thing in this pdf. Kudos!


Editing and formatting are very good on a formal and rules-language level. Layout adheres to the new two-column full-color standard of Everyman Gaming’s latest layout style, and the pdf has a nice full-color artwork. The pdf has no bookmarks, but needs none at this length.

David N. Ross’ fey spirit is a solid expansion for the shaman. Personally, I was rather underwhelmed by the archetype, and I am not a fan of the easily cheesable first level fast healing. The spell is inspired, though, and elevates this beyond what I’d otherwise rate it as…but not enough to increase the final verdict beyond 3.5 stars, rounded down.

Endzeitgeist out.
Categories: Game Theory & Design WebdriverIO Tests with Multiple Browsers

Planet Drupal - 30 July 2018 - 10:00pm

Everything was working great… and then all the tests broke.

This is the story of how adding a single feature into an app can break all of your tests. And the lessons can be learned from it.

The Feature that Introduced the Chaos

We are working on a Drupal site that makes uses of a multisite approach. In this case, it means that different domains are pointed at the same web server and the site reacts differently depending on which domain you are referencing.

We have a lot of features covered by automatic tests in Webdriver IO – an end to end framework to tests things using a real browser. Everything was working great, but then we added a new feature: a content moderation system defined by the workflow module recently introduced in Drupal 8.

The Problem

When you add the Workflow Module to a site – depending on the configuration you choose – each node is no longer published by default until a moderator decides to publish it.

So as you can imagine, all of the tests that were expecting to see a node published after clicking the save button stopped working.

A Hacky Fix

To fix the failing test using Webdriver you could:

  1. Login as a user A.
  2. Fill in all the fields on your form.
  3. Submit the node form.
  4. Logout as user A.
  5. Login as user B.
  6. Visit the node page.
  7. Publish the node.
  8. Logout as user B.
  9. Login back as user A.
  10. And make the final assertions.

Here’s a simpler way to fix the failing test:

You maintain your current test that fills the node form and save it. Then, before you try to check if the result is published, you open another browser, login with a user that can publish the node, and then with the previous browser continue the rest of the test.

Multiremote Approach

To achieve this, Webdriver IO has a special mode called multiremote:

WebdriverIO allows you to run multiple Selenium sessions in a single test. This becomes handy when you need to test application features where multiple users are required (e.g. chat or WebRTC applications). Instead of creating a couple of remote instances where you need to execute common commands like init or url on each of those instances, you can simply create a multiremote instance and control all browser at the same time.

The first thing you need to do is change the configuration of your wdio.conf.js to use multiple browsers.

export.config = { // ... capabilities: { myChromeBrowser: { desiredCapabilities: { browserName: 'chrome' } }, myFirefoxBrowser: { desiredCapabilities: { browserName: 'firefox' } } } // ... };

With this config, every time you use the variable browser it will repeat the actions on each browser.

So, for example, this test:

var assert = require('assert'); describe('create article', function() { it('should be possible to create articles.', function() { browser.login('some user', 'password'); browser.url('') browser.setValueSafe('#edit-title-0-value', 'My new article'); browser.setWysiwygValue('edit-body-0-value', 'My new article body text');'#edit-submit'); browser.waitForVisible('.node-published'); }); });

will be executed multiple times with different browsers.

Each step of the test is executed for all the browsers defined.

Instead of using browser you can make use of the keys defined in the capabilities section of the wdio.conf.js file. Replacing browser with myFirefoxBrowser will execute the test only in the Firefox instance, allowing you to use the other browser for other types of actions.

Using the browser name, you can specify where to run each step of the test. The Custom Command Problem

If you take a deeper look at previous code, you will notice that there are three special commands that are not part of the WebdriverIO API. login, setValueSafe and setWysiwygValue are custom commands that we attach to the browser object.

You can see the code of some of those commands in the drupal-elm-starter code.

The problem is – as @amitai realized some time ago – that custom commands don’t play really well with the multiremote approach. A possible solution to keep the custom commands available in all of the browsers is to use some sort of class to wrap the browser object. Something similar to the PageObject pattern.

An example of the code is below:

class Page { constructor(browser = null) { this._browser = browser; } get browser() { if (this._browser) { return this._browser; } // Fallback to some browser. return myChromeBrowser; } visit(path) { this.browser.url(path); } setWysiwygValue(field_name, text) { this.browser.execute( 'CKEDITOR.instances["' + field_name + '"].insertText("' + text + '");' ); } login(user, password) { this.visit('/user/login'); this.browser.waitForVisible('#user-login-form'); this.browser.setValue('#edit-name', user); this.browser.setValue('#edit-pass', password); this.browser.submitForm('#user-login-form'); this.browser.waitForVisible('body.user-logged-in'); } } module.exports = Page;

So now, you have a wrapper class that you can use in your tests. You can create multiple instances of this class to access the different browsers while you are running a test.

var assert = require('assert'); var Page = require('../page_objects/page'); describe('create article', function() { it('should be possible to create articles.', function() { let chrome = new Page(myChromeBrowser); let firefox = new Page(myFirefoxBrowser); chrome.login('some user', 'password'); firefox.login('admin', 'admin'); chrome.visit('') chrome.setValueSafe('#edit-title-0-value', 'My new article'); chrome.setWysiwygValue('edit-body-0-value', 'My new article body text');'#edit-submit'); // Here is where the second browser start to work. // This clicks the publish button of the workflow module firefox.visit('/my-new-article');'#edit-submit'); // Once the node was published by another user in another browser // you can run the final assertions. chrome.browser.waitForVisible('.node-published'); }); }); What About Automated Tests?

You may be also wondering, does this work seemlessly for automated tests? And the answer is: yes. We have only tried it using the same browser version in different instances. This means that we trigger several chrome browser instances that acts as independent browsers.

If you have limitations in how many cores you have availble to run tests, it should not limit how many browsers you can spawn. They will just wait their turn when a core becomes available. You can read more on how we configure travis to optimize resources.

As you can see, having multiple browsers available to run tests simplifies their structure. Even if you know that you will not need a multiremote approach at first, it may be a good idea to structure your tests using this browser wrapper, as you don’t know if you will need to refactor all of your tests to run things differently in the future.

This approach also can help to refactor the ideas provided by one of our prior posts. Using JSON API with WebdriverIO Tests so you don’t need to worry about login in with the right user to make the json requests.

Continue reading…

Categories: Drupal

Ben's SEO Blog: Topic Clusters Are Old News to Drupal SEO

Planet Drupal - 30 July 2018 - 10:00pm

Topic clusters has been a hot topic in the SEO community lately. They move the emphasis in SEO away from individual keywords to broader categories. Instead of optimizing a page for a keyword like “reduced fat mozzarella cheese”, the goal is to create valuable content for a strategic category such as “cheese”. By focusing on multiple topics within categories and linking these pages to the main topic page, businesses gain authority and performance for the entire topic cluster.

I agree that it’s a great idea, I’m just not so sure that it’s a “new” one. Organizing by topic clusters is old news for Drupal; it has had this capability for years. If you have a Drupal website, you may be ahead of the trend and well positioned for changing SEO strategies. Even if you haven’t designed your... Read the full article: Topic Clusters Are Old News to Drupal SEO

Categories: Drupal

User Login Logout History

New Drupal Modules - 30 July 2018 - 7:16pm

The module tracks user login and logout. If you want to track that when User was logged in and what time it was logged out.

Support: Autologout

Categories: Drupal

Promet Source: The Path to Migration

Planet Drupal - 30 July 2018 - 6:12pm
When it’s time for a new site, the word “migration” is often dropped in conversations. Every organization looking at a migration in the future will have their own reasons for doing so, their own history, their own future goals. In this article, we will present the following topics as a means to empower you to recognize aspects of website migration you might otherwise overlook.
Categories: Drupal

Workbench 404 Redirection

New Drupal Modules - 30 July 2018 - 5:29pm

Workbench 404 redirection provides basic support for content entities. That is, it allows
site administrators to configure the define States (that content can be in), for default redirection from 403 access denied to 404 Page not found.


Categories: Drupal

Steamforged Announces New Big League For Guild Ball

Tabletop Gaming News - 30 July 2018 - 3:00pm
Sports, generally speaking, are meant to be played as a tourney or as part of a league. You have your event or season, and the teams play games/matches against each-other over the course of it. For Guild Ball, that was the Big League, originally released in Season 2. Well, the game has changed quite a […]
Categories: Game Theory & Design

Conan The Pirate Available From Modiphius

Tabletop Gaming News - 30 July 2018 - 2:00pm
Yarr arr yarr! I loddie the hotpants! It’s a pirate’s life for me! Hey, I downloaded from Napster back in the day. That counts, right? Ok, so maybe I’m not much of a pirate, but Conan is, and so can you when you play the Conan RPG from Modiphius. They’ve released the Conan the Pirate […]
Categories: Game Theory & Design

Plaid Hat Games Posts New Guardians Preview

Tabletop Gaming News - 30 July 2018 - 1:00pm
At the center of a game of Guardians are the Guardians (it’s kind of right there in the name). In this first preview for the game, Plaid Hat Games goes right in with a look at how these Guardians cards work, how other cards work with them, and what other things you can expect them […]
Categories: Game Theory & Design

Latest Releases Available From Privateer Press

Tabletop Gaming News - 30 July 2018 - 12:00pm
Two recent factions are getting things this release wave from Privateer Press. The Crucible Guard, the brand-new alchemist faction has a trio, including Combat Alchemists, the Dragon’s Breath Rocket Launcher, and the Liberator light warjack. Then, sneaking its way in there, is the Hollow Holden attachment for the Grymkin. Kinda out of nowhere with that […]
Categories: Game Theory & Design

Analyst: Mobile MOBA Vainglory crosses $50M lifetime revenue

Social/Online Games - Gamasutra - 30 July 2018 - 11:43am

Sensor Tower reports that the competitive mobile game has now generated more that $50 million in revenue since its 2014 launch. ...

Categories: Game Theory & Design

Node Layout builder

New Drupal Modules - 30 July 2018 - 11:29am
Categories: Drupal

Don't Miss: Building truly cooperative play in Overcooked

Social/Online Games - Gamasutra - 30 July 2018 - 11:22am

"With Overcooked, we wanted to make a game which was much more focused on how a team works together rather than simply adding more players to a single player experience." ...

Categories: Game Theory & Design

Monday Terrain Corner

Tabletop Gaming News - 30 July 2018 - 11:00am
It’s Gen Con week. I’m sure everyone’s prepped and ready to go. *watches lots of people shake their heads NO!!!* Ah, well, as you finish getting ready, be sure to check out today’s terrain articles so your tables can look as good as the ones at the show. Today we have: Dwarven Forge Running Caverns […]
Categories: Game Theory & Design

Paizo Previews Multiclassing and Archetypes in Pathfinder 2.0

Tabletop Gaming News - 30 July 2018 - 10:00am
Fighter/Rogue, Wizard/Ranger, Warlock/Barbarian, there’s all sorts of combinations you can make. Multiclassing is a way to have a bit of variety with your characters. But how will it work in Pathfinder 2.0? We get a look at that. Along with it, Paizo is showing off a bit about different Archetypes as well, which can further […]
Categories: Game Theory & Design

JavaScript Manager

New Drupal Modules - 30 July 2018 - 9:21am

Allows external and inline JS to be added to pages.


This module requires the following modules:


Manage JavaScript Items: Allows management of external and inline JavaScript.


JavaScript items can be configured at /admin/structure/js_manager_add_js

Categories: Drupal

Z-Man Games Posts Gen Con Preview

Tabletop Gaming News - 30 July 2018 - 9:00am
Oh, hello Gen Con. You’re, like, right here… Not that it’s really “sneaking up” on us. It’s been on the radar since January. But still, the show’s right around the corner. And Z-Man Games will be there, and they’re giving us a little peek at what they’ll have at the show. From the post: Gen […]
Categories: Game Theory & Design

Games for Everyone: The Importance of Accessibility in Video Games - by Caleb Compton Blogs - 30 July 2018 - 8:54am
These days, it seems like everyone is playing games. Games have become one of the largest entertainment industries on the planet, but despite this many people are still left out. In this article I look at some ways to design games to be more accessible
Categories: Game Theory & Design

Security public service announcements: Drupal 8 release on August 1st, 2018 - DRUPAL-PSA-2018-07-30

Planet Drupal - 30 July 2018 - 8:23am

The Drupal Security Team will be coordinating a security release for Drupal 8 this week on Wednesday, August 1, 2018. (We are issuing this PSA in advance because the in the regular security release window schedule, August 1 would not typically be a core security window.)

The Drupal 8 core release will be made between noon and 3pm EDT. It is rated as moderately critical and will be an update to a vendor library only.

August 1 also remains a normal security release window for contributed projects.

Categories: Drupal

Dries Buytaert: Building digital backpacks for Syrian refugees

Planet Drupal - 30 July 2018 - 8:16am

I recently heard a heart-warming story from the University of California, Davis. Last month, UC Davis used Drupal to launch Article 26 Backpack, a platform that helps Syrian Refugees document and share their educational credentials.

Over the course of the Syrian civil war, more than 12 million civilians have been displaced. Hundreds of thousands of these refugees are students, who now have to overcome the obstacle of re-entering the workforce or pursuing educational degrees away from home.

Article 26 Backpack addresses this challenge by offering refugees a secure way to share their educational credentials with admissions offices, scholarship agencies, and potentials employers. The program also includes face-to-face counseling to provide participants with academic advisory and career development.

The UC Davis team launched their Drupal 8 application for Article 26 Backpack in four months. On the site, students can securely store their educational data, such as diplomas, transcripts and resumes. The next phase of the project will be to leverage Drupal’s multilingual capabilities to offer the site in Arabic as well.

This is a great example of how organizations are using Drupal to prioritize impact. It’s always inspiring to hear stories of how Drupal is changing lives for the better. Thank you to the UC Davis team for sharing their story, and continue the good work!

Categories: Drupal


Subscribe to As If Productions aggregator