BigPipe in Drupal 8

Posted by on February 26, 2016 at 12:57pm
BigPipe in Drupal 8 PIYUESH KUMAR Fri, 02/26/2016 - 18:27

Getting Comment on your article

Posted by Valuebound on February 26, 2016 at 12:14pm

The best way to communicate with online reader is allow them to give feedback or add comment on your article. Comments are great way for communicating with readers and the community. 

The functionality has changed a lot in Drupal 8. In Drupal 7, the comments system was quite simple. You could use them on content types and have only one single comment type. But what about if you want this different comment form for different  content  e.g. sometimes we need user to add feedback with just two fields, name & message and in another content type we need review system where besides name & message, user should rate the article based on some scale. 

To address these limitations, comments system has been rebuilt in Drupal 8. It could be attached to any entity type by…

Drupal 8 core release window on Wednesday, March 02, 2016

Posted by Drupal core announcements on February 26, 2016 at 12:04pm
Start:  2016-02-26 13:05 UTC Organizers:  xjm catch Event type:  Online meeting (eg. IRC meeting)

The monthly core patch (bug fix) release window is this Wednesday, March 02. Drupal 8.0.5 will be released with dozens of fixes for Drupal 8. Drupal 8.1.0-beta1 will also be released to begin preparation for the upcoming minor release in April. There will be no Drupal 7 bugfix release this month.

To ensure a reliable release window for the patch and beta releases, there will be a Drupal 8.0.x and 8.1.x commit freeze from 00:00 to 23:30 UTC on Wednesday, March 02. Now is a good time to update your development/staging servers to the latest 8.0.x-dev code and help us catch any regressions in advance. If you do find any regressions, please report them in the issue queue. Thanks!

To see all of the latest changes that will be included in the release, see the 8.0.x commit log.

Other upcoming core release windows after this week include:

  • Wednesday, March 16 (security release window)
  • Wednesday, April 06 (patch release window)
  • Wednesday, April 20 (scheduled minor release)

Drupal 6 is end-of-life and will not receive further releases.

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Turbocharging Oxfam

Posted by Annertech on February 26, 2016 at 9:47am
Turbocharging Oxfam

Oxfam Ireland wanted a faster site. It was already pretty performant, especially for a high traffic site, chock-full of features, but with the ever upward march of mobile usage, performance rose to the top of the want list.

Why do you want a fast site?

The reasons are many, and often not even on a site-owner's agenda when planning a site. Here's a few:

4 Ways to Improve Your Content Modeling

Posted by Drupal Blog on February 26, 2016 at 6:45am
4 Ways to Improve Your Content Modeling foursiteadmin Fri, 02/26/2016 - 01:45 Riche Zamor Riche Zamor Abstract content model

The most important part of a content strategy, in my opinion, is your content model. It not only ensures your copywriters and editors are able to publish the appropriate content, it provides the framework for your user experience and ensures proper delivery of content across marketing channels.

Most content management systems were designed with content “blobbing” in mind - content should be entered into a body field and formatted with a WYSIWYG editor. Because of this, most organizations have not taken the time to truly analyze their content needs because the assumption is made that all formatting and structure will be added through the WYSIWYG editor.

Maintaining content in this format is a nightmare. Pages become inconsistently styled, content migrations become a bear, and porting content to external systems becomes nearly impossible.

Here are some tips for how you can improve your content modelling on your next website development project:

Properly Define Your Content Attributes

Most content strategies stop at defining the fields a particular content type should have. Depending on your editorial workflow, you may only want to have content editors select what image assets to associate with an article. Or, you may want to control the terms contributors are able to use when tagging a blog posts, so that free tagging field won't due.

When defining your content attributes, make sure to answers the following questions:

  1. Is this field required?

  2. Who should/shouldn't be able to enter content into this field?

  3. What field type will enable content creators to most easily enter content given your editorial guidelines?

Model Your Assets Off

Seriously. Model your content assets. Don’t rely on the stock image and video management features of your CMS.

First take inventory of the types of assets you will be using with your content and how they will be used.

  • How will your assets be organized and searched for?

  • Does any metadata, such as department, country, topic, need to be associated with various assets?

  • Will images and videos be reusable within various pieces of content?

  • Do assets need to be credited to the creator, such as a photographer or videographer?

  • Will images appear in a gallery or be embedded within content?

  • Will assets only be attached to content via fields or will they be accessible through your WYSIWYG editor?

Once you have a good sense of your asset management needs, select the best asset management system for you. There are a number of customizable plugins or modules for content management systems that will offer the appropriate asset management tools that align well with your content model. If you have a large library of assets, look into using an external asset management system like Alfresco. These systems typically offer integration with CMS systems like Drupal.

Determine Your Needs for Microcopy

If you are not familiar with microcopy, it is a shorter variation of a content attribute, like a title or news article description. Microcopy can be used in many different ways, but it is typically used for displaying teasers on listings of content or in content previews on social media posts.

When you are trying to draw a reader in to read a full post, you want to grab their attention. Microcopy is a great way to develop content that draws people into  your website. If your micro-title is what will appear as the preview title when you post your article to Facebook, then create one that will generate the highest amount of clicks. Be witty or suspenseful.

Not every organization is going to have the desire or ability to develop microcopy for every piece of content. Gauge your writers’ tolerance for this before building microcopy into your content strategy. If your team won’t write it, then don’t build it into your content model.

Make Sure You Have the Right Metadata

Metadata is not only important for SEO, it is important for content portability. When your blog posts are shared by your readers on Facebook, you probably want an enticing thumbnail image to appear rather than a larger version of your favicon.

Think strategically about how your content is going to be discovered, and how it will appear on each external platforms. Then determine what metadata will need to be present in order for an external platform to generate the appropriate representation of your content.

Here are some type of metadata you will most likely want to have on your website:

  • Meta tags

  • Site verification code

  • Open Graph markup

  • Twitter Cards markup

  • Google+ authorship tag

Did you plan for any of these areas when developing your content models?

View the discussion thread.

Put people at the center of content strategy - The Common Theme of Confab 2013

Posted by Drupal Blog on February 26, 2016 at 6:43am
Put people at the center of content strategy - The Common Theme of Confab 2013 foursiteadmin Fri, 02/26/2016 - 01:43 Riche Zamor Riche Zamor Confab 2013 image

