Mar 25 2016
Mar 25
This is Part 2 of an interview with Will Eisner, Senior Director, Product at Acquia. Will’s primary focus is on Acquia Cloud Site Factory, which helps organizations create and manage many sites, from a dozen to thousands.In Part 1, Will discussed how companies often discover, to their dismay, that they are running hundreds of Web sites, on many different platforms. In this section of the interview, Will describes how Site Factory addresses that problem.  The interview was conducted by DC Denison, Senior Editor, Technology, at Acquia, who is represented by the letter “Q.”
Mar 23 2016
Mar 23
As the organizer of the Washington, DC Drupal meetup for three years, I've had the benefit of finding out what works and what doesn’t when setting up a meetup. Although I recently had to step away from my organizing duties due to other commitments, I'd like to provide a retrospective on what I've learned from organizing meetups. My goal is to help those who want to set up a meetup in their area for the first time, and to help provide ideas for those who are already running a meetup.
Mar 22 2016
jam
Mar 22
Each day, more Drupal 7 modules are being migrated to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules, projects, and tools available for Drupal 8. This week, a handy-dandy usability module called Linkit.
Mar 22 2016
Mar 22
We've been talking to our clients about Drupal upgrades a lot lately. This is not surprising, of course, given the recent release of Drupal 8, which signaled the end of life for Drupal 6.The Drupal community is excited about all that Drupal 8 has to offer.  If you’re on Drupal 6, however, that excitement may be muted by the feeling that you're between platforms. You want to be thoughtful about your next steps. You want to anticipate all the possible consequences. The stakes are high.Here at Advomatic we've been involved in many, many Drupal upgrade decisions in the last few months. We've gotten good at helping customers navigate the options.So what are we now telling our current customers, and prospective customers? Read on.
Mar 22 2016
Mar 22
Drupal's menu system API underwent a large number of significant changes in Drupal 8, just like many other areas in Drupal's newest version. The way we define what piece of PHP logic should respond to a particular path, e.g. /example, is no longer part of the menu; instead it is now defined via the route system. The menu system - as it should logically - is now used to define how a particular page (a route) fits into the menu system, tabs, and contextual links. Let’s take a quick look at how the familiar tasks of defining and altering such entries have changed.
Mar 21 2016
Mar 21
It's a good time to press your advantage as a Drupal developer. Drupal 8 has launched, and it's much easier now for Drupal developers to expose content and features on their sites via an API. The capability is built right into Drupal 8 Core. Some contrib modules are attempting to make such capabilities even better.That means that if you are a Drupal developer, you've got a head start when you're working with Web services, which have become critical part of today's applications and websites.
Mar 16 2016
jam
Mar 16
Part 2 of 2 - Sebastian Bergmann, the maintainer of the PHPUnit testing framework, came to our office in Cologne, Germany to talk with Campbell Vertesi (@CampbellVertesi) and me about PHP, PHP FIG and the PSRs, and of course testing. It is another in the series of interviews we carried out with important and interesting people from the PHP community in preparation for DrupalCon Asia in Mumbai.
Mar 15 2016
Mar 15
Last week the entirety of Acquia Engineering, which spans the globe, was in Boston for Build Week.It is a time for people to interact internally among their teams, and externally with other teams. It's an important part of our engineering culture, and it always ends with a Hackathon.One of the projects in this year's Hackathon was focused on open sourcing a tool several teams have been using internally. The result: we are happy to announce Moonshot!
Mar 15 2016
jam
Mar 15
Each day, more Drupal modules are being migrated from Drupal 7 to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules available for Drupal 8. This week: Paragraphs.
Mar 14 2016
Mar 14
In this 3-part Drupal How-To series, I'm going to show you various options for configuring images on your site.In Part 1, we looked at how to tweak the default image options. Here, in Part 2, we'll see ways to allow inline images. In Part 3, we'll see the latest options for responsive images.
Mar 14 2016
Mar 14
This post may be of interest to project managers and sitebuilders looking to migrate from Drupal 6 to Drupal 8 during the early months after the launch of GA D8.On the Acquia Support Team we often find ourselves using Acquia’s public-facing documentation and article library as an effective tool for explaining product-related tasks, technical how-tos, and a variety of other topics. These resources are useful when communicating via our Support Help Center. Unfortunately, the underlying infrastructure for this site was Drupal 6.37.
Mar 10 2016
Mar 10
There are some excellent improvements to modeling data in Drupal 8, including a number of new fields. This is going to make it easier to model content in Drupal. Let’s look at the image handling in Drupal 8 and what changes are in store.
Mar 09 2016
Mar 09
Larry "Crell" Garfield led the Drupal 8 Web services Initiative.The mandate: to make Web services better in Drupal. Or, as the group phrased it in their mission statement, "Drupal needs to evolve from a first-class CMS to a first-class REST server with a first-class CMS on top of it."When Drupal 8 launched late last year, the consensus was that the initiative accomplished its goal. It's much easier now for Drupal developers to expose content and features on their sites via an API. In fact, the capability is built right into Drupal 8 Core. Some contrib modules are attempting to make such capabilities even better, too.
Mar 09 2016
Mar 09
Some time ago we were contacted by a client to execute a migration: from a soon-to-be decommissioned site into Drupal.Just when we thought that it would be a simple process, the requirements came in: “Migrate the data from Site A into Drupal, but also join data from Spreadsheet X, and some data already inside the Drupal website.”To handle such complicated task, with so much different data, we chose the Migrate module to make our lives easier.
Mar 08 2016
jam
Mar 08
Each day, more Drupal 7 modules are being migrated over to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules, projects, and tools available for Drupal 8. This week: Coder.
Mar 08 2016
jam
Mar 08
Sebastian Bergmann, the maintainer of the PHPUnit testing framework, came to our office in Cologne, Germany to talk with Campbell Vertesi (@CampbellVertesi) and me about PHP, PHP FIG and the PSRs, and of course testing. It is another in a series of interviews we carried out in preparation for DrupalCon Asia in Mumbai. To prepare our session, we carried out a number of conversations with important and interesting people from the PHP community and now we're releasing those to you!
Mar 08 2016
jam
Mar 08
Part 1 of 2 - Sebastian Bergmann, the maintainer of the PHPUnit testing framework, came to our office in Cologne, Germany to talk with Campbell Vertesi (@CampbellVertesi) and me about PHP, PHP FIG and the PSRs, and of course testing. It is another in the series of interviews we carried out with important and interesting people from the PHP community in preparation for DrupalCon Asia in Mumbai. Now we're releasing those to you!
Mar 07 2016
Mar 07
In Part 1 of this 2-part series, Chris Pliakas, the director of Content Services Engineering at Acquia, described how he managed the Acquia Content Hub project, which was released in November, 2015. In this, the second part of the interview, he discusses the Scrum process, the benefits of working with an open source framework like Drupal, and what’s next for the Content Hub project.
Mar 04 2016
Mar 04
In this 3-part Drupal How-To series, I'm going to show you how various options for configuring images on your site. In Part 1, we looked at how to tweak the default image options. In Part 2, we saw ways to allow inline images. In this post, I’ll discuss the various options for responsive/adaptive images on your site.
Mar 04 2016
Mar 04
In my first blog post, I outlined the main sources for fresh news and info about Drupal. In this post, I’ll round up the best blog sources for tutorials in the Drupal community. 
Mar 03 2016
Mar 03
Imagine it’s late Saturday night and your cell phone is ringing. You answer the call. It’s your boss and she’s very upset that the website is not working. Do you know what you are going to do? How are you going to respond, quickly?Without question, one day you are going to have a problem with your website. You need to be as prepared as possible for that day. A little bit of time spent in preparation can make all the difference between a 15-minute outage and a 6-hour (or worse) outage.This series of articles will help to prepare you for that day. We are Support Engineers here at Acquia. We spend every day assisting clients with websites in crisis. We would like to share what we have learned.
Mar 01 2016
jam
Mar 01
Each day, more Drupal 7 modules are being migrated over to Drupal 8. New ones are also being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules, projects, and tools available for Drupal 8. This week: Drupal Console.
Feb 26 2016
jam
Feb 26
Erica Schroder joined Acquia in 2012 as a graduate of the Acquia U Drupal training bootcamp and is an inspiration to me as a successful career-changer. As part of running arts and dance businesses, she's had a hand in with Drupal since Drupal 5 days, but Acquia U and her subsequent experience has made her a real Drupal pro. We got the chance to sit down together in 2015 at Acquia's Boston headquarters.
Feb 25 2016
jam
Feb 25
Each day, more Drupal 7 modules are being migrated over to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules available for Drupal 8. This week: Honeypot.
Feb 25 2016
jam
Feb 25
Drupal Camp London 2016: 600 Drupalists, international guests, 35+ sessions, loads of Drupal 8 goodness, interesting keynotes, great community
Feb 24 2016
Feb 24
An interview with Will Eisner, Senior Director, Product at Acquia. Will’s primary focus is on Acquia Cloud Site Factory, which helps organizations create and manage many sites, from a dozen to thousands.Also sitting in on the interview, via conference line, was Sonya Kovacic, a Junior Product Manager at Acquia who also works on Site Factory. Sonya's comments are featured in Part 3 and Part 5 of this series. 
Feb 22 2016
Feb 22
When creating various pages developers often have to generate links, URLs and occasionally redirect users to where they came from, or any other arbitrary page. In Drupal 7 we used l(), drupal_get_destination() and drupal_goto(). As you may suspect, things have changed drastically with Drupal 8. Although drupal_get_destination() is still there, it is marked deprecated, so we should not be using it any longer.
Jan 15 2016
Jan 15

