Check your coding style on Drupal 8

Coding style?

Building software is a complex and sometimes tedious process in which you make errors and mistakes. Testing for errors is mostly done by running your website / code through tests either manually or automatically.

Checking for your code style like formatting and documentation flaws you can use a code sniffer. For PHP you can run phpcs using PHP_CodeSniffer.

Drupal core provides core/phpcs.xml.dist to tell phpcs what to test for.

My sync2dev script on Mac

# Sync database
# Fix before receiving files
# Get the files
# Fix after receiving
# Drupal 7 variant of cache-rebuild
# Login to site
# Make sure drush finds the features drush extension
# List features with changes

yUML as a service

With the online service one can draw some UML Diagrams. Wouldn't it be great to build that into Drupal? Checkout the new yUML module.

fetch json and pretty print


While working on Deploy RestWS for D7 project issue JSON I needed a pretty print for the node.json and scanner done for Drush Issue Queue Commands Fix for the new json structure on d.o D7. Both issues as still open so help needed.

Doing some research I learned about the PHP context or more specific the HTTP stream context

Knock knock who is calling

Knock knock

Who is calling my function so many times? With devel module and some probing using debug_backtrace and a nifty by ref variable it's a snap.

Do we need git squash and thus forced pushes?

Weird unnatural bug

As a followup on A pinch of Symfony for D8MI? why do we need to squash?

After some more squash and push -f attempts regarding pull request for Symfony I get the hang of it.

But chx said in squash is bad as we loose history on the development process.

So how should we do this on d.o when git phase 3 lands? Those discussion seems to got to a halt.

Drupal 8 Modules Graph

Below a graph generated from the module list of a Drupal 8 development site.

fixing drupal info files on php 5.3

Trying some Drupal 5 sites for upgrade script development on desktop PHP 5.3 I ran on *.info files causing annoyances.

Using ctools modal forms for node edit

For a drupal 6 site I needed a node edit overlay. This is what I did.

Define the urls ajax/node/%node/edit and nojs/node/%node/edit. The idea is to use path similar to the normal drupal paths just prepended with what ctools modal needs. It needs are minor in that the url path must contain a string nojs and in this case a class attribute ctools-use-modal.

function annotate_ym_menu() {
$items['nojs/node/%node/%'] = array(
'page callback' => 'annotate_ym_ajax_node',
'page arguments' => array(0, 2, 3),

Who is currently online

I want to run svn up on the site but I need to offline it first. So who is online?

SELECT name, mail, (unix_timestamp()-access)/3600 AS hours
  FROM users
  HAVING hours < 1
  ORDER BY access;

Or for short

drush sql-query "select name, mail, (unix_timestamp()-access)/3600 as hours from users having hours < 1 order by access;"