Eight days after Confab 2013, and I have finally come down from my conference high. The conference was insightful to say the least - it is by far the best industry conference I have ever attended. This past week, I have sifted through notes, read recommended articles and reports, replayed in my mind all the thought-provoking presenter one-liners, and had many a conversation about the value of things like content “chunking” versus “blobbing”...the usual things you do when you come back from a conference feeling equipped with the knowledge you need to change the world.

I had a moment, as I sat down to write this post, where I asked myself “why does any of this matter?” There seemed to be something missing in all my thoughts and ideas after Confab. It all seemed very...tactical. I felt like I was missing a larger theme that timed all of these topics together.

It came to me as I read an interview with Paul Adams of Facebook in Fast Company. “People!” The theme that tied all of the Confab sessions together was the focusing on the needs of people consuming content.

Michael Brenner of SAP defined content strategy best:

“Content strategy is about delivering the content your audience needs, in all places they go.”

Content strategy is about meeting the needs of people. We often get lost in conversations about content, asking questions like:

  1. What CMS should we use?

  2. How do we create a great editorial calendar?

  3. What keywords will get us ranked highest in search?

None of that matters. Not unless you are making a connection with what is at the other end of your content. People.

Each presentation I attended at Confab made that point within the wealth of knowledge shared that, at the center of all the planning, and wireframing, and building, is the need of a person. All the strategizing, and designing, and production, is all done with the intention of building a relationship with a person by helping to meet their needs. Where I think Paul Adams’ views on social design come into play, as many of us know about content strategy, is that investing in content is a long-term strategy that will take many, light-touch interactions with people over time before a relationship is really established.

Let’s get a little bit more practical with this concept. Here are some tips I pulled from different sessions I attended at Confab that will help you develop a content strategy centered around building relationships with people:

Content Modelling by Rachel Lovinger

Content modelling is essentially the process by which we as define content types, their attributes (fields, assets, metadata), and the relationships between types of content. It is foundational to any content strategy.

People are now engaging with brands across multiple platforms, on many different devices, often times all at once. As an example, a person attending an your event is reading information about your organization on their mobile phone, while they are following people’s tweets about the event on their laptop or tablet. One interaction, three touch points.

To address the needs of our users wanting content across various platforms and channels, we need to model content for portability.

Some recommendations that came out of this session all content strategists should keep in mind:

Think of your content separate from presentation. The root of this concept is in the content chunking versus blobbing debate. Most content management systems are designed with a Title field and a Body field where the content editor designs their content. That is dangerous because editors shouldn’t have to, and often are not good at, content design. By focusing on content structure over presentation, we can more granularly model our content with all the fields that need to be presented, allowing content editors to focus on entering content that needs to be served without having to do formating.

Content should be adaptive, not responsive. A related concept is adaptive content. The general idea is that content can, and probably should, look differently depending on how and where it is served. That ultimately is a design issue, not a content issue. When modelling content, we need to think of content types as having granular attributes (i.e. if a press release has an intro and a body, then have separate fields for each). Editors should focus on creating content, and designers focus on how it is presented on various platforms. As content strategist, we need to ensure our content is structured in a way that allows an editor to easily publish a piece of content in it’s entirety, and designers can then present content chunks, or collections of content attributes, in different ways on different platforms.  

Content models should be CMS agnostic. Technology should not inform your editorial strategy, your editorial strategy should define what content management system you use. Develop content models that map to the content needs of your audience and editors, then select the technology solution that will best support those.

Content Strategy for a Customer Journey by Kevin NIchols

Customer/user engagement happens across multiple channels and multiple platforms. Customers expect that they will have the same experience with a brand no matter where they interact with you - your website, via a mobile app, etc. Designing a consistent experience for a consumer regardless of channel or platform , referred to as omni-channel retailing, is driven by content and can be adopted by all industries.

The key to this strategy is personalization. Understanding who your user is, their needs, and where and how they meet those needs is critical to determining what content to serve along the user journey. If you know that Ann is a mother in Chicago that likes to cook casserole for her children, you can serve her a coupon on her mobile phone when she visits the recipe section of your mobile app or website.

There are many different ways to personalize your content strategy. You can build a recommendation engine into your website that serves a user content based on their defined interests. You can inform how you segment content on social media, email marketing, or direct mail based on your understanding of user personas. The approach you take should be specific to your organization, but remember the key is to focus on meeting the user need at every touchpoint in your user journey.

Well This IS Interesting by Melissa Rach

People need interests to live. We are “information foragers” - we seek information the same way we seek food. The more we learn, the more information we seek.

Content is about feeding people’s natural desire for information that is interesting to them. Our goal is to find the intersection between a person’s interest and our desire for them to take some type of action.

While interests are many things to us as humans, they are most importantly social. We build relationships through shared interests. The same thing goes for people building relationships with people as with people building relationships with brands. To establishing a relationship with a person, we need to produce content that aligns with both of our interests.

Our interests are enticed by emotion. Whether content is goal-, entertainment-, or action-oriented, we choose to engage with a brand based on how a piece of content makes us feel. Write copy that will evoke a desired emotion in your reader - joy, anger, intrigue. If you can evoke an emotional reaction from the reader, the greater the likelihood they will remember and be interested in your content in the future.

Some things to keep in mind when writing copy or designing content:

  • Make sure you know the topic you are talking about and can provide helpful information

  • Focus on meeting the needs of the content consumer - it is all about them

  • Produce content that fills the gaps between what the user needs and what you have to offer them

  • Encourage people to have a conversation with you

The Poetry of SEO by Mike King

Search engine optimization for years was a very prescriptive process circa 2000-2008. You optimized pages with metadata - meta titles, meta descriptions, and meta keywords - that helped search engines better understand what content was on a page. You made sure your pages were marked up in a way that allowed search engines to understand the structure of your page. Then  you worked on building cross links between your website and more reputable website. Voila! High ranking website.

Since the proliferation of social media, the game has changed. Major search engines now take into account social interaction with content and content consumed by your social graph in determining what to display to you in search results. People are spending more time on social media websites and discovering more content in their newsfeed than ever before. While keywords are still critical to search placement, the new driver of content discovery is social media.

Keyword optimization within content and meta titles is still important, but not as important as writing copy for people. You should write content with an eye towards getting people to share it with their friends.  Meta descriptions that appear in search results should connect with a reader, just like a tweet or an ad.