Lingotek’s Translation Network is a cloud-based solution that connects all your global content in one place, giving you the power to manage your brand worldwide. Our technology pairs with the best-in-class applications, such as Drupal, to continuously push dynamic multilingual content to all of your global markets.

Lingotek’s collaboration with - and development work for - the Drupal community began over four years ago with Drupal 6. Our first Drupal module was released in fall of 2011 for Drupal 6. We now have contributed modules available for both Drupal 7 and Drupal 8.

These modules empower Drupal site owners to target different markets by providing them with various options for translation (machine, community, and professional) as well as connecting their Drupal site to our cloud-based Translation Network.

Our Drupal 7 module enhanced the functionality of Drupal 7 core and also integrated with popular contributed modules such as Field Collections, Panels, and more. The ability to integrate with these modules was crucial because complex sites built for easier digital experiences often require different data modelling options. But providing high quality support for such different possibilities and potential information architectures is not always easy.

So why are we so proud of the Drupal 8 multilingual experience?

The massive improvements of Drupal 8 for multilingual features and APIs allowed us to provide better support than with previous releases of Drupal or any other CMS on the market. For example, Lingotek supports the translation of several different content data structures for Drupal 7. However, with Drupal 8, if you follow the best practices on the creation of your content structures we will fully support them out-of-the-box.

