HollyIT: Windows+Vagrant+WinNFSD Without File Update Problems

Planet Drupal - 11 February 2016 - 10:07am
Categories: DrupalPlanet Drupal

I have used Windows to develop on for years. I have been through WAMP, XAMPP and EasyPHP, plus also going my own route to handle my web development. Last year I switched to Vagrant so that I could mimic the varying servers I work with from all my clients. Of course I was quickly plagued with the problem most Windows vagrant users face - extremely slow page loads.

Categories: Drupal

Darren Mothersele: Build Your Own PHP Framework

Planet Drupal - 11 February 2016 - 9:00am

I'm excited to announce that I'll be back running training at this year's Drupal Camp in London. This will be the 3rd year in a row that I've offered training at the camp. I'm doing something a bit different this time...

Build Your Own PHP Framework

In this training you will build your own PHP framework.

But, why reinvent the wheel?

Building your own framework is a great way to learn the fundamentals of modern PHP. Regardless of your choice of framework, this will make you a better developer. A similar foundation of components underlies Drupal, Symfony, Silex, and Lavavel.

If you are a developer going from Drupal 7 to Drupal 8 then you need to adopt an object-oriented mindset.

Drupal doesn't always get it right. If you understand the basic principles you know when and why you're breaking them. You can make pragmatic choices as a programmer, without embodying bad practices.

"Build Your Own Framework" is a fun training to learn modern PHP. You will learn the "SOLID" principles of PHP package design. The training will demystify dependency injection, hexagonal architecture and other design patterns. We will look at HTTP Foundation and the other Symfony components.

Come armed with a basic knowledge of PHP, a laptop that can run PHP, and an open mind. Leave with a better understanding of the principles behind modern PHP and Drupal 8.

Tickets available here.

The training will be held on Friday March 4, 2016 at City University London.

Categories: Drupal

IXIS: Building websites for the blind

Planet Drupal - 11 February 2016 - 8:15am

This months Northwest Drupal User Group (NWDUG) in Manchester had a lovely visit from a non developer to talk about how the Internet has changed his life and the challenges of using the Internet as a blind person.

Being blind since he was a child has meant that some activities weren't possible before the Internet became accessible to everyday people - such as reading the news or magazine articles. Now Sunil works with the Internet everyday at his job in the British Red Cross.

read more

Categories: Drupal

Drupal Association News: Global Training Days - February 2016 Summary

Planet Drupal - 11 February 2016 - 7:05am

We kicked off the 2016 Global Training Days on February 5th. Twenty-two sites held a training in 11 countries, making it a great start to all things training in 2016.

Training events were held all over the globe in a variety of spaces. From offices to the public library and spaces where public university and governmental institutions collaborated with private organizations, Drupal was brought to a wide audience. Trainers gave introductory lessons with demos and hands-on site building exercises to attendees. Thank you to everyone who participated!

Here are just a few of the tweets we received about the first of the 2016 Global Training Days.

#DrupalGTD #Drupal training in progress at @valuebound in association with @drupalbangalore @BangaloreDrupal

— Neeraj Kumar (@neerajskydiver) February 6, 2016

Awesome #DrupalGTD in #Lviv! Thanks everyone! #learndrupal with @lemberg_co_uk

— Lemberg Solutions (@lemberg_co_uk) February 8, 2016

And in the end...thank you for this beautiful #DrupalGTD !!!!@bonsaimeme @SparkFabrik @SapienzaRoma #Drupal

— Bmeme (@bonsaimeme) February 5, 2016

All smiles at our #Drupal Training Day @SunSoftCity w/ @consultndesign. #DrupalGTD

— Drupal Hub (@thedrupalhub) February 5, 2016

See more photos and updates at #DrupalGTD on Twitter. The full list of participants is on the 2016 page.

Learn more about the program at or sign up to provide training at the next event.

Personal blog tags: Drupal Global Training DayGTD
Categories: Drupal Manage meeting room availability and take bookings with BAT for Drupal

Planet Drupal - 11 February 2016 - 6:45am
We put together extensive documentation on how to use BAT, using a meeting room availability and booking example throughout. This is one of the most often requested features - especially from libraries and educational institutions - so we hope you will find it useful. We hope this will help and would love to hear your thoughts - get in touch.
Categories: Drupal

Pronovix: Publishing a code sample book from Stackoverflow to LeanPub using Drupal and GitLab

Planet Drupal - 11 February 2016 - 6:09am

In this blogpost we want to share how Bruno Lowagie (the original developer of iText) designed a workflow that allows him to publish questions and answers from Stackoverflow on the iText Drupal site and then export them to LeanPub (utilizing a custom Drupal module).

Categories: Drupal

Encrypt PHPSecLib Encryption

New Drupal Modules - 11 February 2016 - 5:46am