Social media can also be one of your best research tools because it shows you what people actually think and say about topics and brands. Use Facebook ad data and Google Adwords keyword tool to get demographic information about people who are searching for and talking about specific topics and use that data when building personas and your keyword strategy.

Did you attend Confab? What were some of the insights you gleamed from various sessions?

View the discussion thread.

To Wireframe or Not to Wireframe: User Experience for the New Redesign

Posted by Drupal Blog on February 26, 2016 at 6:41am
To Wireframe or Not to Wireframe: User Experience for the New Redesign foursiteadmin Fri, 02/26/2016 - 01:41 Alexis Findiesen Alexis Findiesen 4Site Studios wireframes

This series outlines our project process  through the lens of our development of the new In this post, we will discuss our process for developing an user experience for our new website.

As we have been planning the new over the past few weeks, we have followed our typical project process. After I developed the content plan for the new website, I dove right into developing wireframes, taking into consideration things like messaging hierarchy, information architecture, content models, modern design trends, and the lot.

In my mind, our new website is a framework. We are putting into place a foundation to build a great digital experience that can be a showcase to our clients of how we work and how awesome we are at what we do. The site will be a conversion machine. But, it will take time and learning from user behavior to get there. So, we need to start simple.

My goal is to present visitors, with as little content as possible, the following in order of priority:

  1. The work we have done (As we say in the agency world: “The work sells itself.”)

  2. The spectrum of services we offer

  3. Who we are as a company

  4. Our thought leadership around creative content and user engagement

If you take a look at the user personas in our content strategy, you will see that our target audiences are looking to make a quick decision about hiring us. They will visit our website to look at our portfolio, get a sense of the services we offer, and maybe read some blog posts or other resources. We need to give the user what they are looking for quickly, with minimal barrier to entry.

Wireframing our New Website

This was a collaborative much as we could make it. I brainstormed approaches and ideas with John and Alexis almost daily. I would have informal powwows with them to get their thoughts on how to structure content regions and get feedback on the wireframes as I was designing them. We whiteboarded, drew out ideas on napkins,, and debated a lot. In the end, we made Jeff Gothelf proud - we were lean.

The direction I took with the homepage was a stacked pane approach, as seen with many modern websites. It made sense for what we wanted to accomplish - create very distinct regions, each communicating a key message.  

Since we don’t have, nor can we produce,  a lot of content for the new website, I made each top-level navigation item a distinct landing page, and each subpage under it a defined region within the landing page. I then used conversational headers and intro text to tie these regions together into a narrative. With our new brand, we want to be more conversational with our content, so this approach makes sense for us.

I am a big fan of repeating patterns within websites so users can intuitively know how to navigate through content. Aside from our main navigation, Sliders are used consistently throughout the website to allow users to scroll through pages where there is content they will want to consume in isolation, such as a service descriptions. Exposed dropdown filters are used to allow users to easily find content within large groupings, like our portfolio and “Insights” page. Galleries will be displayed using a masonry layout, and listings of content in a grid layout.

If you read my last post on the content strategy for the website, you know that one of our major goals is to increase leads generated through the website. You will see webforms consistently incorporated throughout subpages on the new website where we describe what we do and products we have developed. That black circle that appears in the upper right-hand corner of the website will follow people as they scroll down a page. We need to make it easy for you tocontact us about your next project, right?

The user experience is not complex. We want to keep the new website simple and clean; prioritize visual communication over written content (with the exception of our thought leadership content); and build a conversion machine. We will be improving the website over time, testing out landing pages and improving the design and copy based on user need, so we did not want to over-engineer anything.

The Review Process

Now, I know I make the process of creating the user experience sound like it was easy, but it was kind of painful. Creating a content strategy isn’t hard - much of it is conceptual and you don’t know what you get until you start building it. People respond more to visual queues, so the amount of feedback on a project increases exponentially the more people get to see what a website is going to look like.

Although wireframes are meant to communicate content structure and page layout, people easily get hung up on the details.

“Can we change that word to {blank}?”

“Are we going to have a slideshow on the homepage?”

“It would be REALLY COOL if {blank} did {blank}?”

You have probably heard at least one of those questions before...

It took work to get our team’s consensus on the wireframes. The key was to make people feel as though their feedback was important,, but allow them to give “just enough” feedback to gather the requirements you need and build buy-in amongst your stakeholders. Perfection is the enemy of good.

Setting parameters around what I needed feedback on and how long people had to provide their feedback was extremely helpful. Changes and feedback at the end of the process were minimal because I spoke with people throughout the process, allowing them to give feedback along the way.

It is also important to stress to people that project planning is an ongoing process. Just because you reach a point where you stop collecting feedback on wireframes doesn’t mean changes cannot be made at a later time. Planning documents should be living documents that are updated throughout the development process as requirements change.

Things I would have done differently

Looking back on the process, I feel like I spent too much time on the wireframes. Part of the challenge with wireframes, as with design mockups, is that people cannot easily visualize how things will look and behave in the browser. Spending hours making really nice, static wireframes is counterproductive. It won’t allow people to interact with the concept and get a true sense of the functionality. The feedback you receive will be incomplete because the experience will be incomplete in the mind of the reviewer.

There is an argument to be made for high-fidelity wireframes. Interactive wireframes and prototypes communicate function well, but not form. There needs to be a balance. The compromise for me is “mid-fidelity wireframes” - wireframes that include just enough design aesthetic so the viewer gets a sense of the design page layout and form, but does not dictate the design direction.

We have already begun to refine our process to incorporate interactive wireframes and/or prototyping. There are a few ways to approach this, and we are planning to either create interactive wireframes within Mockflow, our preferred wireframing tool, or go right into prototyping using Drupal, depending on the project.

Take a look at the wireframes for our new website below and let us know what you think.

Image removed.

New Wireframes from 4sitestudios

View the discussion thread.

Emerging Trends in Digital for 2013 and Beyond

Posted by Drupal Blog on February 26, 2016 at 6:37am
Emerging Trends in Digital for 2013 and Beyond foursiteadmin Fri, 02/26/2016 - 01:37 Riche Zamor Riche Zamor Highway sign entitled The Future