At this point, you may be wondering, how Lingotek can help you? If you are a site owner, you will be able to easily translate your content or configuration. Our bulk management forms allow you to upload and request multiple translations of your content in all your locales with a single submit. And if you choose to, the translations will be automatically downloaded and published as soon as they are available.

If you are a front-end developer, you may have worked on multilingual projects where translations were handed in late in your project cycle. Sometimes, since the text labels can be so different between different languages, your new translations can break your layouts. With Lingotek you can use automatic translations, which may not be good enough for your end users, but can help demonstrate how the site will look like in a language you don’t speak.

If you are a back-end developer, you may need to develop custom modules. These custom modules could include custom entities and/or field types or result in your own configurations. Then you’d be tasked with making them translatable, which may seem like a daunting task. In fact, with Drupal 8 it’s easier than with Drupal 7 or any other CMS by far! If you integrate with Lingotek, the good news is that you don’t need extra work as soon as your data structures are translatable with Drupal 8 core. For more information about how to make your data structures translatable, check out this helpful example module git history.

Drupal 8 is a great platform to work with not only because it is so multilingual capable out-of-the box, but also because you can easily expand while maintaining the translatability of your data. Drupal 8’s multilingual core offers a robust multilingual foundation, making the integration process much more seamless.

That’s why we’re excited to announce that Drupal 8 users can now benefit from Lingotek’s Translation Network.

For more information about Lingotek’s Translation Network please visit www.lingotek.com. For additional information about Lingotek’s Drupal contributed modules, visit either www.lingotek.com/drupal or www.drupal.org/project/lingotek.

Jan 13 2016
jam
Jan 13

Part 2 of 2 - Sharing is good for business. Ambrosia Vertesti, Global VP Human Resources at Hootsuite, and I sat down to talk about how open source models are spreading to human resources and other, non-code parts of business today. In part one, I strove to understand HR's needs, terminology, and perspective and what drew Ambrosia and her peers to open source. In part two, our conversation moves on to how open source values like sharing and contribution are helping human resources and a lot more about #HROS.

"The How isn't competitive intelligence. That should be baseline."

I learned about the #HROS movement watching Ambrosia and Lars Schmidt co-present the keynote address at LinkedIn's 2015 Talent Connect conference. Check that video out!

Interview video - 22 min.

[embedded content]

#HROS - Sharing The How

The sharing and contributing aspects of #HROS--the stuff that makes it "open source"--came about out of necessity, just like so many open source software projects and tools. When she was hired as the 20th employee, Ambrosia was the sole HR person at Hootsuite and she was responsible for four other departments ... Welcome to startups! She lacked time and resources and turned to her network for help. "I was in Vancouver. We weren't in the epicenter of innovation and startups. We were in a place that the ecosystem was just growing around us. We needed to collaborate. I was empowered by our founder to take risks and find a different way to do HR. This was my opportunity to see if this thing is real!"

"It started out of necessity and being empowered to take a risk. That was me reaching out to people. 'I'm the only person here. I'm trying to find a way to do things.' I explained the problem I had and asked, 'Do you have The How?' Because a lot of times, people talk about why you should do something and what you should do. If you read Forbes articles about best workplaces and all that kind of stuff, like 'Performance Management Should be Dead!' And I say okay, but how are you going to ensure that you have a high-performance culture that is fair and equitable? So The How is missing from anything you read online. And in safe-safe circles, behind closed doors, people were telling me The How."

"The How isn't competitive intelligence. That should be baseline." Ambrosia recognized that this practical information--what she calls "The How"--is like the code in open source software. It doesn't give you a competitive advantage over others, that all lies in other areas, just like we can all use Linux or Drupal to level the playing field and then compete on other areas of differentiation. "Competitive intelligence is me taking that and making sure it fits with my organization ... I've probably combined it with 4 or 5 other Hows ... It's alchemy. There are things I see as competitive intelligence: compensation, stuff like that."

Opening up - asking for help, giving help

I wanted to know how Ambrosia's peers reacted when she opened up to them about her needs, problems, and challenges. She told me, "I found they were very collaborative. My experience has been that anybody I ever sent a Bat-Signal out, asking for help, people have come and helped me. And then I've reciprocated when I was able to." Ambrosia could swap, for example, her expertise in the world of social media for someone else's experience of policy scalability at large corporations. "It was really about equal value propositions. It wasn't just about solving a need. I felt as though we could give something back and that every HR practitioner would have something they're up against," this sounds so familiar to me from the development and website-building world, "and that they could give an equal-value reciprocity ... if the got over themselves and the stereotypes and the reputation."

#HROS isn't the first time HR practitioners have ever shared or collaborated, but Ambrosia explains, "My thought was that we could bring this out into the practitioners' space instead of it being a group of people who were ... sharing because we know each other. What if you're an emerging practitioner? It was a way to even the playing field and a way to showcase that HR is very innovative and they are very collaborative and they do want to support each other. And that nobody does have the perfect answer, so let's all work on it together ... and openly."

Partnerships: external and internal

At Hootsuite, Ambrosia is extending this idea to collaborating with employees to improve internal systems and processes, too. "For me and a lot of HR practitioners, the stuff that is servicing people's daily jobs and removing roadblocks and empowering them should be done in collaboration, it should be done openly, and it should be up for debate."

"As HR practitioners, you need to be connected to your employees because they're your customers. So if our team sees us saying 'We did this thing and here's the parts that we missed,' now I've been humanized to them. Now, they're able to come and tell me when things might not be perfect because I'm not projecting and I'm not posturing and I'm not guarding against it. There are things in your job HR that are very serious, very regulated, very compliance-driven, but there are sandboxes where you can have a lot of fun and you can really connect with people. And we want to put some of those things out there to educate not only HR people, but employees, because the more they understand about our profession, the more they understand how we can work together to build a culture and a company that we both want to be at."

