Drupal Views now supports queries of Google Analytics report data
Views 3 now supports queries against Google Analytics. I've added this experimental module to the 7.x-3.x development release of Google Analytics Reports.

Queries supported
Most popular Google Analytics queries currently pass:
Working at Acquia!
After working at Nascom for a very brief time, I will soon start working at Acquia! I’ll be working on the Spark project as a Senior Software Engineer on the Office of the CTO, reporting directly to Dries!
Why I left NascomI chose Nascom because I felt it was the best fit for me. I really preferred working for a Belgian company. Nascom seemed to have it all1, but in the end, it was not a good match. I still stand by my choice of Nascom being the best possible choice I could have made, when limiting my choices to Belgian companies. They’re great. But the spark was missing for me.
Having worked at Facebook, I have grown accustomed to a [certain]7 mindset. It’s definitely not that Nascom had a lot of pointless process, it’s that they’re a project company, not a product company. I prefer the challenge of improving “one thing” over working on many projects for which 90% of the problems are alredy solved and the remaining 10% are either glue code or trivial challenges. This of course proves that Drupal core + contrib are doing what they’re supposed to do. We’re eliminating ourselves, as Dries already wrote in 2007:
[…] any business that disintermediates traditional middlemen by taking advantage of the internet has a good chance of being successful. Products or online services that eliminate middlemen can be incredibly successful. It’s a recipe for success.
With that in mind, what can Drupal eliminate?
…
Of course, the funny part is that by doing so, eventually, we’ll eliminate ourselves … But that’s a good thing, as it would free up a ton of spare time. ;-)
Right now, I want to be challenged, to learn as much as I can.
Until my time at Facebook, I’d mostly been hacking on school projects and on (most of the time: relatively complex) Drupal modules for clients. I never built entire Drupal websites due to likely scope creep which would make this work on the side impossible to combine with school projects’ deadlines. Building entire Drupal websites was the obvious next step, so I expected to like that as much as building Drupal modules. That was a miscalculation.
And there you have it. That’s the reason I decided to leave Nascom — after only one week. I felt extremely bad about leaving them so early — it seemed like I hadn’t given them a proper chance yet. But I’d been working on some of their largest projects in my first week already, so I saw the complexity in those projects. Or rather, the lack of complexity. Which is a proof of their solid craftmanship: after all, less complexity implies less risk, which implies a more stable result, more timely delivered to a more satisfied client. That’s the very nature of project companies: limiting complexity and risk to deliver what their clients expect.
I’m the first to admit that quitting after one week is bordering on insanity. But on the other hand: I was certain of my assessment. Staying longer would benefit neither them nor me: what if I quit in the middle of several projects? That would leave them in a bad state and would make it harder for me to look for a new job. So I tried to limit the damage by quitting quickly.
Why I’m starting at AcquiaMy main goal for my next job: a technically challenging job, not necessarily involving Drupal, in an environment that operates according to The Hacker Way (i.e. has the “right” culture, more or less a “start-up culture”). Having talked to hordes of Belgian companies before, I firmly believed I had to look beyond Belgium’s borders to find this …2 Hopefully I’d find something where I’d be able to work remotely, because moving was still not an option.

