Skip to Content


Tom Geller: Moving on from Drupal

Planet Drupal - 24 June 2015 - 3:12pm

In the Esperanto language there was a great writer and activist known as "Kabe". After creating magnificent translations and reaching a position of authority, he suddenly left Esperanto life, never to participate again. So notorious was his disappearance, the language gained the verb "Kabei" -- to vanish suddenly from a position of great visibility.

I'd be flattering myself to compare my position in the Drupal world to Kabe's in Esperantio -- the Esperanto world. But my courses and other writings about Drupal made me fairly well-recognized in Drupal circles.

I've been absent from those circles for the last couple of years, and feel the need to give closure to -- and recognize -- those I got to know there.

I got started in Drupal because I wanted to build a dynamic website to promote a book I'd written. It was a period of great growth for Drupal, and accepted my proposal to create a seven-hour "Essentials" video course. (I think they agreed because their first CMS course -- on WordPress -- was selling pretty well.) That led to seven more, a book, a magazine column, various presentations, and a lot of corporate work.

Was I a "Drupalista"? That's tough to say. I've sincerely enjoyed working with it: Although I've come to recommend WordPress for inexperienced site builders with minimal needs, I'm still thrilled with how much I can accomplish with Drupal and a free afternoon. As I (like most people) have come to live more and more online, Drupal has given me more control over my environment. For example, I'm not afraid that I'll lose a major chunk of my history as LiveJournal slips down the tubes: Through Drupal I made a local copy, privately linking commenters to their real-wold contact information. Those tools, those gifts of the Drupal community, are still with me.

We grew apart. Drupal ceded the mom-and-pop market to other platforms, focusing instead on enterprise needs. That's a fine match... but it's not what interests me, personally. Coding -- a skill I don't have -- eclipsed site-building, evidenced by the increasing percentage of Planet Drupal posts on the subject. And Drupal 8's unexpectedly long development time caused a major writing project to stall after I'd put in a month of work.