What are the geeks getting right?

"What are the geeks getting right? High level: The mindset of 'We're all in this together. Let's work on this together. Let's support and share.' ... Those are things that business should be taking into their practices. We're all intellectual capital businesses, those fundamental practices create amazing workflows and better businesses. The engineers got that right. At the very highest level, that is the right mentality to build your business on.

Guest dossier

  • Name: Ambrosia Vertesi
  • Work affiliation: Global VP, Human Resources, Hootsuite
  • Twitter: @hambrody
  • LinkedIn: Ambrosia Vertesi
  • Current projects: #singitfwd "Music changes lives. Pass it on."
  • About: Over the past five years running HR for Hootsuite--and growing it from 20 to 1000+ employees!--Ambrosia Vertesi has had to figure out how to keep up with Hootsuite's enormous growth. Dealing with the challenging realities that many of us face at startups, like limited resources, budgets, and (perceived) talent shortages, forced her to get creative. Along the way, she and a group of her peers noticed that software professionals had institutionalized the way they benefitted from swapping favors, and connections to get things done: Open Source HR (#HROS) was born!
Jan 11 2016
Jan 11

Today we’re releasing a new Log Streaming Chrome extension that allows developers to see the logs they are generating in real time as they click around their websites.

Imagine you run a large e-commerce website powered by dozens of servers, and your customers are reporting problems checking out. You’re losing money by the minute. What do you do?

In the bad old days, you’d have to log into all the servers, download all their log files, and manually try to correlate log times to error reports. Or, you’d pick a random server and watch those logs, hoping that someone who encounters the error happens to be served by that particular server.

This and other use cases is why Acquia introduced Log Streaming in 2014. With log streaming, you can watch the logs from all your servers, streamed in real time as users click around your site. This allows developers to quickly find and fix the source of problems.

Today, we’re kicking it up a notch with the release of the Log Streaming Chrome extension. With the extension, you can browse around your site and watch the logs that you are generating in real time in the Chrome Dev Tools. This way, you don’t have to wait for your users to encounter the problem - in our e-commerce example, you can go click through your checkout form yourself, and immediately see what’s wrong.

Check out the gif of the extension in action below, grab the extension now, or sign up for Acquia Cloud Free to try it out yourself today.

Jan 11 2016
Jan 11

Today we’re releasing a new Log Streaming Chrome extension that allows developers to see the logs they are generating in real time as they click around their websites.

Imagine you run a large e-commerce website powered by dozens of servers, and your customers are reporting problems checking out. You’re losing money by the minute. What do you do?

In the bad old days, you’d have to log into all the servers, download all their log files, and manually try to correlate log times to error reports. Or, you’d pick a random server and watch those logs, hoping that someone who encounters the error happens to be served by that particular server.

This and other use cases is why Acquia introduced Log Streaming in 2014. With log streaming, you can watch the logs from all your servers, streamed in real time as users click around your site. This allows developers to quickly find and fix the source of problems.

Today, we’re kicking it up a notch with the release of the Log Streaming Chrome extension. With the extension, you can browse around your site and watch the logs that you are generating in real time in the Chrome Dev Tools. This way, you don’t have to wait for your users to encounter the problem - in our e-commerce example, you can go click through your checkout form yourself, and immediately see what’s wrong.

Check out the gif of the extension in action below, grab the extension now, or sign up for Acquia Cloud Free to try it out yourself today.

Jan 06 2016
Jan 06

Coming right up: a great way to start getting familiar with Drupal 8.

It's the annual Drupal Global Sprint Weekend, happening all over the world on the last weekend in January, the 30th and 31st. 

Acquia, along with Genuine Interactive and OwnSourcing, will be sponsoring the Boston location, so if you live in the general area, please stop by. 

Genuine's office, in Boston's South End, is spacious and inviting. And there will be a free lunch and plenty of beer. 

The agenda will be simple: to work on porting modules to Drupal 8, and other issues in the queue. If you have built a site in Drupal, you can contribute. 

If you've been meaning to start migrating your skills to Drupal 8, this is a perfect place to start: the atmosphere is friendly, casual, and helpful. On Saturday morning, for example, there will be hands-on "Getting Started" session for those who need it.

The deets:

When: Saturday, January 30, 10 am to 5 pm; Sunday, January 31, from 10 am to 3 pm. 

Where: Genuine, 500 Harrison Avenue. 5R, Boston, MA

The Genuine office is a 6-10 minute walk from the Broadway Red Line T stop. Or you can hop on the number 9 or 11 bus from Broadway T and get off in one stop at the Harrison Ave stop. Unrestricted parking is available on Randolph Street and certain parts of Harrison Avenue. 

RSVP here

The New England event page has all the particulars. 

And don't forget to follow the global page. It tends to expand as the event grows near. 