A few weeks after I had left Nascom, I was contacted by Acquia again. Our previous talks (in February) had come to an end due to the fact that moving to the U.K. or the U.S. are no options for me. I want to stay in Belgium. This time around however, it turned out to not be a problem, because I would be working directly for Dries, in his Office of the CTO team.
Angie “webchick” Byron explained what project “Phoenix” (now “Spark”) was all about. They deemed me a good match for this particular project (“improving the authoring UX of Drupal”) and checked whether I was interested in it.
Of course I was interested! :) Especially because this is one of the key areas in which Drupal has been somewhat lacking, and for which it is often criticized. I’ve done some UX work myself, with my Hierarchical Select module (also see the live demo), which is the project I spent most of my free time Drupal time on.
Immediately after having talked to webchick, I postponed talks with all other companies. I even risked losing an excellent offer I’d already received.
I made this bet, because this position at Acquia was perfect. It’s about as close as one can get to a dream job. I’d get paid to continue to do what I used to do in all of my available free time until a while ago: help move Drupal forward3 and thus empowering others4. I’d love nothing more than Drupal to gradually become better and better5. It would be hard work, but work I’m very passionate about. So it was worth the risk.
After some further talks and Acquia reviewing other candidates for a while, I was then offered a position in Acquia’s Office of the CTO! Hurray!
A crucial reason for Acquia to allow me to work remotely is because I worked remotely with Dries in the past: I’ve worked for Mollom, with Dries, in the summers of 2008 and 2009! That went very well and apparently has resulted in sufficient confidence in my capabilities and work ethic to allow me to work remotely.
So, there you have it. I’ll be working for Acquia, a hot U.S. start-up, from Belgium, on Drupal, directly for Dries, with Angie “webchick” Byron, Gábor Hojtsy, Alex “effulgentsia” Bronstein and others (Acquia is still seeking applications to join the Spark team!), on the project I’ve been most passionate about for the past five years: Drupal.
I’m absolutely thrilled!
I will do my very best in helping Drupal to kick more ass!
-
See the blog post about working for Nascom for details. ↩
-
I’m sure some companies that operate according to this culture exist in Belgium, but they’re even rarer than in the U.S. If there are any, I haven’t seen them yet. On top of that, they would most likely be in the Ghent area (that’s more or less Belgium’s “web tech hub”), which would imply a horrible commute. ↩
-
The Drupalistas among you whom have been around since 2007 and were active in the 2007–2010 know how much of my unpaid, free time I spent on Drupal. At several points in that period, I was one of the most active people in IRC and one of the contrib committers with the highest commit frequency. I still have screenshots somewhere of that. Back in the days of the “old”
d.o, we had a “Most active contributors” block — more than once I had contribution sprees that put me at the top, which gave a strangely satisfying as well as awkward feeling. ↩ -
The http://driverpacks.net open source project that I founded is also about empowering others. Coincidentally, it’s also how I got involved with Drupal in the first place. ↩
-
This reminds me of the fact that TeX’s version number converges to the number pi as it approaches perfection. I doubt this will ever be possible for Drupal since the internet will always continue to evolve, but I’d gladly be proven wrong :) ↩
Upcoming Drupal in the Clouds panel at CMS Expo
Although, I like to consider myself unbiased when I blog about content management systems, it is no secret that Drupal holds a special place in my heart. Drupal was one of the first CMSs I used that didn't "dead-end" me on a project I was required to support. Over the years, the Drupal community has treated me well, even during those times when I was very wrong in my judgment of Drupal. If Drupal was not a part of my world, I'm not sure I would even be blogging about content management systems. Drupal is the open source standard for which I judge other CMSs.
So, it should come to no surprise to anyone that when John Coonen inquired if I would moderate a Drupal in the Clouds panel at CMS Expo, I jumped at the opportunity. I am excited about the high caliber people that will be on this Drupal in the Cloud panel. The panelists include Joni Klippert from Standing Cloud, Kieran Lal from Acquia, and Jeff Walpole from Phase2 Technology. If you're trying to figure out what is involved in getting your Drupal site, services, and support to the Cloud, these are the people you want to have in the room answering your questions.
Even if you have no interest in Drupal for your CMS, I encourage you to attend this panel to learn more about content management in the Cloud as well as SaaS and PaaS. Like many of you, I've had my concerns and doubts in the past about the Cloud. Is all this talk about the cloud and SaaS a marketing gimmick? Is there any real benefit for my business to putting content into the cloud? During last year's CMS Expo I got my initial answers to these questions after talking to the folks at Acquia, Accrisoft, and Agility. The move toward the Cloud and software-as-a-service for content management is the real thing. It wasn't just the people from these companies that convinced me but their customers too.
If you are at CMS Expo this year, be sure to attend this 3:30 PM Drupal in the Cloud session on Wednesday, May 9, 2012. If you're worried that you may not know enough about Drupal or the Cloud to enjoy this session, please attend anyway. CMS Expo is geared for the newbie as well as the expert and I think this will be a great session for everyone to attend.
Tweet Widget
Google Plus One 3 Small Modules That Make Good Drupal Websites Great
Identifying the difference between a good website and a great website has everything to do with the care put into the details. Elements the site visitor never consciously notices combine in such a way as to affect them on a deeper level to convey stability, credibility and competency.
Simple off-site backups with rsync, ssh, and sudo