Last night, I had the pleasure of sitting on a panel for the NetSquared DC Meetup with Colin Delany, Suzanne Turner, and Lawrence Swiader. The panel, titled “What's on the Horizon for 2013”, covered broad strokes what the emerging trends are in digital marketing, design and technology that organizations, mainly nonprofits, should be paying attention to in the coming year.

I put together a short presentation to highlight some trends I think will be key in the evolution of the social sector as digital becomes a bigger part of the work nonprofits are doing to better communities.

Below are my slides from the event.

To sum up the trends I see happening:

All content is created equal

Traditionally, organizations have followed a “hub and spoke” model for their content strategy, creating a bunch of content on their website and using paid and earned media to drive traffic to that content. It is becoming increasingly harder to do that as people spend more and more of their time on social media platforms. It’s no longer about creating a funnel to drive people where you want them to be, you need to engage people where they are.

Organizations should approach content creation keeping in mind that the content they drive on external websites (i.e. social media platforms) is just as important as content created on their own domain. With that in mind, organizations should begin to design brand experiences that drive desired actions on the platforms where they are engaging people.

Content is now paid media

Content drives social media. Publishing good content generates engagement. Seems simple enough, right?

The one thing organizations do not have much control over is reach - getting their posts in front of their audience. With statistics coming out on the general reach of social media posts on Facebook and other social platforms, it is becoming increasingly apparent that social media lacks efficiency in getting key messages in front of your target audience, unlike email, SMS, and paid media.

Social platforms are offering brands the opportunity to increase their reach and engagement by paying to promote key pieces of content to their audience. This is creating an interesting paradigm where organizations need to approach content creation like media buyers, planning for real time activation of content through paid media as trends in engagement with your content emerge.

Designing for mobile is not enough

Often when we think about responsive design, we think about producing desktop websites that scale down gracefully to be viewed on a mobile phone. Two interesting stats appeared in the most recent Nielsen Social Media Report - the number of people accessing social media through tablets grew 400% from 2011 to 2012, and the number accessing it from connected TV’s grew 100%. If you have been following CES 2013, you are seeing that connected TV’s, tablets, and phablets are all the rave, and not just for early adopters. Many of these devices will be hitting stores this year.

From here on out it is no longer enough to design just for desktop and mobile phones. We need to take into consideration the multiple screens that our users will be accessing our content and products from and design digital experiences that allow them to interact with your brand in a way that is device appropriate.

Organizations will become more "Lean"

I have written about this concept in the past, stating that nonprofits should take a more iterative approach to technology development and marketing. Spending large amounts of money on upfront strategic planning and development is inefficient and often sets organizations up for failure because their strategy is based on assumptions. By applying “lean thinking” in developing digital campaigns and technology, organizations test the assumptions that are often made in strategic planning processes. Only the assumptions that are valid and return desired results are adopted.

I highly recommend reading Eric Ries book The Lean Startup, or contacting us,  if you are interested in learning how to apply this methodology to your digital marketing campaigns and development projects.

More DIY nonprofits will emerge

There is this interesting trend emerging in the nonprofit sector of organizations building products. These aren’t apps for advocacy or fundraising per say, but digital solutions to various social issues organizations are working to solve. Nonprofits have been building products for a number of years, but I think this year and beyond is when you will really see this trend become more apparent.

Some examples I shared last night are:

  • PeaceTones - A nonprofit that is building an e-commerce platform to help artists in developing countries promote and sell their music online
  • Camellia Network - An organization that helps teens aging out of foster care raise money to fund their future, whether that be going to college, finding an apartment, etc.
  • Invisible People - This organization provides online toolkits to help homeless individuals communicate with the world about their situations as a way to give a voice and a face to an all too often overlooked segment of our population

The thing that I also love about this trend is community-building is at the core of many of these products. Organizations are, through organizing and digital products, creating peer networks of people who are supportive of a cause and getting them to create change together.

Building community will become a core organizational function

Regardless of sector, social media is forcing brands to rethink how they engage with their constituents and where that responsibility falls within their organization. Social media is often wedged into marketing or corporate communications teams, which creates this false perception that social media should be approached as just another mass communications platform.

While it can be effective at that, the real power in social media is building a constituency of people that share a common passion or interest as your organization, and interacting with them in a way that increases brand recognition and loyalty; persuades people to support your cause or product; and drives business metrics such as items sold or houses built in low income communities.

I think a big trend that will emerge in the coming year and beyond is the creation of cross-functional teams - traditional communications, digital marketing, social media, customer/constituent services, etc. - that are tasked with designing better customer/constituent experiences across various touch points. Some organizations have even gone to the extent of creating new roles, such as Chief Community Officer or Chief Experience Officer, to oversee the unification of community-building efforts across an entire organization.

What do you think are some emerging topics in digital that nonprofits and social change organizations should be paying attention to in the new year?

View the discussion thread.

The Three Most Useful Drush Commands for Drupal Novices

Posted by Drupal Blog on February 26, 2016 at 6:35am
The Three Most Useful Drush Commands for Drupal Novices foursiteadmin Fri, 02/26/2016 - 01:35 John Shortess John Shortess Drush and drupal drop logo

We maintain dozens of Drupal sites for our clients, in a wide variety of hosting environments. Keeping all of these sites up to date could be a nightmare, but our job is made much easier thanks to the awesomeness that is Drush.

If you manage a site, but haven't yet dipped your toe in the world of command-line, site management. We created this short list of useful drush functions to get you started. When you see how easy, and powerful it is, we think you'll be hooked.

Drush, the DRUpal SHell, is a command line utility that lets you perform all kinds of Drupal tasks more quickly and efficiently than you can by clicking your way through the UI. Especially if you’re a fast touch typist – which I’m not this week, thanks to a woodworking accident last weekend. But that’s another blog post, for a different blog.  

This won’t be a complete tutorial on how to install and use Drush, because there are plenty of great tutorials out there already. Instead, I’ll talk about some of the ways we use Drush here at 4Site to streamline our site maintenance workflow. 

1. Drush Aliases

Drush would be awesome even if we had to SSH into every site separately. But we don’t, thanks to Drush site aliases. A Drush site alias is just a short snippet of PHP code that tells Drush how to log into a remote site using SSH. It looks something like this:


$aliases['mysite'] = array(

  'remote-host' = '',

  'remote-user' = 'drupal',

  'root' = '/var/www/html',

  'uri' = '',



If I save that code to a file called aliases.drushrc.php inside the .drush directory in my home directory on my local machine, I can then type a Drush command, adding a reference to the remote site alias, and my command will be executed on the remote site. If I wanted to get the status of mysite, I’d type:

drush @mysite status

That’s much faster than logging in to the server!

Creating an alias file is pretty easy, but our main hosting provider, Pantheon, makes it dead simple. On the Pantheon dashboard, there’s a “Download all Drush aliases” link. Putting that file into my ~/.drush directory creates site aliases to the DEV, TEST, and LIVE environments for every Pantheon site I work on!

2. Updating Core

On Pantheon, it’s easy to apply core updates with just a couple of clicks from the dashboard. But if I’m already in a shell, I can use Git to update my local development copy of the site, pulling from Pantheon’s upstream repository on GitHub (which contains Drupal core plus several Pantheon-specific customizations):

git pull git:// master

git push origin master

I probably wouldn’t really do this – in this case, using the dashboard is easier. But I might put it in a script someday, so we can update core on all our sites with one command! On non-Pantheon sites, updating core is still simple using Drush:

drush @mysite up drupal

3. Updating Modules

Updating contrib modules is easy, too. On Pantheon, we first have to put the site into “On-Server Development” mode so that Drush can write to the filesystem directly. To update everything at once, we can just type drush pm-update. But I like to have a little more control. First, let’s get a list of all the modules that have available updates:

drush up –n | grep available

The –n answers “no” to Drush’s “do you want to update?” prompts, then grep filters the output to just give us lines that include the word “available,” leaving us with a list of modules with available updates that looks something like this:

Date             7.x-2.5  7.x-2.6  Update available

Organic Groups   7.x-1.4  7.x-1.5  SECURITY UPDATE available

Rules            7.x-2.1  7.x-2.2  Update available

Token            7.x-1.3  7.x-1.4  Update available

Views            7.x-3.3  7.x-3.5  Update available

The update to Organic Groups is a security update, so I’ll probably want to perform that one right away. But let’s say we want to hold off on updating Views for some reason. Perhaps we applied a patch to fix a bug, but we know that patch hasn’t been committed yet. So let’s update everything but Views. We just add the machine name of each module to the drush up command:

drush up date og rules token

When the updates are done, we have to take the site out of On-Server Development mode, then type a commit message when prompted by the Pantheon dashboard.The drush up command (actually a shorthand version of drush pm-update) will automatically perform any required database updates. But if we want to do the database update separately for some reason, Drush makes that easy, too:

drush pm-updatecode module1 module2 ... moduleX

drush updatedb

Other Common Maintenance Tasks

There are lots of other things Drush can do. Here are just a few of the commands I use frequently:

Clear all caches:                                 drush @mysite cc all

Rebuild the search index:                drush @mysite search-reindex

Show recent log messages:              drush @mysite watchdog-show

Show detailed info for a module:    drush @mysite pm-info modulename

Disable a module:                             drush @mysite pm-disable modulename

I don’t use the following commands nearly as much as I used to now that most of our new site development is on Pantheon, but they’re still useful for our older sites in other hosting environments:

Sync database and code from TEST to LIVE:

drush db-sync @mysite.test

drush rsync @mysite.test

Back up the database:

 drush sql-dump –result-file=


Restore database from a backup:

drush sql-connect <


Spinning Up a New Site

4Site has a "base install" that contains Drupal core, our base theme, our go-to modules, and the basic content types, views, and other configuration that we use on most of the sites we build. Spinning up a new site that uses this base install is easy, thanks to the drush make command and a “makefile” that we store on Dropbox. Look for a blog posts in the coming weeks with more on our base install.

View the discussion thread.

Homepage template quirks in Drupal 7

Posted by Drupal Blog on February 26, 2016 at 6:24am
Homepage template quirks in Drupal 7 foursiteadmin Fri, 02/26/2016 - 01:24 Alexis Findiesen Alexis Findiesen Drupal 7 header from website

So it's time to theme another Drupal site. You've got your base theme installed, customized, and ready to roll (we like to use Zen). You've got your interior page template styled and slick, now comes the homepage...usually a bit different from the rest of the site design. 
In Drupal 6, everything is pretty straightforward in terms of how you set up your homepage template from the default interior page template (duplicate the page.tpl.php file and call it page-front.tpl.php and make sure both are uploaded), set blocks to display (or not) based on simple logic and options within the block editing area, etc. In other words, everything behaves as expected...smoooooooth sailing.

However, when going through the same workflow in Drupal 7, I noticed some things seemed amiss and not documented very well. I discovered after much research that to create your homepage template and have it register as such, you now had to use a double hyphen in the nomenclature mentioned above: "page--front.tpl.php" versus "page-front.tpl.php" which felt random.

I also noticed that page content was being controlled by a new block called "Main page content" which could be dragged into a preferred region to populate the site with content. Great! Once I was ready to set up the homepage, which didn't need any type of dynamic content "loop" pumped in, I went into the block settings and told it to display on every page except the front. Then I set up all my homepage-specific blocks and set them to only display on the homepage. Voila.

Unfortunately the content block was still populating the homepage with mysterious information despite my settings above instructing it to go away. After numerous refreshes, cache flushing, double and triple checking code, pulling out hair, etc. I realized I was doing everything right...but it still wasn't working. Digging around online, I stumbled across a forum full of people with an almost identical problem: how do we turn off this content we don't want in the homepage content region?

As noted in comment #48, the best solution I could find and wanted to share was to create a custom region for the homepage which wouldn't be present on any of the interior pages, thereby removing any possibility that content I didn't explicitly place there would ever show up. I removed the "content" region from the homepage template and replaced it with something obvious like "content_home" and updated my .info file to define this new region. After pushing these updated files to the development server and flushing caches, I was able to drag the "Main page content" block and any other blocks I wanted on interior pages only to the regular "content" region and blocks I wanted on the homepage to the "content_home" region. No more fooling with the "show on every page except <front>" options per block that were being ignored, etc. This has worked like a charm for me, and I've tried to share my method with colleagues as it comes up in new projects.

If you poke around the forum link above, you'll see alternate ideas and suggestions, some of which may be good solutions as well. Let us know if you've had similar experiences with quirky Drupal behavior and how you tackled them!

View the discussion thread.

Building a site with a custom Drupal install profile using Pantheon and Terminus

Posted by Drupal Blog on February 26, 2016 at 6:21am
Building a site with a custom Drupal install profile using Pantheon and Terminus foursiteadmin Fri, 02/26/2016 - 01:21 John Shortess John Shortess Drush text with Drupal drop logo

We’re big fans of Pantheon here at 4Site Studios. Even if a client site doesn’t end up being hosted there for whatever reason, we’ll probably still develop the site on Pantheon because their development tools fit very nicely into our small team’s workflow. The biggest pain point we’ve had was with the initial site provisioning, since we develop most of our sites using a custom install profile, 4Site Hub. Custom start states are available as part of the Pantheon One (formerly Zeus) package, but most of our clients don’t have pockets that deep. So I developed a kludgy workaround involving Drush make and importing the resulting tarball through the Pantheon dashboard. It was ugly, but it worked.

The recent introduction of Pantheon’s Terminus CLI has us well on the way to a much more elegant, automatable solution. The shellscript below is derived from example commands included in the Terminus readme. It still requires that the person creating the site have Drush (and the Terminus Drush extension) installed locally, on a *nix-like machine, but I have visions of a site builder (or even a project manager or account manager) soon being able to provision a new site simply by filling out a form on our Intranet.

Using the script is very straightforward. Just cd to the main sites directory on your local machine and run the script (don't forget to chmod +x after you download, and customize the script with the URL of your makefile and the name of your install profile). Then answer four questions (the sitename, site description, and your Pantheon login and password), then go out for your beverage of choice. When you return, you should have a site at, and a local clone of the site code at ./sitename.

There are two major items of note in the script. First, the Drush alias files that Pantheon generates don’t work with Drush 6.0 yet, so I’ve added --strict=0 to all the Drush commands that use aliases. Second, I’m adding keys for the Pantheon appserver and codeserver to my known_hosts file, in order to prevent a couple of annoying “Are you sure you want to continue connecting (yes/no)?” prompts. I’m not independently verifying these keys before adding them, so the script theoretically is vulnerable to man-in-the-middle attacks. Since I’m storing the keys mere moments after the servers are created I’m not too worried, but if you’re especially paranoid you might opt for a different solution.

Okay, here’s the script. Comments or suggestions for improvement are welcome!


# Get user input for site specifics and Pantheon credentials
echo "Enter machine name for new site:"
read sitename
echo "Enter description for new site:"
read site_description
echo "Enter your Pantheon username (usually your email address):"
read pantheon_user
echo "Enter your Pantheon password:"
read pantheon_password

# Authenticate on Pantheon
drush pauth $pantheon_user --password=$pantheon_password

# Create the site on Pantheon using Pantheon's drops-7 upstream as the base
drush psite-create $sitename --label="$site_description" --product=21e1fada-199c-492b-97bd-0b36b53a9da0

# Update Drush aliases
drush paliases

# Determine the site_uuid of the newly created site.
site_uuid=$(drush psite-uuid $sitename)

# Change the connection mode on the dev environment to SFTP.
drush psite-cmode $site_uuid dev sftp

# Add code and dev servers to known_hosts so we don't get 'Are you sure you wish
# to continue connecting (yes/no)?' later
# TODO: Clean this up so we only sort once
ssh-keyscan -p 2222 -t rsa,dsa$ 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts
cat ~/.ssh/tmp_hosts >> ~/.ssh/known_hosts
ssh-keyscan -p 2222 -t rsa,dsa$ 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts
cat ~/.ssh/tmp_hosts >> ~/.ssh/known_hosts

# Download Drush makefile and use it to build the site on Pantheon dev
# We need --strict=0 because Pantheon's drush alias files don't work with Drush
# 6.0 yet
drush -y @pantheon.$ make --no-core --strict=0

# Install the site. Remember to grab the password, or use drush uli later.
drush -y @pantheon.$ si --strict=0 --site-name="$site_description" profile-name

# Commit the changes.
drush psite-commit $site_uuid dev --message="Installed Drupal with profile-name."

# Change the connection mode back to git.
drush psite-cmode $site_uuid dev git

# Clone a local copy of the repository
mkdir $sitename
git clone ssh://$$ $sitename

# All done!
echo "Site build finished!"

View the discussion thread.

Inventing the future of… websites.

Posted by Drupal Blog on February 26, 2016 at 6:11am
Inventing the future of… websites. foursiteadmin Fri, 02/26/2016 - 01:11 Alexis Findiesen Alexis Findiesen Pile of legos

You know how every box of LEGO® comes with that pretty picture on the front of what it’s supposed to look like at the end...and how you might build it that way once, just once, to see how it looks, before tearing it down and making a spaceship out of the oxcart? It’s the same with websites. We all start off with this great picture in our mind of what a website will look like. And yes, the website might actually make it to that glorious utopia...until someone decides, no, they don’t actually like that thing there. No, this should be bigger. Or smaller. “I know I asked for an oxcart, but please tear it down and make a spaceship out of it.”

At 4Site, when we go about ‘designing’ a website, we think of the website as a sum of parts--planning ahead to how the site’s going to look at the end, how it’s going to feel. It’s not just a set of fields that then get some css (or scss!) and js/php applied. It’s something that’s eventually going to be touched by dozens, hundreds, thousands of people, both as users and as content managers behind the scenes. It’s something that needs to be flexible. Something that can move on the fly, something that can be used on a wide-variety of platforms, in a variety of uses, by a variety of users. Something easy. Something modular.

Like LEGO®.

That’s the beauty of Drupal and other modular CMS. You can take these pieces and make damn near anything out of them. So where is this metaphor leading? You need a great workflow to start, a great system to work within. You need your giant tub of pieces.

Once you have your basic “what do we need?” question answered, you can expand on what else you might want. The beauty of Drupal is that you have this extraordinarily flexible system--you can modify your content types on the fly. You can add taxonomies if you want to suggest related content to users. Your layouts are flexible, so you can use them to organize all types of content, albeit with a few minor tweaks. Add some fields to your content types and you can build a brand new view. Add some taxonomy terms and you can link your leaders together and allow them to connect with people that share the same interests.

Image removed.

The point of this is that you need the pieces first. To build a spaceship, you need to start with the 4x4 squares, the crystal cylinder things, and the LEGO® head with the 70s hair. It’s the same with websites. Karen McGrane says to use chunks, not blobs. So you break down your content into consistent and logical pieces. And that will give you the most flexibilty on the back end to organize and display that information, for different audiences, on different platforms, and over time as your needs evolve.

What don’t you want to do? You don’t cram every last bit of information you have into a WYSIWYG, because if you need it later, too bad, you’re writing it again. That would be akin to gluing your LEGO® together. If you ever want to use those pieces for anything else, too bad.

If you had a custom field or post type, you’ve got that piece already at your fingertips, ready for use wherever and whenever you want. You need that information later? No worries, it’s a custom post type. It’s a taxonomy reference. It’s right there in front of you. You decide you want your author on something else? It’s a term reference. An entity reference. A node reference.

So go build your castle or spaceship, your saloon or alien moon-base. Just make sure you have your big tub of pieces first, in case you decide later you want to add a mean laser cannon on the top. Or a Mars rover. I don’t know. You're the designer. 

We just provide the pieces.

This blog post is an extrapolation of a session I presented at FuseCon 2014. Please let us know if you'd like any help sorting out your content into manageable, reuseable pieces.

View the discussion thread.

Inside HubDub, Part 2

Posted by Drupal Blog on February 26, 2016 at 5:39am
Inside HubDub, Part 2 foursiteadmin Fri, 02/26/2016 - 00:39 Michael Wilson Michael Wilson Hubdub branded graphic

Last week, we announced our new interactive video module for Drupal, HubDub. We followed that up with a more detailed under-the-hood look at how HubDub works. Now, I'd like to take a look at a key part of the technology that drives HubDub: jPlayer.

Why Video Overlays?

As a company that specializes both in video production and web development, incorporating video with our work is a natural extension to our web development efforts. One of the more frequently requested features is an HTML overlay that permits the viewer to submit a donation or feedback on the video in question. To that end, we have been developing a Drupal module, Hubdub (sorry Wordpress folks, there are no confirmed plans to create a corresponding plugin, yet), that displays videos as Drupal blocks, with the option of displaying overlays with arbitrary show/hide times. Its a useful project for us, as formerly, this sort of thing had been implemented on a case-by-case basis in template files or custom modules with little to no customization permitted.


For the front-end display, I am using jPlayer to render the video (with preference for HTML5 and Flash as the fallback). I selected jPlayer as a familiar and reliable video library that supports timeupdate events (very helpful for timing overlay displays).  In this current iteration of the module, we are not yet offering any jPlayer option controls on the backend, although that’s coming soon!  For the time being, it offers the bare minimum functionality: title, video URL (at this time this must be an mp4 file or RTMP stream), unlimited overlays with title, markup, and start/end time.

This current iteration does not yet provide full HTML5 cross-browser support. This requires the ability to provide fallback video formats for the video (example: mp4 is required, but webm and ogg files would be permitted to more broadly display video as an HTML5 video).  However, this will also be coming soon.

Finally, this version of the module does not support Youtube streaming, yet.  But, stay tuned.  Numerous new features are planned!

We're always eager to hear your feedback! Please post bug reports, feature requests, and support questions in the HubDub issue queue. Next in our HubDub series, Alexis will have some tips on styling video overlays.


View the discussion thread.

Introducing HubDub, Interactive Video for Drupal

Posted by Drupal Blog on February 26, 2016 at 5:37am
Introducing HubDub, Interactive Video for Drupal foursiteadmin Fri, 02/26/2016 - 00:37 John Shortess John Shortess Hubdub brand with drupal drop in background

A little over a year ago, we announced Dub, our custom interactive video player, which allows you to overlay web content—such as social media, maps, or web forms—directly onto a video as it plays. As users are watching your video, you can present them with other relevant content, ways to take action, or tweets from supporters of your campaign… all synchronized to the content of the video. By engaging your audience with a call-to-action video, then giving them a way act from within the video player itself, you can significantly increase conversion rates for your campaign.

We’ve had great success integrating Dub into client projects and even our homepage, but each interactive video required a lot of custom coding. Every time we used Dub, we told ourselves, “Someday, we should turn this into a Drupal module.”

That day has arrived! We'd like to present to you the HubDub module. Like the original Dub, it offers custom overlays in a responsive video player that works in desktop, tablet, and mobile browsers. But now, instead of writing lots of Javascript for each video, it’s easy to add overlays to a video through Drupal’s administrative interface. It will also (very soon!) be integrated with Google Analytics, so you'll know when users pause your video, when they stop watching, and whether they take an action.

add hubdub video screen

Like all modules distributed on, HubDub is completely free and open source, distributed under the GPL version 2.0 license. Please give it a try, and post any bug reports, feature requests, and support questions in the module's issue queue.

Stay tuned over the coming days for more details on how HubDub works under the hood. If you'll be attending the Nonprofit Technology Conference next week in Austin, stop by our booth (#214)! We'd love to chat and give you a demo. If you’re interested in a custom HubDub solution, integration with your CRM or AMS, or video production or editing services, please contact us.

View the discussion thread.

Drupal Console SandCamp Sprinting At The Beach

Posted by Darryl Norris's Blog on February 26, 2016 at 2:34am

Hi Drupal World from sunny San Diego, I like to invite you to sprint with us and helping us on improve Drupal Console.

Our focus of this sprint is going to add some of the new features to Drupal Console, as using the a chain command as actual command ( this will allow us to generate Drupal Console commands without writing code. In addition, we will be working on improving the documentation about how we can use Drupal Console in other contribute projects. Finally but no least, we are planing to try to separate the languages ( from Drupal Console and creating independent projects for each language. This will allow communities to start their own custom languages without need of committing into Drupal Console core. However, anyone can contribute on any Drupal Console related issue that they want to improve or have fixed.

We did some previous attempts to sprint on


Slacking our Way to Better Conversation and Community

Posted by Chapter Three on February 25, 2016 at 11:42pm
Slacking our Way to Better Conversation and Community

I’ve always thought that Slack was a funny name for a productivity tool. I think I associated it with the word “slacker,” but there’s actually no connection. Rather, Slack is when good things happen when you stop trying and go with the flow. It’s such an important concept, that a religion was created around it. When Chapter Three adopted Slack almost two years ago, we had something of an epiphany.


Susan McCormick February 25, 2016

Slacking our Way to Better Conversation and Community

Posted by Chapter Three on February 25, 2016 at 11:42pm

I’ve always thought that Slack was a funny name for a productivity tool. I think I associated it with the word “slacker,” but there’s actually no connection. Rather, Slack is when good things happen when you stop trying and go with the flow. It’s such an important concept, that a religion was created around it. When Chapter Three adopted Slack almost two years ago, we had something of an epiphany.


Propose a Session for the Core Conversations Track

Posted by DrupalCon News on February 25, 2016 at 10:40pm

Core Conversations are a place for people actively working on and contributing to Drupal to meet, discuss, and plan the future of Drupal.

This is the place for big ideas about the future of Drupal, as well as discussions about where we want to go and how we are going to get there. Where regular tracks and sessions focus on the present and immediate future, Core Conversations are about long-term.

Each session is a conversation, so it has a short presentation, followed by 30 minutes of discussion with the audience.

An inside look at our Events team

Posted by Drupal Association News on February 25, 2016 at 10:00pm

Hello, Drupal world! We are thrilled to be able to give you an inside peek at what goes into planning DrupalCons. Throughout 2016, we’ll share a series of posts, and a few webcasts, to show some behind-the-scenes aspects of DrupalCon. First, meet the team that produces 3 Cons a year!

Rachel Friesen: Events Manager

What do you do for DrupalCons?

I consider myself a full-time plate-spinner. I focus on our DrupalCon planning and strategy, high level project management, site selection and managing our awesome Events Team. I work to distill the goals of the community, the Drupal Association, and sponsors to make sure we have healthy and sustainable events.

I’m also the financial gatekeeper for the Cons, so I manage our budget of ticket revenue and expenses for about 6 DrupalCons at a time. (Yep! We're working that far out & beyond!)

Favorite part of your job?

Telling Drupal community leads that we're bringing DrupalCon to their city. People are so excited and it's such a thrill to be able to bring the DrupalCon spotlight to their nook of the earth.

Favorite DrupalCon Moment?

My favorite DrupalCon moment was the front line band that came out to officially introduce DrupalCon New Orleans. I just really wanted people to feel New Orleans-y goosebumps when we announced the next location. It was important to me that people felt a connection with the fun vibe that New Orleans has, and felt compelled to come to DrupalCon New Orleans!

What about DrupalCons has surprised you?

One of the more interesting things to me is the random clauses that convention centers have banned in their contracts. I know it sounds weird, but there's specifically a “no glitter” clause in our New Orleans contract. It makes me daydream about what type of glitter incident lead to that clause being required. Ah, fun!

Amanda Gonser: Lead DrupalCon Coordinator

What do you do for DrupalCons?

I manage various community volunteer teams that select the content that goes on at DrupalCons. If you're attending a session, taking a training, networking at a summit, listening to a keynote or participating in sprints, I probably worked with some amazing volunteers to help make those things come to life.

I also work directly with the amazing local communities that host our Cons. We plan things like Trivia Night, Women in Drupal, and Extended Sprints. Last but not least, I work with our team on our site selection process for future Con sites (don't think you can sweet talk me though!).

Favorite part of your job?

I love the moment when I meet someone in person that I’ve been spending weeks on video calls with. I work with so many incredible community members who give a lot of their personal time and effort to these Cons. It's great to see them for the first time and give them a big Drupal hug. It makes seeing them at a Camp or at another Con a great moment to look forward to as well.

Favorite DrupalCon moment?

I think my favorite moment so far (because there’s a new favorite moment at each Con) was in DrupalCon Barcelona, when the Indian community got up to promote DrupalCon Asia. Between the dancing, the words, and the videos of so many Indian communities welcoming us to Mumbai, I was really touched and so excited about attending the Con. I've been in India for a month now, experiencing that amazing hospitality firsthand before the Con, and am sure that DrupalCon Asia will leave me with another favorite moment too.

What about DrupalCons has surprised you?

Having not come from a tech background, I feel like each day is its own opportunity to learn something new—about open source, Drupal, community management. There are so many things I can learn to better understand and serve all of the great Drupalistas who work to make DrupalCon happen.

Tina Krauss: DrupalCon Coordinator

What do you do for DrupalCons?

I handle registration and am the first point of contact for DrupalCon attendees. If you submit a question or request through our contact forms, I'll most likely be the one responding to you. At DrupalCons, you can find me at the Registration Desk.

I also work on Drupal training courses and the Association's scholarship program. The rest of my time is filled with a lot of behind-the-scenes work on hotels, travel arrangements, event logistics, and production tasks.

Favorite part of your job?

I love traveling, and visiting exciting cities for work is a big bonus for me. Working with highly dedicated people from around the world and my amazing team at the Association are things I wouldn't want to miss either.

Favorite DrupalCon moment?

Hard to decide! Being surprised with a big birthday cake at DrupalCon Los Angeles was definitely a highlight, but I also enjoy the Association's traditional celebratory get-together on the last morning of the Con, when most of our work is done and we can look back at a successful event.

What about DrupalCons has surprised you?

How to work and have fun at the same time. I never thought this was possible. :)

Tim Constien: Sponsorship Fulfillment Coordinator

What do you do for DrupalCons?

I work with all of our awesome sponsors, making sure that all of their benefits are fulfilled and maximized. It's important to me that they have a great experience sponsoring DrupalCon. It's always fun to see what they dream up as cool ways to support the community.

Favorite part of your job?

I love finally meeting all of the people I work with after months of emails and calls. I also enjoy the gratification of being the one to help guide newer sponsoring companies into the unique world of the Drupal.

Favorite DrupalCon moment?

Being on a Trivia team with webchick, alexpott, and hestenet in LA. We won!

What about DrupalCons has surprised you?

I think it's awesome to see how many companies, made up of extremely talented people, are truly invested in Drupal and its community.

Thanks for reading. Our next post will focus on the environmental and social responsibility work related to producing DrupalCons.

Meet us in New Orleans


"No More Stale Content" Drupal 8 Caching and Big Pipe with Wim Leers

Posted by Lullabot on February 25, 2016 at 9:00pm
Matt & Mike go deep into Drupal 8 caching and the Big Pipe module with Wim Leers. They're also joined by Lullabot Senior Developer Mateu Aguiló Bosch.


Subscribe with RSS Subscribe to aggregator - Planet Drupal