But oh! What a fine relationship we've had. I'm scared to list the people who have made my time in "Drupalio" so much fun -- I'm sure I'd miss many. But I want to recognize everybody who helped me on; those involved with Drupal companies I've worked with (Commerce Guys, Mediacurrent, Acquia, Phase2 Technology, DrupalEasy, Tag1 Publishing, TopNotchThemes); those who corresponded privately about Drupal matters; and those who continue to make Drupal great. I'd be very happy to hear from you directly, and will continue to check in on (where I'm tgeller) from time to time.

I've gone back to general technology journalism and communications. Lately I've been quite happy working in video, and have started a U.S.-based agency, Tom Geller Productions. Making a monthly video for The Association for Computing Machinery has put me in touch with people doing fundamental research. I intend to do for that community what I've tried to do for the Drupal community: to make their work clear and accessible to those without specialist knowledge.

Esperantio and "Drupalio" are quite different. But they're similar in an important way -- one that's shared by any international community of people gathered for a righteous cause. After a time, the cause changes and falls away, leaving intact relationships that linger. As Wavy Gravy said, "It's all done with people." Although I might kabei, look forward to seeing you people, wherever we meet.

Blog category: Drupal Planet
Categories: Drupal

Shadowrun: Data Trails

New RPG Product Reviews - 24 June 2015 - 2:16pm
Publisher: Catalyst Game Labs
Rating: 3
Shadowrun: Data Trails provides information, tools and background for the Matrix, the successor of the web in the Shadowrun future. Is it vital to your Shadowrun game? Yes, immediately, if you are a GM running a Matrix focused game, and at some point otherwise as it has enough useful information on the Matrix and deckers to be widely useful for any Shadowrun campaign. The product could have been better organized and the GM’s section deserved to be much larger but still a useful addition to the Shadowrun range.

Shadowrun: Data Trails, is the core matrix handbook for the 5th edition of Shadowrun providing information on the matrix, the global computer network that ties everything together. There should be something for just about everyone (but especially the GM).

The book begins with one of the ubiquitous fiction sections, then an (in game world) discussion on the new Matrix (the global computer network of the Shadowrun universe), how it has changed
and how it works now. It provides a useful overview of the various Matrices, as each major Megacorps has their own overlay as do most governments and then there is the baseline public matrix (the PubGrid) for those who cannot access something better. A brief description of the appearance and feel Megacorp grids and some others are provided to allow for better description of such environments.

The next section deals with the people who use the Matrix, focusing in the hackers, with notes on the hacker underground, slang, and some of the hacker and technomancer groups you can find (or fight or join). Next there is a short section of new positive and negative qualities mostly, but not exclusively, for hackers and technomancers and including such gems as “online fame,” everyone knows the online you, and “data liberator” where you are so convinced that data wants to be free that you give it away every chance you get. The “Born to Hack” section provides life modules to use with the module-based character creation system of Run Faster, but might suggest some builds for characters even if not using that system. Then the work moves into new apps, programs and forms providing new options for hackers and technomancers both. Following new software is new hardware, commlinks, cyberdecks and more for the discerning hacker.

It then veers back to how the new Matrix works with an overview of how the various corporate grids are patrolled and defended including new IC and NPC stats for some of the security personnel one might encounter. Next, hosts are discussed, which is good as they are the major subsystems that hackers are going to be dealing with. Different types of hosts are discussed, government, retail, R and D and so on, with examples for each type presented both in game terms and a full description of how there appear and why they were shaped that way. A brief run on a host is also given as an example of such things which is useful but it could have been a bit more detailed and explicit references to the rules (and rolls) and where to find them would have made it more useful. But the host section is solidly useful and provides good information for GMs, and things to worry about for PCs. Beneath hosts, indeed underlying the entire new matrix, is the Foundation a realm of deep programming that follows its own dreamlike rules. From there you can manipulate the host on a major level, if you can understand the weird dream logic of each realm and, on the bright side, it is a great place to bring your whole team into to solve problems. Two example Foundation realms: Gnome factory, a 1950s-ish cartoon factory run by garden gnomes for a quick adventure, and Jane Austin’s Pride and Prejudice (really) as an exercise in roleplaying and intrigue (though it is only minimally fleshed out).

Next is “The Principles of Insanity” which talks about AI of several different types, including e-ghosts, technomancers that have fallen to the dissonance (the toxic shamans of the technomancer set) and a little bit more on the realm of Matrix and UV hosts. Embedded within this chapter are some new rules, the most major of which is playable AI-types, which I think would have been considerably helped by having a few example characters to better understand how the designers were thinking of the various AI-types and how they could function as characters. Additionally some notes on what sorts of additional abilities dissonance technomancers may manifest and how UV hosts affect those jacked into them. There are lots of good ideas and hooks in this section yet everything feels unfinished with just enough information to get started and then the rest will have to be sorted out on the fly.

Lastly there is a section on Mastering the Matrix, which is advice for the GM on how to use the Matrix in a Shadowrun game. Advice on structuring the use of the Matrix for various scenario types, advice on linking the action between deckers and everyone else, ways to present the Matrix to convey different story metaphors and some basic reminders on how combat in the Matrix works along with an example combat. This should have been the first or second section as it help GMs (and players) frame the information in the other sections and it should have been larger. The Matrix and linking adventure in it to the action of the rest of the characters is by far one of the hardest things a Shadowrun GM has to do in game.

Overall a useful work if oddly organized, I cannot help but think that it would have been better if all of the rules information was gathered in one place rather than being scattered about. Also a chart collecting all of the Matrix actions, old and new, would have been helpful.

Note: Read more reviews and other gaming articles at my journal
Categories: Game Theory & Design Why PhantomJS When You Can Chrome

Planet Drupal - 24 June 2015 - 2:00pm

Following our unfortunate bug in Shoov which caused login to stop working, we decided to write a Behat test that will continuously check the live site and make sure login with GitHub is working properly.

Writing the Behat test was pretty easy, however it had a major problem - it didn't work.

@javascript Scenario: Login to shoov Given I am an anonymous user When I visit the homepage And I login with my GitHub account Then I should wait for the text "My Account" to "appear"

When Behat sees the @javascript tag in the begining of the scenario, it launches it (with the help of Mink extension) in PhantomJS, Firefox or Chrome.
PhantomJS is usually the easiest to configure and hook into the CI workflow later on.

But the test we wrote just failed on all versions of PhantomJS we tried. Which made us switch to Firefox instead. Travis CI is kind enough to have a headless Firefox installed in their machine which we could use. Unfortunately, Firefox didn't like our test either, but for another reason - it couldn't parse the xpath we use to find our text elements.

So after spending some time trying to figure out a workaround, I suddenly stared at the browser I was using to find the answer - Chrome!

Behat test running on headless Chrome, seen via VNC

Continue reading…

Categories: Drupal


New Drupal Modules - 24 June 2015 - 1:21pm

Changes the names of page requests that get sent to New Relic so that you can see which panels are actually slow.



Categories: Drupal

Survey: 66% of players feel games should be more inclusive

Social/Online Games - Gamasutra - 24 June 2015 - 12:03pm

A Quantic Foundry report this week surfaced interesting data from 1,127 game players surveyed about "hot button" issues like F2P monetization, violence and diverse representation in games. ...

Categories: Game Theory & Design

Drush Mandrill Statistics

New Drupal Modules - 24 June 2015 - 11:41am

This project provides drush commands to fetch data from the Mandrill transactional email service, to display email tags and statistics on each tag. Tags represent different types of transactional email sent via Mandrill.


From a command line, run the following:

$ drush dl drush_mandrill_stats

This will download the project and place it in your $HOME/.drush folder. Alternatively, you may also download the release manually from

Categories: Drupal

Casual game maker Gameduell snaps up Nintendo icon Howard Phillips

Social/Online Games - Gamasutra - 24 June 2015 - 11:17am

The game industry veteran, best known as a face of Nintendo's Western business in the '80s, has joined Gameduell to serve as the German casual game company's head of game design and user experience. ...

Categories: Game Theory & Design

Forum One: Programmatically Restricting Access to Drupal Content

Planet Drupal - 24 June 2015 - 10:01am

Have a requirement like “I want users to not be able to add, update, delete or view content if some condition is true?” If so, hook_node_access might be all you need. This hook simply allows you to alter access to a node. Now let’s learn how to use it.

How this hook works

Anytime a user accesses a node (to add, update, delete or view it) this hook is called and can be used to alter that access decision. It receives three parameters.

  • $node – Contains information about the node being accessed (or base information, if it is being created)
  • $op – What type of access it is (create, update, delete, view)
  • $account – Information about the user accessing the node

It expects a return value to alter the access, which is; NODE_ACCESS_DENY, NODE_ACCESS_IGNORE or NODE_ACCESS_ALLOW. Best practice is to not use allow and use either deny or ignore (ignore is the default, if no return is given). You get far less permissions headaches this way.

I use this module often for customized workflow requirements. The most recent use case was “I want to deny update access to all users who try to update a node based on a user select field on the node selecting them or not.”

This is all done with one simple hook in a custom module (see below).

NOTE: There are some instances this hook is not called/skipped. Refer to the hook’s link for those cases.

/** * Implements hook_node_access(). * * Enforces our access rules for custom workflow target content to force updates * only if the user is targeted in the user select field */ function mymodule_node_access($node, $op, $account) { // If a node is being updated if ($op == 'update') { // If the user select field exists on this node if (isset($node->field_my_user_select)) { // If the user select field is not empty if (!empty($node->field_my_user_select)) { // If the user id in the user select field does not match the current user if ($node->field_my_user_select[LANGUAGE_NONE][0]['target_id'] != $account->uid) { // The users are not the same. Deny access to update in this case return NODE_ACCESS_DENY; } } } } // Else ignore altering access return NODE_ACCESS_IGNORE; }
Categories: Drupal

Designing a Mobile Game Technology Stack - by Ruud van Falier Blogs - 24 June 2015 - 7:30am
A look at the technology stack designed by Rumar Gaming that allows rapid release of new games without worrying about non-gameplay functionality, databases or API hosting.
Categories: Game Theory & Design

Palantir: Twin Cities or Bust!

Planet Drupal - 24 June 2015 - 7:29am

We love Drupal Camps for a lot of reasons, and the popular Camp in the Twin Cities is no different. We get to learn about new projects, see old friends, and discover interesting ideas and solutions to challenges in Web development, design, and strategy. In addition, not only does our Senior Web Designer Carl Martens live in the Twin Cities area, we’ve worked with a number of clients there, including the University of Minnesota and PRI, among others.

This year, we have six Palantiri in attendance, presenting sessions on a number of important topics like Drupal 8, testing, technical debt, design systems, and much more. The Camp also gives us a unique opportunity to talk shop with past, current, and potential clients to learn about their projects and understand the challenges our expertise can help solve for them. Heading to the Camp? Please do let us know via our contact form.

We give an overview of our sessions for Twin Cities, and propose why each is important for your project or those working on it. We’ll update this post once the recordings are online.

Rendering HTML With Drupal: Past, Present, and Future

by Steve Persch
Friday, June 26, 10:30am

What is it about?
This presentation will review the mental models used in Drupal theming and propose a workable path forward. For years, Drupal core has encouraged a mindset of altering and overriding its internal data structures. Developers in the Drupal 6 era created a philosophy called “sustainable theming” that relied heavily on CSS to work best with Core’s tendencies. The rapid acceleration in the wider Front-End community in recent years has brought new underlying assumptions and new ways of thinking. Expectations for how to construct Drupal sites have changed. The future holds clear decoupling with Javascript MVC frameworks, Web Components and some traditional HTML frameworks that encapsulate Front-End pieces that can work with multiple data providers. Can you make Drupal’s components be those components? Bonus: the phrase "Headless Drupal" will come up at least a dozen times.

Why is it important for your project?
Knowing the history of a system helps round out your overall knowledge of that system. As such, you'll learn how Drupal's theming system has been shaped by expectations of different eras, and how CSS usage has evolved, ultimately learning how to spot patterns that move toward the future of front-end development. In addition, you’ll learn the importance of discussing with theming choices with team members, and ways to future-proof their code and workflow.

Drupal 8: The Crash Course

by Larry “Crell” Garfield
Friday, June 26, 10:30am

What is it about?
One of the most widely-used and mature Content Management Systems on the planet, Drupal runs more than one in fifty websites in the world. However, it has always been something of an odd duck, with an architecture and design very different than anything else in PHP. Enter Drupal 8: almost a complete rewrite under the hood, Drupal 8 is a modern, PHP 5.4-boasting, REST-capable, object-oriented powerhouse. Now leveraging 3rd party components from no less than 9 different projects, Drupal 8 aims to be the premiere Content Management Platform for PHP.

Why is it important for your project?
A bit of Drupal 8 preparedness never hurt anyone. This session will provide a walkthrough of Drupal's key systems and APIs, intended to give developers a taste of what building with Drupal 8 will be like, and should be able to recognize common patterns in Drupal 8 development, and identify the Drupal 8 equivalents of common tasks from Drupal 7 at the end of it.

Design Systems and Drupal

by Larry “Crell” Garfield and Carl Martens
Saturday, June 27, 10:30am

What is it about?
Modern Web design demands visual systems that ensure content is delivered to our myriad devices, from smartphones to tablets to desktop displays and beyond, in usable ways. It requires thinking in terms of content that gets presented, often in a variety of different ways, rather than simply presentation. In this session, Larry and Carl will provide practical examples for how modern, modular design systems and practices can map directly to Drupal’s Views module, view modes, image styles, panels and other common site building tools.

Why is it important for your project?
You'll walk away with information that will help you leverage Drupal’s strengths through leading edge Web design, to both see and understand the basic concepts of design-system thinking, content strategy, and Drupal as a unified worldview that results in better, faster, and more consistent sites.

Technical Debt Insights from the Lorax

by Andrea Soper and Joe Purcell
Saturday, June 27, 1:00pm

What is it about?
Technical debt is a common analogy to describe the cost of code mess and poor architecture. However, how far can the monetary analogy go? In this session we will look at insights from the Lorax and “environmental debt”. Specifically, Andrea and Joe will build an argument for why the monetary comparison communicates the wrong idea about how technical debt is measured and how it impacts business. They will also include measures and practices to mitigate such technical debt.

Why is it important for your project?
If you deal with the challenge of communicating the business cost of technical debt, want a clearer understanding of what technical debt is and how to measure it, or want advice on how to mitigate against technical debt, this session will help. The goal is cleaner, more sustainable code and architecture for you, your team, your project, and the future.

On PhpSpec and Not the Drupal Way

by Michelle Krejci
Saturday, June 27, 2:15pm

What is it about?
This session gives you an introduction to the distinctions between unit, integration, and system testing, an introduction to behavior driven development (BDD), and, of course, using PhpSpec (a BDD tool) to isolate and spec out functionality in your Drupal codebase. PhpSpec is a toolset for building out testable pieces of functionality strictly designed to meet —and only meet—the project requirements that you have made explicit. Identify your inputs, test your expected outputs. That's it. The bigger question is: how do we as developers mature our skills and deliver testable, functional code while we continue to work on Drupal 7?

Why is it important for your project?
Proper testing breeds successful projects, plain and simple. You'll walk away with not only an understanding of the cost/benefit tradeoff of unit testing vs. system testing, you'll also learn the importance of building out custom functionality in Drupal using PhpSpec. The ultimate goal is helping you write better code and modernize your developer skills. Project Managers are welcome, too!

Heading to Twin Cities? Let us know in the comments, @ reply us on Twitter, or get in touch via email.

Categories: Drupal

The music system 15 years in the making Part 3 - by Stephan Schutze Blogs - 24 June 2015 - 7:28am
In part 3 or this 2 part series I explore what happens when things go wrong. All Projects have challenges, Defect has plenty of them.
Categories: Game Theory & Design

Anchors Navigation

New Drupal Modules - 24 June 2015 - 7:26am

In the issue
for Anchors Panels Navigation there is an idea to simplify approach.

We have a decision to create some universal approach and several submodules on the case of using Panels, Views etc.

Categories: Drupal

Summoner Sweetheart Post-Mortem - by Silvia Chang Blogs - 24 June 2015 - 7:19am
A lengthy post-mortem report on the production of "Summoner Sweetheart," an indie visual novel & RPG game developed by Big Steps.
Categories: Game Theory & Design Test the staging version of on Drupal 7 NOW!

Planet Drupal - 24 June 2015 - 7:13am

What, still runs on Drupal 6? Yeah. It is absolutely time to update to Drupal 7 so we can keep improving the site on an up to date platform, so we need your help to try the new staging version out. Sebastien Corbin and Gábor Hojtsy with the invaluable help of the Drupal Association prepared the staging site and hope it is near ready for the upcoming live update. But we need more testers to ensure it actually is. Here is how the test works:

  1. See all instructions for testing at, including how to report issues
  2. Everybody with existing accounts or new staging registrations is welcome (note that the site is not rebuilt, so if you don't already have a account, you need to create one on staging)
  3. This public testing runs until the 8th of July (for 2 weeks)

If you test now, we can fix issues ahead of the launch, so you would not need to complain after the update. Any questions? Post on the issue at

read more

Categories: Drupal

Story structure as a tool for game designers - by Filip Wiltgren Blogs - 24 June 2015 - 7:10am
Writers often use a story structure model to create plots that keep readers engaged. But with a few tweaks a simple 7 point story structure will work just as well for analyzing and designing games.
Categories: Game Theory & Design

Sex and intimacy in Dragon Age: Inquisition vs. its predecessors - by Lena LeRay Blogs - 24 June 2015 - 7:08am
I agree that it would be nice to see sex treated better in games and AAA games in particular, but there's an oasis in the desert. Or maybe a one-night stand in a long string of lonely nights?
Categories: Game Theory & Design

Commerce Panes Manager

New Drupal Modules - 24 June 2015 - 5:28am

Simple Commerce module that allows to rename any Checkout Pane. It can be very useful for theming checkout pages.

Categories: Drupal

Could 'virtual reality' treat alcoholism?

Virtual Reality - Science Daily - 24 June 2015 - 4:10am
A form of 'virtual-reality' therapy may help people with alcohol dependence reduce their craving for alcohol, a new study suggests. The findings come from a small study of just 10 patients. But researchers said they are optimistic about the potential for virtual reality as a therapy for alcohol use disorders.
Categories: Virtual Reality

Blog: A modern asset pipeline - How much time is spent optimizing?

Social/Online Games - Gamasutra - 24 June 2015 - 4:07am

My series on modern asset pipeline continued. In this post we look into how much time is spent on optimizing content. ...

Categories: Game Theory & Design
Syndicate content

about seo