Setting up a proper backup system is often ignored until it's too late. Manage a computer or a server for long enough, and you'll inevitably run into missing data, or worse yet, corrupted data. For small servers running on a VPS, a complete off-site backup solution might be cost prohibitive or even unavailable. Many backup systems use complicated or proprietary storage mechanisms, making recovery difficult when restoring from "bare metal". Using a combination of rsync, ssh, sudo, and a touch of bash, it's possible to back up your servers quickly and easily.
Tools Needed Plan of AttackUsing a few standard *nix tools, we're going to set up incremental off-site backups. rsync will be the core of our backup strategy. rsync is an effecient and flexible program for copying data between different systems. In essence, rsync mirrors the contents of a source directory to a destination directory. What makes rsync awesome is that it can operate very quickly even over slow network links. By default, rsync will only transfer changed files between systems, ignoring files that already exist in the destination. This means that once the initial copy is complete, subsequent rsync commands will be much faster.
Summary Media Sprint April 2012 in Gothenburg
Modules of the Month: Most awesome new Drupal contrib modules from April
April 2012 delivered a fresh batch of promising and useful-looking new contributed modules to the Drupal world. Perhaps because the immediately-preceding DrupalCon gave developers some time to collaborate and work on their contributions more than they normally might, this month seems to have a notable number of interesting new projects, especially considering the relatively “mature” state of Drupal 7 at this point. To help keep abreast of some of the most interesting new developments we have planned a monthly article to showcase these new modules; this is the first edition of our “Modules of the Month”. At this point in the release cycle, newly released modules are mostly only being released for Drupal 7, but a few have also been released for Drupal 6 as well; where Drupal versions are not mentioned, you should assume the module is only for Drupal 7.
Caveat: I have tested some, but not all of these modules. Be especially careful if you choose to use any of the “pre-stable” releases on production sites. I should also note that some other awesome modules released in April may not be included—I did my best to select the modules I’d be most likely to use, but there are some “special use case” modules which were not covered, but which might be very useful for some sites. The 30-something modules included here have been sorted into very loose categories.
3rd Party Integration / Social Media
Twitter Follow Block
The Twitter Follow Block module, by Pradeep Saran, provides a nicely styled box to show your Twitter link and followers in a jQuery-loaded block that can be placed in any region of your theme. You can configure the dimensions of the block (and thus, the number of “follower thumbnails” displayed) and you can choose from different color schemes to better match your current theme. It currently only displays the Twitter feed for one Twitter user, but what might be an interesting development would be a way to dynamically load the Twitter username (e.g. from a Profile field) so that the Twitter follow block would link to different users (based on the author of content currently viewed or the profile page being viewed, if applicable). The module is currently available as a “stable” 7.x-1.0 release and I look forward to seeing this get further developed.
Social Buttons
The Social Buttons module by Linnovate’s Raz Konforti, provides a field that can be added and configured for any content type (or any fieldable entity) and includes default button code for Facebook, LinkedIn, Twitter and Google+, but you can also easily add new buttons. Since it’s a field, you can also determine where and whether it is shown for each display (node view, teaser, RSS, etc). It has a 7.x-1.0-beta2 release as well as more recent commits to the developer branch.
Content Access Control
Hidden Nodes
The Hidden Nodes module, created by Bryan Ollendyke of Penn State University, helps allow staff to hide nodes from regular visitors while still allowing users with “staff” permissions (admin or author/editor -type roles) to see the content in the menu as it will appear when the content is finished. This helps get around the issues caused by the “black-and-white” absoluteness of published/unpublished status (and only being able to access content through the “administer content” system). It was created to integrate well with the Outline Designer module, another project sponsored by Penn State. Hidden Nodes has recently had its fourth beta release and is certainly an interesting project for streamlining team-based content workflows.
Restrict node page view
The Restrict node page view module, authored by Christian Johansson of Sweden’s Kodamera AB, helps prevent users from viewing content outside of its intended context. The example use case for this module involves a requirement to prevent users from directly viewing Views slideshow nodes (via their node/xxx paths), but of course there could be other content you want to restrict access to but still have its information available in a Views display, so direct access to the node by most roles can easily be blocked with this module. The initial release is shown as “stable”, and it’s simple enough, so may never require any fixes or updates. That said, I do hope that they modify the module so that full-node access is only restricted to selected node types (i.e. blacklist). It currently adds a set of permissions for all node types, which defaults to no view access for all roles and content types, which would be a pain on sites with lots of roles and content types, especially if the goal is only to restrict non-staff access to one limited node type out of many.
Barn Raising and Code Sprint at Droplabs: Uniting the Drupal and Time Banking Communities
This past Saturday, April 28th, Droplabs hosted a barn raising and code sprint for the Arroyo S.E.C.O. Time Bank community, which brought together regulars from Droplabs and the Downtown Los Angeles Drupal group with members of time banking communities from neighborhoods all over the Los Angeles area, including Echo Park, Mar Vista, Palms, Culver City and Arroyo Seco.
The time banks are non-profit community collectives with a mission to facilitate the cooperative exchange of goods and services among its hundreds of members. Since September 2011, the time banks have been using Drupal to manage their community website and currency system at http://arroyoseco.timebanks.org. For more about time banking and the features in Community Weaver, see our video from the Downtown LA Drupal meetup that was recorded in February, 2012: http://droplabs.net/video/banking-on-drupal-at-the-echo-park-time-bank
There was something for everyone at this two-day event and we had a total of 26 people who attended one or both days. This was an excellent opportunity for the experienced developers in the Drupal community help mentor others into using Drupal's best practices for site development and getting some practical hands-on experience with the Features module.
We used the Features module and configuration-in-code methodology to help make feature development, maintenance and updates to their site much easier. The Features modules that we created are being prepared to share with TimeBanks USA, which will directly benefit the 370+ time banks that have their own sites that use the same Drupal distribution.
About the Barn Raising
After reviewing the agenda and task list, our group split into teams. The focus of one team, led by Ron Golan and Lee Vodra, was on reducing the organization's paper process and moving applications to join the time banks online using Webform.
In this photo, long-time Drupal developer Chris Paul led the team that created "Neighborhood" pages with Views, taxonomies and custom content types for the dozen or so communities that use a shared Community Weaver platform.
Another team, led by Christefano Reyes, performed system administration tasks for the other teams with Drush and used Features to move parts of Community Weaver's configuration to code. These efforts were broadcasted over a video conference with members of other time banks.
One of the many high points of the day was the food brought by the members of the time bank. It was as beautiful as it was delicious. Many thanks to Jennie Cooks!
Can you say "chocolate Nutella bacon croissants"?
At the end of the day, each team did a show-and-tell and explained what they'd been working on. We brought out a projector and went through the new features, one by one, as we demoed them for the whole group.
It was a successful event that sets a good precedent for future barn raisings. Amazingly, the day kept to the schedule that was originally announced, giving everyone a chance at the end of the day to relax and socialize.
Everyone at Droplabs is grateful to all those who attended. We look forward to hosting many more code sprints like this one and we are delighted that Droplabs is now an affiliated organization with the Arroyo S.E.C.O. community.
Tags:
Sprinting to Drupal 7 - Interviews with the Drupal.org sprint team
It was sprint time last week here in Portland, where over 20 people came to upgrade Drupal.org up to Drupal 7. There were 5 different teams focusing on different aspects of the project: infrastructure, Git, Project module updates, general upgrade of Drupal.org specific modules, and making the Bluecheese theme responsive.
Twin Cities Drupal Camp - D8 Theme Sprint
There's a great event called DrupalCamp Twin Cities going on May 18-19, 2012 in Minneapolis, Minnesota, USA. Since the event is one of my favorites, I've signed up to attend and also will be organizing a Drupal 8 Theme Layer sprint on Sunday, May 20th (as well as during the camp of course!). The specific times and location are still TBD but plan on an approximately 10 AM to 5 PM sprint.
Agenda:
I'd like to focus on the first 4 items in our "to get this into core" google doc, as follows:
- Create a patch for the new attributes system (http://drupal.org/node/1290694)
- add a “remove” method to the attributes class to allow easy removal of classes
- Create a patch for the removal of specific process functions that flatten data
- example: template_process
- Create a patch to move system theme functions out of common.inc and back into system module where they belong.
- Get the twig engine in (to the extent of a single use case)
- Get the TemplateData object into core (before removal of render elements)
- Convert a single template entirely into twig syntax (comment.tpl.php)
- this will require conversion of all the variables
- this may require all the other nested templates (container, title, etc)
- this may require conversion of preprocessing
Discovery in the White House
Devops in Munich
Devopsdays Mountainview sold out in a short 3 hours .. but there's other events that will breath devops this summer.
DrupalCon in Munich will be one of them ..
Some of you might have noticed that I`m cochairing the devops track for DrupalCon Munich,
The CFP is open till the 11th of this month and we are still actively looking for speakers.
We're trying to bridge the gap between drupal developers and the people that put their code to production, at scale.
But also enhancing the knowledge of infrastructure components Drupal developers depend on.
We're looking for talks both on culture (both success stories and failure) , automation,
specifically looking for people talking about drupal deployments , eg using tools like Capistrano, Chef, Puppet,
We want to hear where Continuous Integration fits in your deployment , do you do Continuous Delivery of a drupal environment.
And how do you test ... yes we like to hear a lot about testing , performance tests, security tests, application tests and so on.
... Or have you solved the content vs code vs config deployment problem yet ?
How are you measuring and monitoring these deployments and adding metrics to them so you can get good visibility on both
system and user actions of your platform. Have you build fancy dashboards showing your whole organisation the current state of your deployment ?
We're also looking for people talking about introducing different data backends, nosql, scaling different search backends , building your own cdn using smart filesystem setups.
Or making smart use of existing backends, such as tuning and scaling MySQL, memcached and others.
So lets make it clear to the community that drupal people do care about their code after they committed it in source control !
Please submit your talks here
How to bootstrap Drupal
Create a page outside of the CMS workflow that has access to Drupal's built-in functions.
Alaska Dispatch Wins Award for "Best News Website"
Mediacurrent would like to congratulate the Alaska Dispatch for their win of the "2012 Best News/Media Website in Alaska." The Alaska Dispatch has won awards both locally and nationally for their outstanding work completed in 2011. In fact, they have been recognized two years in a row in the Alaska Press Club Awards and The Best of the West Competition.
Drupal Voices 224: Drew Gorton talks Backup

Joe Shindelar joins Kyle Hofmeyer for a chat with Drew Gorton from Gorton Studios. Drew talks about NodeSquirrel, a remote backup solution for Drupal built off the Backup and Migrate module. Drew also talks about what excites him about the future of Drupal.
This Drupal Voices was recorded at the 2012 DrupalCon in Denver.
Release Date: May 1, 2012 - 10:00am Album: Lullabot Podcast Length: 4:07 minutes (2.85 MB) Format: mono 44kHz 96Kbps (vbr)Announcing Spark: authoring improvements for Drupal 7 and Drupal 8
At DrupalCon Denver, I announced the need for a strong focus on Drupal's authoring experience in my State of Drupal presentation. During my core conversation later in the week, I announced the creation of a Drupal 7 distribution named "Spark" (formerly code-named "Phoenix"). The goal of Spark is to act as an incubator for Drupal 8 authoring experience improvements that can be tested in the field.
I hope for Spark to provide a "safe space" to prototype cutting-edge interface design and to build excellent content tools that are comparable with the experience of proprietary alternatives. While not a final list, some initial thinking around the features we want to experiment with is:
- Inline editing and drag-and-drop content layout tools ("true" WYSIWYG)
- Enhanced content creation: auto-save, save as draft and more
- Useful dashboards for content creators
- Mobile content authoring and administration support
The vision behind the Spark distribution is to be "the Pressflow of Drupal authoring experience". Pressflow provided a "spoon" of Drupal 6 with various performance enhancements that made their way into Drupal 7 core while it was in development. The same improvements were made available to Drupal 6 users so they could easily be tested in the field. With Spark, we want to test authoring experience improvements in Drupal 7 on real sites with real users and real content. We also want to target the best improvements for inclusion into Drupal 8 core.
I'm excited to announce that Acquia will fund the Spark distribution. Core developers Gábor Hojtsy and Wim Leers will work on Spark full-time starting in late May. They will work along side Angie Byron (webhchick), Alex Bronstein (effulgentsia), myself and other members at Acquia. While we have some promising candidates so far, Acquia is still seeking applicants to join the Spark team (with a strong preference to candidates located in or willing to move to the Boston area):
- Drupal UX Interaction Designer, who can conceptualize and prototype cutting-edge interface design.
- Senior Front-End Engineer, who eats, sleeps, and breaths JavaScript and jQuery (Drupal experience optional).
The Spark team will collaborate with the Drupal usability and the core development teams.
Commerce Module Tuesday: Commerce Card on File
The Commerce Card on File module provides an API and a user interface for storing and reusing credit card data on subsequent orders within Drupal Commerce.
The module does not retain full card numbers locally but instead stores the remote ID of the full card data from the payment gateway used to validate and process your credit card transactions.
For the Commerce Card on File module to work, you'll need an attached payment method that implements the CIM API.
In this screencast, I'm using the Commerce Authnet payment method to provide Card on File payment support.
Guard livereload
Livereload is one the coolest things to happen to frontend development in the last little while, and actually it can really speed up your work. Basically it re-loads your CSS (and Javascript some of the time) automatically as you make changes. You don't have to make a change and then switch to your browser and manually reload the entire page, change 'notifications' are pushed to the browser where they will trigger that single changed file to be reloaded.
There are lots of sites detailing how it works, and there's a great Mac program called: LiveReload that will get you up and running super quick, if you have a Mac. If you have linux though, it's actually really simple too.
Drupal 7 core release Wednesday, May 2
As mentioned last month, the next release of Drupal 7 is scheduled for this Wednesday.
The final 7.13 patches have been committed so now is a wonderful time to update your dev servers to the latest 7.x code and help us catch any regressions!
Thanks!
More on 3D Drupal visualization, now in browser
Those who are following know, that I am experimenting with different ways how to explain designers Drupal in my workshops. The tilt extension worked fine but was not flexible enough (for me) being it written for Firefox. The more I learned about CSS3 I knew I am on the right way to have something out of this. Here is the current result. It is in the early stage, but quite soon I will get where I want with this. Right now it is working with the default Drupal classes, but can be easily extended.






