Skip to Content


The value of 'Rubber Banding' (An engagement driver) - by Nikhil Birla Blogs - 2 March 2015 - 2:17am
"Rubber banding" a principle in which if you stretch too much you get snapped back hard thanks to physics. The blog will deal into how it can be utilized in games to drive engagement.
Categories: Game Theory & Design

How a Failing University Student Created a Video Game By Himself With No Money - by Ali Collins Blogs - 2 March 2015 - 2:17am
This blog post will explain how a university student with failing grades created an adventure platforming game by himself with no budget. Without good grades, I need a good reason why employers should look at me, and my game, Bug World, is that reason.
Categories: Game Theory & Design

Red Crackle: Using REST Export With Views In Drupal 8

Planet Drupal - 2 March 2015 - 1:13am
This article will take you through the steps required to use REST web services with Views in Drupal 8. You will have to install and enable two modules - RESTful Web Services and Serialization. Both these modules are part of a package known as Web Services. Follow the screenshots accompanying the article as we create a REST Export view, specify a REST Export path and enable json settings. You will have to install a REST client as well. In this example, we have installed Advanced REST client from the Google Chrome browser. As shown in the article, select GET in the REST client to send and receive a 200 status code.
Categories: Drupal

Web Omelette: Dynamically sort complex data with PHP's sort functionality

Planet Drupal - 2 March 2015 - 12:01am

In a previous article I showed you how to use the usort() and uasort() PHP functions to sort some more complex data using a comparator callback function. How cool was that?

Although powerful, this technique is quite restricting though because all the logic for the sorting happens inside the comparator function. In other words, you cannot pass parameters to this callback except for the actual default values that are being compared. So what's the problem with this?

Say you have an array of objects that have a name property that can be retrieved by a getName() getter method. And let's say they also have an address property retrieved by getAddress(). And you have a listing of this data and you need to allow for sorting by any of these properties both ASC and DESC. And forget for one second about the possibility of ordering them as they come out of your data store.

Implementing this with just the default usort() function means you will need 4 different comparer functions (one for each combination of property and sort direction). And what if you want to add more columns to the listing? Oh no..

As you can imagine, the solution to this problem is having a dynamic sorting function (or method in a class) to which you can pass the items to be sorted, the property by which to sort and the direction of sort. And then not have to worry about creating all these ridiculous comparer functions. So how might this look like?

function sortByObjectProps(&$items, $method, $order) { if ( ! is_array($items)) { return false; } return usort($items, function($a, $b) use ($method, $order){ $cmp = strcmp($a->$method(), $b->$method()); return $order === 'asc' ? $cmp : -$cmp; }); }

So what happens here? First of all, $items is passed by reference so we don't need to return it. The return value will just be a boolean indicating the success or failure of the sort. Additionally, we pass the method name that retrieves the property value ($method) and the direction of the sort ($order).

Then we run usort() on the items but - and here is the kicker - with an anonymous function that can use the passed in method and order values. Then it's just a matter of comparing the return values of the getter methods and negate the integer if the order is DESC. Pretty cool no?

So now you can have as many columns as you need and get them sorted in both directions. And obviously even more complex stuff.

Hope this helps.

In Web Development var switchTo5x = true;stLight.options({"publisher":"dr-8de6c3c4-3462-9715-caaf-ce2c161a50c"});
Categories: Drupal

Fuzzy Thinking: Why They Call him M

RPGNet - 2 March 2015 - 12:00am
Fuzzy spies.
Categories: Game Theory & Design

Out & About On The Third Rock: Drupal Camp London 2015 – revisiting Empathy

Planet Drupal - 1 March 2015 - 3:21pm
#DCLondon 2015 was nothing short of Epic, Drupal Camp London has in its own right become a mini-Con, with community members flying in from not only across Europe but the US, India, Australia and New Zealand it is hard to call it just a London camp! London is the centre of the multiverse! It was awesome […]
Categories: Drupal Headless Drupal In Your Terminal

Planet Drupal - 1 March 2015 - 2:00pm
Graphics in the Terminal, for you geeking pleasure