See you there! (And if you can't make it, help the cause by spreading the word.)

The 2015 crew

Jan 05 2016
jam
Jan 05

Part 1 of 2 - Getting beyond the talent war. I was thrilled to have the chance to sit down and have a conversation with Ambrosia Vertesti, Global VP Human Resources at Hootsuite. It's part of my exploration of how open source thinking and practices are spreading beyond the world of code to influence and improve the businesses and cultures around them; in this case, to HR practice and what has become #HROS.

"I am fiercely competitive, but I am collaborative before I am competitive." - Ambrosia Vertesi

Over the past five years running HR for Hootsuite--and growing it from 20 to 1000+ employees!--Ambrosia has had to figure out how to keep up with Hootsuite's enormous growth. Dealing with the challenging realities that many of us face at startups, like limited resources, budgets, and (perceived) talent shortages, forced her to get creative. Along the way, she and a group of her peers noticed that software professionals had institutionalized the way they benefitted from swapping favors, and connections to get things done: Open Source HR (#HROS) was born!

Apart from being fascinated to learn more about Ambrosia's world, I was exploring, peeling back the layers and trying to understand her terminology and perspective--and what drew her to open source. When I get there, I see how and why she and her peers are so keen to apply open source thought and practices to their work. It is for all the same reasons we do it in code and technology: taking advantage of commodity functionality and specializing in what differentiates you saves time, effort, and money. Giving your best back to a community of the like-minded--and admitting what you don't know--will reward you with receiving the best back from your community in return.

Interview video - 21 min.

[embedded content]

The Talent War

I heard the term "The Talent War" watching Ambrosia and Lars Schmidt co-present the keynote address at LinkedIn's 2015 Talent Connect conference.

I asked Ambrosia about it. "For a long time, the conversation around recruitment was about this 'war' for talent," she explained, "People started thinking about it as a very combative, carnivorous environment. You had to step on each other to survive. I think this idea was very destructive to HR. People are not resources, they are human beings. A rising tide floats all boats and we should be building ecosystems and we should be collaborating on what's happening in the workforce. I am fiercely competitive, but I am collaborative before I am competitive." Ambrosia points out the importance of creating more talent rather than simply trying to buy everyone on the market. "This idea of the 'War for Talent' ... talent won a long time ago. They decide what they want their education to be; they decide what companies they want to work for and what problems they want to solve. I should be supporting and enabling them in that. And supporting and enabling other practitioners about how we get better about being employers that people want to work for."

No more rock stars, ninjas, and gurus

I brought up Drupal's decade-long challenging hiring situation. Ambrosia suggests that if HR professionals thought "about how you see yourselves ... 'There's a lot of work, we want to build all these amazing things and there's not enough of us!' If we thought the same way, we'd look to partnerships with universities, resourcing the next generation of talent, you'd look at mentorship programs (and reverse mentorship programs!). Why are we not telling the story about the core competencies that are needed? Why are we not showing the data about what's being educated and what's being hired?"

"I think people are doing that now, I think there is a narrative there. But for a long time it was more like, 'There's not enough of you!' You're so precious!' And these words 'rock stars', and 'ninjas' and 'gurus' and all these horrible things. I think it is in mentorship, education and awareness," where you find the real, sustainable solutions to this problem. "I think you have to get to people really early--elementary school, even--to get people interested. As a business, creating an environment that's not a brogrammer culture, that's not based around ping pong tables, and focusing on things like diversity. I want to focus on building those environments so that it becomes more approachable for people who are interested in getting involved."

Based on my experience, I point out that the more different people--from different backgrounds, genders, geographies, and so on--you have helping to solve a problem, the better the solution will be. One thing that truly surprises me in the tech world is how little focus has been placed on diversity, especially since every other conceivable aspect of efficiency, improvement, and practice has been explored and refined to produce the best possible results. Ambrosia agrees, "We all know that. Especially if you are trying to solve a universal problem. Good luck building a technology if you're all just people in Silicon Valley, solving your own problems and drinking your own Kool Aid. You need to have everybody represented."

Fix it with data, mentorship, education, and awareness

"I think technology gets that, but it will be solved through education, accessibility, and exposure. I think a lot of people like the idea of innovation and the democratization that is happening, but if you make it not inclusive, but you make it about the cool kids, or the early adopters, or only Silicon Valley ... the decentralization of the Silicon Valley is a good thing because then people feel like it is something they could do. I hope that this is where the continued investment goes in order for people to feel like this is something as normal as becoming a nurse or a doctor."

Technology is actually approachable and learnable. Not everyone wants to be a ninja or a rock star and you don't need to be one to be in tech. "What I see, having worked in technology for ten years, the people who are creating [technologies] have to have a humility and egolessness--especially if they are working in an open source environment--because people are punching their ideas apart and they want to be collaborative. And those things are required. You see them a lot in technology teams, but as businesses evolve, you don't see the same level of vulnerability and the same level of humility. I hope in my practice, if we can go, 'Hey, we're all trying to solve these problems. No one's perfect. Stop talking about rock stars and how amazing you all are.' And lead with a little bit of, 'Here's the problem we're trying to solve ... This is what we know. This is what we don't know. Can you help us?' ... And build more partnerships, that it'll become a workplace that has a lot more talent at top of funnel."

Guest dossier

Dec 22 2015
Dec 22

Your website has been in production for months. Everything seems great until one day, you get a call. On the line is your client, clearly irritated, telling you he has been receiving lots of complaints about slowness on his website.

In order to identify the root cause of this issue, a developer can analyze the website’s source-code in search of some problematic function. But instead of analyzing the system manually, the developer can use a profiling tool such as XHProf.

XHProf is a profiling tool for PHP that is very fast and easy to use. Developed by Facebook, it’s a great choice for complex Web applications.

In this post, we will cover how to integrate XHProf and Drupal by using the XHProf module.

Installing XHProf

The Drupal community has written a post that covers XHProf installation in various environments. For that please check: https://www.drupal.org/node/946182.

Configuring the XHProf module

After enabling the module, you’ll need to configure it. In your Drupal instance, go to “admin/config/development/xhprof,” check “Enable profiling of page views and drush requests,” and save the configuration.

This will enable XHProf profiling for your site. To access the report for a given page, check the bottom of the page for an “XHProf output” link. This link will show the XHProf report, and how it relates to the current page request.

Analysing XHProf’s report

This report shows useful information about the recent request. It generates the page containing the time the server took to process the page (Total Incl. Wall Time) and the memory peak of the request (Total Incl. PeakMemUse).

The most interesting part of this report is the table of functions, which can be sorted by various criteria such as:
Incl. Wall Time: Function total processing time
Excl. Wall Time: Function total processing time excluding the time used by calls to other functions within this function scope.
Excl. MemUse: Memory used to execute the function excluding the memory consumed by other functions within this function scope.

Compare two reports

You’ll probably want to compare the performance between two runs. With the XHProf module this is easy.

Access “admin/reports/xhprof/” and choose the two reports you want to compare. The report ids will be used as url parameters in admin/reports/xhprof/diff//

Benefits of Using XHProf

By using the information gathered by XHProf, the development team can save a considerable amount of time, avoiding manual debugging of the performance issues.

The tool also serves well for scalability tests, as it can be used in testing environments that do not have much resource consumption. This feature may be most useful for projects that strictly need to guarantee a certain level of performance during usage peak times.

XHProf’s installation, and ease of configuration with Drupal, brings great value to the development team that uses it.

XHProf can save you hours of blind investigation.

Dec 14 2015
jam
Dec 14

I sat down with Rebekah Simensen & Beau Simensen as SymfonyLive Berlin 2015 was wrapping up. Beau is the maintainer of the Sculpin PHP static site generator and was until recently a voting member of PHP-FIG. Rebekah is the artist known as ninjagrl, whom I had heard of because of her #ossart, open-source-inspired work. Beau has promised to come back on the podcast soon to explain all about the PSR 7 HTTP message standard interfaces, but I didn't want to pass up this chance to meet such interesting people!

Topics covered in our conversation include Drupal 8 and its release cycle, fish, Sculpin and its origin story, Symfony and SensioLabs, ninjagrl's #ossart, PHP-FIG, and more.

Comparing company- versus community-driven projects

In our conversation, Beau and I touch on the differences and benefits between a company-driven open source project like SensioLabs supporting Symfony, Twig, and their communities and the larger, wilder world of the community-driven open source project Drupal. Beau points out that in the case of Symfony, "You end up with people who are committed to providing it. They put money into supporting the ecosystem that they're building. I think it's a nice thing and I don't see it that often. It's unique and it's interesting to see what they've done with the community. And they've still been able to build a big ecosystem around it even though it's funded by a company." He continues, "It's nice to have someone who has the final say: 'This is going to happen. This is not going to happen.'"

We then talked about the long Drupal 8 release cycle as an example of something that probably would not have gone down the same way if Dries or a specific company had tighter control over Drupal. To be fair, the Drupal core developer community has recognized this weakness and committed to regular releases and semantic versioning (new features every six months!) for Drupal 8.

Ninjagrl and #ossart

Among other projects, Rebekah's online artist persona "ninjagrl" has made a series of paintings--#ossart--"that have been inspired by the names of open-source projects, services, PHP community lingo, and related technical jargon." We talk about how she was exposed to this world through long runs with Beau and his venting about the stresses and politics of being part of PHP-FIG around 2013.

The poignant "Pull Request" ...

Pull Request by ninjagrl

Interview video - 22 min. 30 sec.

[embedded content]

Guest dossier - Beau Simenson

Beau's bio from monii.com sums it up pretty well:

I keep the engineering team running at maximum power. I architect, design and oversee platform development. This picture we’re painting? It’s got my signature all the way through it, not just in the bottom left hand corner.

Beau Simensen (@beausimensen, beau.io) has been a professional polyglot programmer since 1998. He is the Co-Founder and Software Architect for monii.com and is co-host of That Podcast (@thatpodcast, thatpodcast.io).

An active open-sourcer, he created Sculpin (sculpin.io) and helped create Stack PHP (stackphp.com). He is also the Sculpin representative to the PHP Framework Interoperability Group (PHP-FIG). Beau is a proponent of framework agnostic code. Unglue all the things!

At dflydev Beau was responsible for high-touch client services for two major clients over five years. Tasks and projects included devops, continuous integration, online resource management, enterprise application development, and writing C code for embedded systems.

For Monii, Beau is responsible for ensuring Monii’s technical execution follows (and keeps up) with the commercial requirements of the business. These responsibilities include architecture, design, and workflows to support continual development, testing, and deployment.

Dec 10 2015
Dec 10

When Acquian-authored content starts piling up elsewhere around the Web, it's time for a Scan.

In this edition: 5 handy Drupal modules, a localization client module for Drupal, and some advanced thinking from Drupal's founder on the white hot topic of "decoupling."

5 ways to extend Drupal

One of our favorite feeds, OpenSource.com, has been assembling its 2015 Open Source Yearbook.  Michael Meyers, Acquia's VP of Developer Relations, contributed an overview of five Drupal modules that will increase your Drupal power.

Meyers' recommendations are worth reading, because they are up to the minute -- i.e. post Drupal 8 release.  So (spoiler alert) his list features extensions that have gotten a lift from the Drupal 8 upgrade: Views, BigPipe, Rules, Features, and Lightning. 

A nicer way to translate Drupal modules

Gabor Hojtsy, employee #1 at Acquia, who's been leading Drupal 8's multilingual charge, has just written about the partial port to Drupal 8 of the localization client module (already available for Drupal 7 and 6) that allows you to contribute to the community right from your Drupal site.

Check out his site, to see the whole story, including a much larger version of the image below. 

Further thoughts on decoupling

Finally, Dries Buytaert, founder of Drupal and Acquia CTO, has been thinking about one of the hottest trends in the Web community: decoupled (or "headless") content management systems.  A lot of people are saying that a decoupled architecture that leverages client-side frameworks is a logical next step for Drupal.

Back in September, Dries promoted the idea of progressive decoupling. 

Earlier this week he published further thoughts on decoupling, circling around whether the Drupal community stands to benefit from decoupling Drupal. Helpful graphics, like the one below, are summoned to illustrate his ideas. 

Read Dries' thoughts, and the lively comments they have inspired, here

Till next time...

Dec 07 2015
Dec 07

Your website has been in production for months. Everything seems great until one day, you get a call. On the line is your client, clearly irritated, telling you he has been receiving lots of complaints about slowness on his website.

In order to identify the root cause of this issue, a developer can analyze the website’s source-code in search of some problematic function. But instead of analyzing the system manually, the developer can use a profiling tool such as XHProf.

XHProf is a profiling tool for PHP that is very fast and easy to use. Developed by Facebook, it’s a great choice for complex Web applications.

In this post, we will cover how to integrate XHProf and Drupal by using the XHProf module.

Installing XHProf

The Drupal community has written a post that covers XHProf installation in various environments. For that please check: https://www.drupal.org/node/946182.

Configuring the XHProf module

After enabling the module, you’ll need to configure it. In your Drupal instance, go to “admin/config/development/xhprof,” check “Enable profiling of page views and drush requests,” and save the configuration.

This will enable XHProf profiling for your site. To access the report for a given page, check the bottom of the page for an “XHProf output” link. This link will show the XHProf report, and how it relates to the current page request.

Analysing XHProf’s report

This report shows useful information about the recent request. It generates the page containing the time the server took to process the page (Total Incl. Wall Time) and the memory peak of the request (Total Incl. PeakMemUse).

The most interesting part of this report is the table of functions, which can be sorted by various criteria such as:
Incl. Wall Time: Function total processing time
Excl. Wall Time: Function total processing time excluding the time used by calls to other functions within this function scope.
Excl. MemUse: Memory used to execute the function excluding the memory consumed by other functions within this function scope.

Compare two reports

You’ll probably want to compare the performance between two runs. With the XHProf module this is easy.

Access “admin/reports/xhprof/” and choose the two reports you want to compare. The report ids will be used as url parameters in admin/reports/xhprof/diff/<report_id_1>/</report_id_1>

Benefits of Using XHProf

By using the information gathered by XHProf, the development team can save a considerable amount of time, avoiding manual debugging of the performance issues.

The tool also serves well for scalability tests, as it can be used in testing environments that do not have much resource consumption. This feature may be most useful for projects that strictly need to guarantee a certain level of performance during usage peak times.

XHProf’s installation, and ease of configuration with Drupal, brings great value to the development team that uses it.

XHProf can save you hours of blind investigation.

Dec 07 2015
jam
Dec 07

Something a little different this week: In cooperation with the Swedish "Drupalsnack" ("Talking Drupal") podcast, Leander Lindhal, Robert Douglass, & Jeffrey A. "jam" McGuire get together at the 2015 Internetdagarna in Stockholm.

Quick notes

In our conversation we go over all of our Drupal "origin stories" and reminisce about how we got where we are today, what we did, and what we do now. We talk about Drupal 8, who it's for, what it does, how every size of site and user benefit from the so-called "enterprise" features in it. We also compare it with some other options, the concept of the right tool for the job, and the value of having other perspectives (shout out Larry Garfield, Getting off the Island, and Building Bridges). Robert points out that most technology choices come down to having an honest and comprehensive requirements gathering process.

Leander asks about one of Robert's favorite topics: how (Drupal and open source) developers can be better supported financially, what options for commercializing open source software there are, and how this can relate to code/product quality and quality of life for developers. Software as a service (SaaS) products built with Drupal like Roomify come up, too.

In response to a question about standardizing Drupal development and architecture models, Acquia's Drupal distribution, Lightning came up, as well as the fact that including numerous components from other open source projects (Symfony, Twig, etc.) in Drupal 8 makes a positive difference on this front.

Links & References

Video!

[embedded content]

Dec 04 2015
Dec 04

Rok Zlender is the manager of Site Factory Engineering at Acquia. Previously he was a developer, then Director of Technology, at Examiner.com, a news site that at the time (2010-2013) was the 40th largest site in the US, publishing around 3000 stories a day. Today, Rok is still managing sites at scale, working with Acquia customers who have hundreds or thousands of websites. Rok has been working with Drupal for nine years.

What’s the trick to managing thousands of sites?

Consistency and automation. You can always handle a site or two manually: you get all your scripts ready, you kick them off on one site, then a second, maybe a third. But when you get into conversations about dozens or hundreds of sites, you really need to have robust tools that allow you to make sure that your hardware can handle it, and that the operation will not fail on even one site. Maybe 99.9 percent will be fine, but if even one site fails, that’s not acceptable.

Yes, Site Factory enables site builders, developers, and digital managers to create, deploy, and manage hundreds of websites quickly and efficiently. It offers multisite tools for developers, and a platform and user experience that lets site builders create sites quickly without depending on developers. It also makes it easy to manage a Web stack and it works really well with Acquia Cloud.

So it’s a platform that helps customers with management and automation. The tools we’ve built are very robust and can scale up to thousands of sites.

Most customers have to do security releases or module updates on their sites, but when you get into numbers that are high, it’s really important that you do it consistently across all of them. Because as soon as you have snowflakes — exceptions — those exceptions will come around to haunt you. You’ll need to fix them eventually, and at that point it will take you much longer, and require more resources. So it’s really important that you have a consistent environment across all of your sites.

That’s what Site Factory does. You commit your code in one place, kick off the deployment, and Site Factory will go in and execute the same steps on all of the sites. It will make sure that all of your code is on the newest version, and all of the sites get the latest security update. So you don’t have to worry about that. If a step fails it will retry up to a number of times, if it still fails we will make sure we put a site back into a good state.

What kinds of customers have so many sites?

Warner Music, an Acquia customer, runs hundreds. One of the biggest pharmaceutical companies in the world, an Acquia customer, also runs hundreds of sites. We have one financial customer that is in the process of migrating thousands of sites onto Site Factory, but we have others that are running 60-70 sites. A number of major universities use Site Factory to manage multiple sites. Heartland Dental, a dental chain, has moved 600 sites to the Site Factory platform in the last six months. They are really cranking out the sites.

What tools do you use to work on this scale?

We build our own execution engine, basically, that runs all of our processes. So if we’re running a site update, for example, we have our process that says, “I want to push this code, I want to put the site into maintenance mode, I want to update code on it, I want to update the database, I want to clear cache, and I want to put the site out of maintenance mode.”

And it does that on all of the thousands of sites that you have, and it does it consistently and reliably. So we build our execution engine to do that, and we execute thousands, if not millions, of tasks when we do an update. It goes through all the sites, one by one, and does the updates on them.

We do the same thing running cron, a daemon that executes commands at specified intervals. You can run cron on one, or two, or five sites manually. But when you want it to run on thousands of sites every one or two hours — that’s what our execution engine can do. So let’s say we have five servers, and you want to run cron every hour. We can say: we’ll run it at 20 percent utilization: at this minute five sites will run, and at the next minute another five sites will run, and so on. We will spread it across the hour. The customer doesn’t have to worry about that level of detail. The customer just has to say they want to run it every hour. We spread it out efficiently.

We also have an advantage because we’re running Site Factory on the Acquia Cloud platform. Everything on Site Factory runs on the Acquia Cloud. We just provide the tools to manage these high numbers of sites. So we use a cloud api to execute some commands, we use Drush to execute other commands, etc. We build our tools around the Acquia Cloud.

What it really comes down to is centralized management. You really can’t deviate from that. You’ll just get yourself into trouble, because then you’ll have a lot of different snowflakes that you have to maintain individually. So where our customers see real benefit is from one centralized platform that allows them to update all of their sites. They can be sure that all the sites are running the same version, and all of the modules are secure and updated.

How big is the Acquia Cloud Site Factory team?

We have twelve engineers, plus product management, quality assurance, documentation, and supporting systems. Most of the engineers on the team have been here a long time, and they are always thinking about how to run Drupal not on one site, but on many, many sites.

The thinking is different when you have one task that’s going to run on thousands of sites. And not one of them can fail.

Dec 02 2015
Dec 02

This started out as a very modest project, and then it grew. Like Drupal 8 itself (to a much lesser extent, of course).

The Drupal 8 Anatomy Project began back in late 2013 as a small, independent team’s attempt at starting a learning initiative for our support staff here at Acquia. Initially, the idea wasn’t to create a sprawling, comprehensive guide to Drupal 8. Rather, the genesis of the idea hatched when two "Supportians" (this is how we in Support refer to ourselves) realized that we’d need to proactively learn about the wonderful, though complex, changes being introduced with D8.

We (Aurelien Navarre was my co-conspirator) knew from experience that we would have a limited amount of time. We needed to start immediately to ensure that the largest possible number of people could learn this information. We started writing this guide because we knew we had to support -- and buy into supporting -- Drupal 8. This would be a strong way to be prepared ahead of our customers on a product that was still viewed at that time as being in its infancy.

The goal was to avoid, or at least minimize, the knowledge gulf that had infected the two of us with fear, uncertainty, and doubt.

First, we focused on porting modules from D7 to D8. We called it “migrating modules,” but as we learned, the Drupalverse has multiple uses for many terms, and “porting” is the proper term to use. Our expertise, however, was not in building custom and contributed modules: we are much more well-versed in site building and troubleshooting bugs.

So we decided to gather the D8-related information already available on the Web and build lessons with it. Since that time, many Supportians and Acquians have contributed to this living textbook. Even more have mined bits and pieces of information and instruction to create their own projects.

And now we are proud to publish (under an open source-style license from Creative Commons) our first completed chapter: Building Modules with Drupal 8.

This chapter (which contains 11 lessons) is intended to be one potential starting point for current and future Drupalists who are making the transition to Drupal 8. It is actually from the middle of the potential textbook and is listed as Chapter 5 in our working outline. Our hope is that interest in this chapter will jumpstart the completion and publication of its sibling chapters.

Who is our audience?

Right now, it is two-fold:

  • Drupal developers who have worked in Drupal 6 and 7 and are looking to make the transition to Drupal 8. This chapter will help them transition to many of the object-oriented programming practices D8 embraces.
  • Developers with experience in object-oriented programming who have yet to make the leap to Drupal 8. This chapter will help explain the anatomy of a Drupal module.

As with our larger project, we’re hoping that “Building Modules with Drupal 8” will create a core upon which other Drupalists can build. That’s why it’s licensed using creative commons for share and share alike.

Please take a look, and share with friends, associates, and fellow Drupalists. We hope you find it valuable. If you find something that we can improve upon, leave a comment.

We’re looking forward to publishing more chapters in the near future.

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web