This module provides an EncryptionMethod plugin for the Drupal 8 Encrypt module.
It uses the 3rd party PHP Secure Communications Library to provide AES encryption.


It is strongly adviced to use an encryption method that has been recommended by the Encrypt module maintainers. Usage of this module is discouraged.

Categories: Drupal

drunken monkey: Create Git diffs with proper function context

Planet Drupal - 11 February 2016 - 4:37am

For years I have been annoyed (slightly, but still) that Git diffs for PHP classes always just contained the class header instead of the method header as the function context. I finally got round to doing a bit of research and it turns out that the solution is astonishingly easy: just one small and simple config file and it will magically work.

The problem

You might have noticed it, and maybe been annoyed by it, too: when you create a diff file with Git and have changes inside PHP class files, you get hunks that look like the following:

@@ -40,6 +40,7 @@ class SearchApiViewsHandlerFilter extends views_handler_filter {
       '<=' => t('Is less than or equal to'),
       '=' => t('Is equal to'),
       '<>' => t('Is not equal to'),
+      '!=' => t('Is REALLY not equal to'),
       '>=' => t('Is greater than or equal to'),
       '>' => t('Is greater than'),
       'empty' => t('Is empty'),

So, where you would normally expect the function context, to quickly get an idea what that change means, the diff instead just contains the class name, which is much less helpful (especially if the file name already tells you the class).

Well, after years of being regularly (slightly) annoyed by this (more so in recent years, with the OOP shift in Drupal 8), I finally searched this new place called "the interwebs" and arrived at the very simple solution.

The solution

It turns out Git's diff functionality already has support for creating the right function context information for various file types – it just doesn't know which files correspond to which file type. (It seems not even the standard .php extension is recognized by default.)

To remedy this, simply create a file with the following contents:

*.engine   diff=php
*.inc      diff=php
*.install  diff=php
*.module   diff=php
*.php      diff=php
*.profile  diff=php
*.test     diff=php
*.theme    diff=php

Save the file either in .git/info/attributes or .gitattributes (for just the local project), or (to change this globally) in $HOME/.config/git/attributes (or $XDG_CONFIG_HOME/git/attributes, if that variable is set). That's it – testing again, we now see the proper function context in the diff:

@@ -40,6 +40,7 @@ public function operator_options() {
       '<=' => t('Is less than or equal to'),
       '=' => t('Is equal to'),
       '<>' => t('Is not equal to'),
+      '!=' => t('Is REALLY not equal to'),
       '>=' => t('Is greater than or equal to'),
       '>' => t('Is greater than'),
       'empty' => t('Is empty'),

Much better, right?

Note: I haven't yet found out where to put the global attributes file for Windows. If you know, please post a comment and tell me, and I'll include it here.

Background information

For more information on Git attributes, please see the documentation. I didn't know about this at all before, but it seems there's actually a lot you can configure per file type, so there might be other very practical tips for customization.
If you find or know of any, please post them so others can profit from them, too – just as I hope this post was useful to at least a few of you!

As an afterthought, I've also added this tip to the Git documentation in's handbook. Hopefully, more people will find it that way.

Categories: Drupal

@Play 83: HyperRogue - by John Harris Blogs - 11 February 2016 - 3:38am
An excerpt from the book @Play: Exploring Roguelike Games, on the subject of the non-Euclidian roguelike HyperRogue, in which all hits are deadly and the universe is much stranger than it first appears....
Categories: Game Theory & Design

Pixelite: Estimating Drupal projects

Planet Drupal - 11 February 2016 - 3:00am

Estimating Drupal projects can be tricky, and there are a number of tools and guides out there to help make your life easier in this topic. I thought it would be a great idea to aggregate this data, and present some of the best information out there. It is up to you to choose the best match for your team.


Developing Drupal sites: Plan or Perish - by Larry Garfield (2013)

Even though this article is nearly 3 years old, it still is completely valid for Drupal. There is an included spreadsheet that you get the tech lead, product owner and another engineer to collaborate on prior to building.

What I like about this:

  • Emphasis on involving tech leads early to perform scoping and breaking up functionality into tangible Drupal elements. This allows you to have less experienced developers do the actual build, as largely everything has been speced out.
  • View modes are used extensively which is a great for re-usability of content and maintaining flexibility
  • Questions, or opportunities for simplification can come up before anything has been built

There are 3 articles on that are worth reading, they all follow on from one another, so it would pay to start at the beginning and work your way to the end.

In here they introduce a spreadsheet that attempts to combine 2 developers estimates into a single number with variance.

What I like about this:

  • It exposes the fact that all website builds have range to which it can be completed in
  • It helps to explain the ‘Wideband Delphi’ method of estimation
  • Excellent explanation on how to use the spreadsheet is provided

Resources for my session on early estimating by Jakob Persson (2010)

Included in the article here is the Drupal early estimation sheet v3.

What I like about this:

  • Walks you through an actual example on how an email was turned into a concrete estimate, and how that was analysed
  • Introduces often overlooked things such as:
    • migration of data
    • producing help or documentation
    • deployments
    • third party system integration
    • working with a third party (e.g. external design vendor)

There are several training videos on that would be worth checking out if you have some time:

If you have an existing Acquia subscription you might already have access to, so this might be worth looking into.

Personal thoughts

Having been involved in doing a lot of this in my previous role, and one additional point I would like to make is to never start from a fresh Drupal install, it often makes sense to standardise on a Drupal technology suite, and installation profiles make this easy.

For instance, Acquia typically use an installation profile called lightning which provides built in ways to do lots of common tasks, e.g. layout, workflow, media management. This saves you having to re-invent the wheel on every project, and should help you provide more solid estimates when it comes to the base features of the site.

Another common theme across the different methods is to involve 1 or 2 tech leads early on to help break the requirements down into Drupal functionality. Having these early conversations with the product owner early on can often lead to a better solution not only in time to build, but feature set too.

Also remember, the above articles and spreadsheets may not work perfectly for you and your organsiation, so feel free to adapt them to suit your needs.


If you know of some other method to help here, please let me know in the comments. Especially keen to know of any other training content or spreadsheets which other companies use to help estimate Drupal projects.

Categories: Drupal

Wellnet Blog: Logging in Drupal 8

Planet Drupal - 11 February 2016 - 2:48am

Many Drupal websites are not just simple websites but real applications, with many functionalities, integrations and logic. It’s often necessary to keep track of what is happening in the application to understand if something went wrong or even just to monitor the user activities.
It is...

Categories: Drupal

Core Views Facets

New Drupal Modules - 11 February 2016 - 2:17am

This is a sub-module to Facets. It provides integration with Views. With this module enabled, exposed filters and contextual filters can be used as facet sources on views pages. Core Views Facets depends on Facets and Views. Search API is a weak dependency through Facets as well, but it does not need to be configured.

This module does not alter the query of the view itself, it only provides URLs built accordingly to trigger the respective filters.

Categories: Drupal

Designing Interactive Story (PART FOUR) - by Greg Johnson Blogs - 10 February 2016 - 11:00pm
This is the fourth post in a series of six. If you want this to make a bit more sense (well, relatively speaking) you'll read them in order. :) I hope you find it sparks some ideas and inspires you to make some innovative new games!
Categories: Game Theory & Design

How Firewatch builds character through map design - by Alex Wawro Blogs - 10 February 2016 - 11:00pm
Everybody's buzzing about Firewatch, but nobody seems to be talking about one of the best bits of the game's design: the map.  
Categories: Game Theory & Design

The 3 &amp;quot;That&#039;s&amp;quot; of Your Game&#039;s Look - by Nathan Fouts Blogs - 10 February 2016 - 11:00pm
Getting the desired player reaction when seeing your game's screenshots and trailer.
Categories: Game Theory & Design

Playing the field: Another look at Internet Gaming Disorder - by Mark Griffiths Blogs - 10 February 2016 - 11:00pm
Research into online addictions has grown considerably over the last two decades and Internet Gaming Disorder was tentatively classed as a behavioural addiction in 2013 by the American Psychiatric Association. But what's new on the topic?
Categories: Game Theory & Design

DrupalCon News: User Experience Design with Drupal and Beyond

Planet Drupal - 10 February 2016 - 8:04pm

Did you know you, yes YOU, could potentially provide the most valuable information at all of DrupalCon New Orleans?

Categories: Drupal

HTTP Field Update

New Drupal Modules - 10 February 2016 - 2:27pm

HTTP Field Update (HFU) is an extremely lightweight module for updating entity fields via HTTP requests. This is not a RESTful implementation and is not intended to be one. Its aim is to provide a very simple and quick way to do bulk updates or have an external system make quick, simple updates to an entity.

What it does:

It's pretty simple, HFU provides the following endpoint:

/hfu/<entity type>/<entity id>

To update a field on that entity, use query parameters in the form of:

Categories: Drupal

Zynga finishes a transitional 2015 with losses and mobile growth

Social/Online Games - Gamasutra - 10 February 2016 - 1:46pm

Desktop is way down, but mobile is up by about the same measure; no new games meant the company lost users, but it managed to stem the tides as it moves to tackle 2016. ...

Categories: Game Theory & Design

Zynga snaps up Yummy Gummy developer Zindagi Games

Social/Online Games - Gamasutra - 10 February 2016 - 1:43pm

As part of its quarterly earnings report today, Zynga announced that it has acquired California-based free-to-play game maker Zindagi Games for an undisclosed sum. ...

Categories: Game Theory & Design


Subscribe to As If Productions aggregator