If you're excited about this, you are most likely a developer - so here's the code.

If this data looks familiar to you, it might be because it's the same data you see via Hedley's Angular client.

Continue reading…

Categories: Drupal

Role Provisioner

New Drupal Modules - 1 March 2015 - 11:52am

This module provides a base for handling roles and permissions. The RoleProvisioner is expected to be extended through a another module. Your module will provide the configuration YAMLs and a class to ensure they're brought into scope.


  • XAutoload (PSR-4 autoloading)
  • Libraries (SpyC YAML parser)

You can make sure your site's roles and permissions are in proper configuration by running the ensurePermissions() method during an install, upgrade, or manual method call.

Categories: Drupal

Behat Drupal Extension Remote Client

New Drupal Modules - 1 March 2015 - 10:25am
Drupal Remote API Client

The remote API client is a Drupal helper module that, in conjuction with the RestWS module, allows the Drupal Remote API Driver to run Behat tests against Drupal sites. This client module is only needed on remote Drupal sites where testing will occur.

Categories: Drupal

iMindsX OAuth

New Drupal Modules - 1 March 2015 - 4:23am

A library defining a common set of API's for connecting to 3rd party applications or API's. The API's are grouped into several classes, all having a subset of functionality. For example the storage API will define all functionality for talking to e.g. Dropbox API and Google Drive API. Because this gives an abstraction over all different 3rd party API's, you can quickly switch between the different providers without learning a new API.

The different classes:

  • Storage
  • Login (WIP)
  • Calendar (WIP)
  • SocialFeed (WIP)
  • Tasks (WIP)
Categories: Drupal

DrupalOnWindows: Deploying Drupal Like a Pro

Planet Drupal - 28 February 2015 - 10:00pm
Language English Introducing the Deploying Drupal Like a Pro Series

Building a Drupal site is difficult, developing a Drupal Based application is more difficult but correctly managing, deploying and keeping alive an application who's customer is paying you a 4, 5 or even 6 figure number per month is even more difficult. And if you want to do that one last thing in a cost effective way you must do it yourself.

More articles... Pages
Categories: Drupal

Chen Hui Jing: Drupal 101: Basic site optimisations

Planet Drupal - 28 February 2015 - 4:00pm

It has been statistically proven that nobody likes a slow website. We have all moved on from the days when you’d patiently wait for a page to load over that lovely dial-up modem. Nowadays, people want their pretty content, and they want it loaded instantaneously (or at most by 2 blinks).

One very basic concept I learnt about website performance is: minimise requests to your server. This makes perfect sense to me. Say I had a shopping list with 12 items. If I went to the general store and asked the shopkeeper for each item separately, he’d have to make 12 trips and most likely end up being very pissed at me. It’s much more efficient and faster to...

Categories: Drupal

View Modes Display

New Drupal Modules - 28 February 2015 - 2:36am

View Modes Display is a helper module to preview view modes for your entities.

When working on a site with many content types and view modes, it becomes tedious to find out where to view the rendered entity in a given view mode. This module aims to solve this by providing an additional tab "Preview Display" on the node itself.

On the "Preview Display" page, all view modes with custom settings will be rendered in the enabled theme. A contextual link is also added for nodes to make it easy to link to the "Preview Display" from anywhere the node is shown.

Categories: Drupal

Panels field collection form

New Drupal Modules - 28 February 2015 - 2:25am
Categories: Drupal

Views custom cache

New Drupal Modules - 28 February 2015 - 1:34am

This module provides two new simple caches for views which takes view's arguments into account:

  • Custom cache: view's all arguments: All view's arguments, including contextual and exposed filters, will be taken into account.
  • Custom cache: view's first argument: Only first view argument, even if it is a contextual or exposed filter, will be taken into account.

Also, this module let's you:

Categories: Drupal

Twitter Backlog

New Drupal Modules - 27 February 2015 - 11:02pm

Import a user's backlog of Twitter status messages, prior to the 20 messages imported by the Twitter module by default.


The 7.x-1.x branch of Twitter Backlog is intended to work with the 7.x-5.x branch of the Twitter module. The 7.x-2.x branch of the Twitter Backlog module is intended to work with the 7.x-6.x branch of the Twitter module.

Categories: Drupal

Code Drop: GovCMS: What Drupal developers can look forward to in 2015

Planet Drupal - 27 February 2015 - 8:49pm

At Code Drop we are looking forward to leveraging all of the incredible effort which has gone into the govCMS ecosystem and all which as gone into making Drupal the choice for Government organisations. Developers who work with or are hoping to work with the platform have a lot of stuff to look forward to in 2015.

Planned Features

While govCMS is the name for the overarching project to bring Drupal into government using turnkey solutions, it is powered by the Drupal distribution aGov. Part of the recent work that has gone into the platform is a planned set of features for a new version of aGov (7.x-3.x). These planned features have been posted on and do represent a really positive evolution in the profile, a quick summary of which can be found below.

Categories: Drupal

Drupal Association News: Drupal Association Board Meeting: 18 February, 2015

Planet Drupal - 27 February 2015 - 4:17pm

February may be the shortest month of the year, but it's certainly been one of the busiest for the Drupal Association, so I apologize for taking more than a week to get this summary post up! What's been keeping us so busy? Our first ever DrupalCon in Latin America and the Drupal Association At-Large Board elections. Both of these events have been huge positive milestones for the Association, and have involved dozens of volunteers from around the globe. In the middle of all that, we managed to sneak in a board meeting on 18 February. If you missed it, you can listen to the recording, read the notes, and peruse the materials. Or feel free to skim this summary!

Operational Update
  • We have a big initiative internally at the Association to reevaluate the metrics we use to illustrate the success of our work. We are also looking at ways to better display these metrics so that you can see more context. So over the next few months, you'll see the metrics in the dashboared shift and change. Just a bit of a heads up, and let us know if you have any feedback along the way.
  • The February board packet covered our January metrics, and things look pretty good one month into the year. We are especially pleased that the Engineering team has been able to bring site performance to our goal levels. 
  • The Engineering Team also took several big steps towards key areas of the roadmap in January. Step 1 of the roadmap is better Account Creation and Login, and several key issues were closed out.
  • The DrupalCon Team and Engineering worked together to launch in January as well. This shift means that Con sites are all on the same platform now. We no longer have to launch a site from scratch for each Con, which helps make Cons much easier to manage. Most importantly, we've been able to introduce key new features in reegistration for our community. Excited? Go ahead and register now! You can check out the new features yourself!
  • We are really lucky to work with the tireless Drupal 8 Branch Maintainers on the Drupal 8 Accelerate program. The program is picking up steam with a number of grants made and completed already. The next big grant will fund a Drupal CI (testbot) srpint in Portland at the end of March.
Content Strategy Update

Last year, the Content Working Group began a process of building a larger strategy for a reimagination of Our first work was focused on User Research, and completed that work in the fall, publishing the developed personas. The next phase has focused on developing a content strategy. With over 1.2 MILLION pieces of content on, a strategy for dealing with that content is going to be pretty darn important. You can check out the presentation, as well as the post that's currently one of those pieces of content on Advertising Strategy

Finding new revenue streams is vitally important to the Association. For the entire history of the Drupal Association, DrupalCons have been the primary way we have funded other community work. We want to do more to serve our mission: uniting a global open source community to build and promote Drupal. If we're going to do that, we need new revenue streams. The bonus? If we can find new funding sources, it takes the pressure off of DrupalCons to perform financially, which means we can make choices for those events that might not fuel the financial bottom line, but make the events better for the community. 

So how are we doing it? New programs like Drupal Jobs have launched. We are also introducing advertising on and to visitors. We working to develop advertising products that are meaningful for advertisers (enough traffic, good clicks) and also deliver value to our community. We've drawn a few clear lines - we won't advertise on issue queues, for example, and will focus on users who are not logged into the site. We'll also be developing a variety of programs so that small shops can participate alongside bigger firms. 

For all the details, check out the presentation.

The End

Thanks so much for checking in on this board meeting and, as always, please let me know if you have any questions or thoughts.

Categories: Drupal
Syndicate content

about seo