Feed aggregator

Wim Leers: Performance Calendar 2013: "The real challenge: making the entire web fast"

Planet Drupal - Sun, 2014/01/05 - 3:25pm

This year, Performance Planet did an advent calendar again, just like the last few years. I also contributed an article — what follows is a verbatim copy of my “The real challenge: making the entire web fast” article for the 2013 Performance Calendar.

Probably many — if not most — of us speed freaks work for big companies that are optimizing top 1,000 websites.
Some companies have the budgets to hire people who work on WPO full time. Those companies are able to do that thanks to huge revenues — otherwise it would not be financially justifiable. In other words: they’re probably a top 1,000 website. The percentages of page speed improvements those people bring must translate into sufficient additional revenue to cover their wages.
Other companies have people who get to spend part of their time on WPO, and maybe pay for the services of one of the several WPO companies out there. But even in this case, a sizeable revenue is a requirement to justify it.

So what about the millions of other websites?

Think tiny budgets. Shared hosting. No mod_pagespeed to be seen. The ‘S’ in ‘SME’s. The small non-profits. How can they make their websites faster?

Well, a few companies are so big that they can even hire people to focus on the big leaps forward in web technology that will make the entire web faster (think better browsers and HTTP 2.0/SPDY). Usually that’s the case because the long-term success of those companies depends on the web, so they have a vested interest in an even more omnipresent web.
It’s great. But it’s not enough: there’s only so much that better technology can do. A poorly implemented website with lots of large resources per page will still be slow.

So how can we make the majority of the web faster?

I believe we can do that by making the most popular CMSes faster by default.

The fat head is trampling the long tail

Increasingly, the big few own the attention of us internet users. The long tail receives fewer visitors.

Centralization. Silos. The big few are extremely successful because they have a better UX (amongst other reasons). Perceived simplicity & perceived speed are essential elements of that better UX.

If we want to protect the web’s diversity, the long tail must receive more attention again. Browsing the wider web feeling fast & fun rather than slow & annoying, to avoid a future where people spend (almost) all their time in the few silos they know.

Not just for the ideological idea of a free web with diverse opinions, but also to avoid monopolies from owning the web. Monopolies are bad for all of us for many reasons; two reasons are reduced innovation and higher risk of police state-like measures (such as censorship1 and eavesdropping).

Fast CMSes suited for various use cases — from simple blogging to complex data modeling — are essential for the success of the long tail.

Making WordPress, Drupal and Joomla fast out of the box

According to various sites that track the usage statistics of CMSes, the WordPress—Drupal—Joomla triumvirate powers 2/3rd to 3/4th of the top 1 million and 1/4th of the entire web.

They all have two things in common:

  1. they’re free and open-source software
  2. they “enable non-developers to do developer-like things” (let’s call them “site builders”2)

If we can make these three open source systems faster, then we make the entire web faster!3

All three of them run fine on shared hosting. They can all be much faster when running on an optimized stack (think Varnish, memcached and so on). But the point is to make them as fast as possible on shared hosting.

In my own job, I spend a significant part of my time on making Drupal 8 (the next version of Drupal) being more performant out of the box. A few of those improvements are:

  • Zero JavaScript is served to anonymous users by default.
  • Support for responsive images.
  • Partial page caching, which results in much faster serving of HTML of personalized pages for authenticated users.

Hopefully, Drupal 8 can add more improvements still. And Drupal already had many performance-related features. I’m sure WordPress and Joomla do, too.

But what matters most is whether these performance features are enabled out of the box: many site builders will not be knowledgeable enough to be aware of these features nor their impact. So we should go the extra mile — and maybe add additional code complexity — to ensure we can enable performance features out of the box.
For example: Drupal has had CSS & JavaScript aggregation for a long time … but it’s not yet enabled out of the box! And that’s why it’s not as fast as it could be, for many sites out there.


Overall, CMS developers should stop blaming the site builder for setting things up suboptimally and instead blame themselves!

CMSes should be fast by default. And whenever a site builder is about to configure something that would negatively impact perceived performance, then the user should be made aware — or better yet: remove that choice from the UI altogether and make it only overridable through code (or using a CMS extension).

Content strategy affects performance, too

All of the above is about performance-related features. But not every performance problem can be solved with better algorithms or smarter caching.

Content strategy is crucial for a fast site. A highly optimized responsive website that loads blazingly fast can load excruciatingly slow if the content it needs to show includes several multi-hundred-KiB images. Sadly, in the current state of the web, that is the rule, not the exception. CMSes should protect its users against that (for example by automatically losslessly optimizing images on output while retaining the originals), or, if unable to protect, educate its users.

If the site builder decides to add all sorts of social media widgets (think Twitter, Facebook, and Google+), and perhaps several tracking analytics scripts… then inevitably a page takes longer to load.

So another part of the puzzle is education. To my knowledge, no CMS even attempts to educate its users.


It’s great that many important websites with millions and billions of visitors are being sped up so much. But let’s not forget about the millions of other websites. As Stoyan Stefanov so elegantly & empirically demonstrated: users are frustrated by the entire web being slow, not just the web giants.

Do it to further increase the success of open source. Or to reduce the influence of monopolies. Or to make more money. Or to stand up against cultural imperialism. Or just because you selfishly want the web to be faster because you’re impatient.

Let’s make the entire web faster.

  1. One must think in a global context, because the web is global. Hence silos are typically global, but they’re usually also regulated in a single country. For example: Facebook is an American company. In the U.S.A.’s popular culture (e.g. movies), extreme violence is acceptable, but deity forbid a nipple is seen for a fraction of a second. This particular cultural view is then also applied by American companies: see “Facebook’s nudity and violence guidelines are laid bare”: Nipples are rude but crushed limbs are OK.
    This is considered “cultural censorship” or “cultural imperialism”. In other countries, the values may be different. For example, in the case of violence vs. nipples, Sweden has the opposite stance on what’s acceptable

  2. Sitebuilders are people who are not necessarily programmers, but can still build a rich, complex website. Zach Chandler from Stanford University has aptly described their importance: The reason why the site builder is so important is that often they are experts in something else, subject matter experts that can use Drupal to model things that exist in their discipline. They can do that thanks to:

    • data modeling and query builder UIs
    • an ecosystem of extensions for the basic CMS

  3. Making perceived performance part of the features they compete on would be interesting, but they each have different focuses so in reality there’s little competition: they serve different use cases & markets. 


Google Code-In student blog: How to setting up LoLogin Drupal 8 module

Planet Drupal - Sun, 2014/01/05 - 3:23am

LoLogin module was released! It is simple and helpful module for auth users by LinkedIn. LoLogin use OAuth for authentication.
So, go to installation!

Create LinkedIn app

Go to: https://www.linkedin.com/secure/developer . Click "Add New Application" button.

Fill company name, application name(Your site name), application description(your site description), website URL, application use(your site thematic), write you contacts in contact info, mark "r_basicprofile". In OAuth 1.0 Accept Redirect URL write: yoursiteurl.com/llogin and OAuth 1.0 Cancel Redirect URL: yoursiteurl.com/llogin too. Agree with rules and click "Add application".

Application will provide you 4 keys:

Them will be used later.

Install and setting up module

1. Download latest version of "LoLogin" and extract it to modules folder on your site.
2. Go to your website admin panel. Go to "Extend" and select "LoLogin" module to install. Save changes.
3. Go to "Configuration". Find "LinkedIn Authentication" in "Web services" block. Paste Linked in 4 keys here in appropriate fields. Like a in my site:

Click "Save configuration".
4. Go to "Structure". Find in right block "LoLogin"

Click on it. You will see settings form:

You can control: "title", "region"(where module showing) and another like in another modules. We need to make module only for anonymous:

Click "Save". Module setting up finished!

In site pages module will locked south as:


Google Code-In student blog: How to setting up ToLogin Drupal 8 module

Planet Drupal - Sun, 2014/01/05 - 12:50am

ToLogin module was released! It is simple and helpful module for auth users by twitter. ToLogin use OAuth for authentication.
So, go to installation!

Create twitter app

At start go to https://dev.twitter.com/apps. Click "create new application".

You will be redirected to form:

Invent name for application and enter them at "Name" field. At description write about your site. In website field paste your site url. And "Callback url" need be: YOUR_SITE_ULR/tlogin. Agree rules, fill captha and click "Create your Twitter application".
And your site application will be created:

Click "Create my access token":

Twitter will generate 2 keys for access token. At all you will have 4 keys: "Consumer key", "Consumer secret", "Access token", "Access token secret" . This keys you will paste in ToLogin module on your site later.

Installation module on your site

ToLogin installation is simple:

1. Download latest version of this module. Unarchive it and move folder "ToLogin" to YOUR_WEBSITE_ROOT/modules.

2. Go to administration panel. Go to "Extend". Find ToLogin module in modules list in package "CUSTOM". Mark by tick it.

And click "Save configuration" in page bottom.

3.Go to "Configuration". Find "WEB SERVICES" and click "Twitter Authentication"

You will be goes to ToLogin Settings.

Fill fields from values from twitter app.
"Consumer key"=>"Twitter client ID"
"Consumer secret"=>"Twitter client secret"
"Access token"=>"Twitter client token"
"Access token secret"=>"Twitter client token secret"
I fill them thus:

Click "Save configuration"

4.Go to "Structure". Find "ToLogin" block in right menu. Click "Twitter authentication"

You will see form:

You can change or hide title, select region, where module will be displayed.
Select "Roles" and select only anonymous users.

Its module only for non logined(anonymous) users.
Click "Save block" and module ready to work!

Module looks like thus:

User need to click on link, wait 2 seconds and he will be logined!


Bert Boerland: DropCamp NL, Bring Your Own Tent

Planet Drupal - Sat, 2014/01/04 - 4:31pm

With 179 days to go, it is time to give some airtime to Dropcamp.nl. According to the website DropCamp (good name, the funny domainname dropcamp.us even better :-) ) is:

Organised by veterans of the Drupal community, DropCamp welcomes you to the city of Enschede for a weekend filled with Drupal like you have never experienced before. We will come together in the first weekend of July to teach, learn, and do business about Drupal in a relaxing and social setting. The DropCamp village will be a place where you will breakfast with hardcore Drupalistas, find business opportunities, and share ideas and drinks with newcomers.

A camp hosted at the University of Enschede, close to Germany and 100 days before DrupalCon Amsterdam an ideal place to nerd around and have some fun. Be sure to checkout Dropcamp on facebook and twitter, signup for the newsletter and maybe some people will come to the event by bike. Like the "come to DrupalCon Amsterdam by bike Tour de Drupal movement. So bring your own drush and tent and have fun.


Frederic Marand: PSR-4, really ?

Planet Drupal - Sat, 2014/01/04 - 12:24pm

Yesterday, Seldaek committed PSR-4 support to Composer, as his New Year's Day gift to the PHP community.

So, since I always supported PSR-4 in FIG discussions, and after the tl;dr discussion about it regarding autoloading in Drupal 8, I jumped on the occasion and converted the code base for PlusVite to PSR-4 to get an idea of how PSR-4 "felt" in practice.

read more


Ben's SEO Blog: How to Market with Video in Drupal

Planet Drupal - Fri, 2014/01/03 - 11:55pm

You’ve created a great video to market your business’ products or services, and you know it’s really something special. How can you get Google to take note of your video and start displaying it in the SERPs?

SEO optimizing videos actually isn’t all that difficult— in fact, you do it the same way you optimize text or any other page on your website. Here are a few easy steps for optimizing your video to catch Google’s (and your audience’s) attention.

1. Upload it to YouTube.

While Vimeo is a great platform for videos, YouTube belongs to Google, and we’ve seen that Google tends to promote content hosted through its own services before it promotes content posted elsewhere. Putting your content on YouTube will make it much more likely it’s indexed by Google, and displayed in the search results.

2. Build a landing page on your site for the video.

With Drupal, this is incredibly easy— simply go to Content > Add Content > Basic Page, and build out a landing page for your video. Include keyword-optimized links to blog posts, your contact page, and information about your company’s products and services to maximize the chance that you get conversions off of the video. Then, in your WYSIWIG editor, embed the video itself using the “Share” feature that YouTube has. It’s easy!


  • If you're embedding the video into the body of a node directly, be sure to use "Full HTML" filter (or ask your admin to set up the proper filter for you to use).
  • If your site uses https, you can select the “Use HTTPS” option under the embed code or Protip: delete the "http:" from the embed url and Youtube will serve the proper and secure format. In other words, href="//www.youtube.com/embed/yI-i0x8S39c"
3. Optimize that page.

Including title tags, meta tags, and keywords, and making sure that those tags match up the video titles is an easy way to boost your rankings. Write descriptions that incorporate keywords in the order they are listed. NOTE: Video SEO will consume much less of your time if you have a video-friendly content manager— and Drupal has some really great video-friendly modules that we recommend you check out.

4.  Submit a video sitemap through Google Webmaster Tools.

Google knows you’ve got a video, but not what it’s about. Generating or building a site map for each video will tell search engines where the video is (your site), its original location (YouTube) and what it’s about (how awesome you are).

5. Make sure your website has a robots.txt file that includes your XML and video site maps.

We’ve written a bit about this before— having a proper robots.txt file is crucial to even the most basic SEO success. The robots.txt file lets the search engines know what they can and can't index and must be uploaded to the top-level directory of your site (directly after the .com, .net, .org, etc.). For more information on putting together a robots.txt file for Drupal, check out this great post by Ben Finklea.

6. Write out the transcript from the video. 

Search crawlers can’t read the contents of video, so include the transcript of the video so the text can tell the crawlers what the video is about.

And that’s it! Video SEO is easy— especially with the right tools and modules. For help getting your Drupal site set up for SEO, contact us at Volacci, or read our blog for more Drupal marketing tips and trips.

Video can be a great tool in your Drupal Marketing toolkit. Here's how.video seo, Planet Drupal

Blink Reaction: What's on Drupal.org?

Planet Drupal - Fri, 2014/01/03 - 6:38pm

Drupal.org is a critical resource for anyone working with Drupal. However, for the new--and sometimes even for the not-so-new--Drupalist, the sheer scale of Drupal.org can make it intimidating and difficult to use. This post is the first in a collection of posts that will explore Drupal.org, its resources, and how to use them.


Isovera Ideas & Insights: Drupal Thoughts on a Snowy Day

Planet Drupal - Fri, 2014/01/03 - 4:41pm

For those of us in New England, today is a day we are hunkered down in blizzard-like conditions pondering thoughts of the new year and what it has in store.  At Isovera, we continually take cues from our clients to get a feel for how folks are approaching their web strategy for 2014 and beyond. As a Drupal-focused technology firm, we are very excited about what is on the horizon. Here are just some random thoughts about Drupal, etc. (with some possible helpful links from others) that you may or may not find interesting:


Drupal Commerce: Using permissions to allow users to create products

Planet Drupal - Fri, 2014/01/03 - 4:24pm

Today we have another quick screencast answering a question in the Q&A section of drupalcommerce.org. This user, golubovicm, has asked "Edit own products permission" is not working! First off, that's not the best way to phrase a question, but it does happen that a number of people are wondering how to set up a user to create, edit, and delete their own products. So, we've created a quick screencast to walk you through how to set this up.

View the screencast.


Drupalize.Me: Drupal 8: Configuration Management Walk-through

Planet Drupal - Fri, 2014/01/03 - 4:00pm

One thing about Drupal 7 that people have a love-hate relationship with is the Features module. Features attempts to give you the means to export database-stored site settings in code that you can put into version-control and move from server to server. In Drupal 7 using Features, when you want to make a change to your Drupal site configuration, you would need to either update the feature or make sure that setting was in a feature and (re)create it. When deploying, you would revert your Features so that your site settings match what was in code. If only things were that straight-forward!


S1L: LeadPages with Drupal Tutorial

Planet Drupal - Fri, 2014/01/03 - 3:47pm

For those that don't know: LeadPages is awesome landing page creation software. (watch a demo here) It allows you to setup a professional landing page in no time, so you can get real results in no time! Signup here if you don't have an account yet (you need one for this tutorial).

LeadPage module for Drupal
At the time of this writing there isn't a Drupal module for LeadPages available yet.

But there is a way to have LeadPages pages on your Drupal website, your own domain! :)
It's not as pretty as a Drupal module for LeadPages would be, but it allows you to act now, to implement and get results. <--- can be very valuable :D

1 - Get LeadPages

First: create a LeadPages account by clicking this link

2 - Download and enable these modules

Next, download and enable these modules:


(I'm assuming you already have your Drupal site up and running)

3 - Create a landing page content type

In your Drupal admin page go to Structure -> Content Types and click 'Add Content type' (or go to example.com/admin/structure/types/add)

Name it 'Landing page' and setup your content type as you see fit and save.

4 - Configure 'Landing page' as Static Page

go to Configuration -> Config static page (located at example.com/admin/config/content/static_page)

and check the box before 'Landing page' and save.

5 - Configure a 'No filter' text format

Use with caution. Allow this filter for trusted roles only.

Go to Configuration -> Text formats and click 'Add text format' (located at admin/config/content/formats/add)

Name it 'No filter' and make sure only 'administrator' is checked. Click 'Save configuration'.

6 - Set 'No filter' text format for the Landing page body field

Edit the body field of the 'Landing page' content type.

Check the box before 'Limit allowed text formats' and select 'No filter' as the only option. 

And click 'save settings'.

7 - Get the source code of your Leadpages page

After creating a page in your LeadPages account, publish it with the settings selected below:

When you click 'Download HTML' you'll get a .html file. Open that with a text editor. You'll need it's source code.

8 - Create content and paste the source code

In your Drupal admin go to Content -> Add content, and click 'Landing page'.

Enter a title, and paste the HTML source code from step 7 into the body field.

Click save. 

You'll be taken to the content on your page for example example.com/node/3

Enter that into a browser where you're not logged into the Drupal admin and there you have it:

your LeadPages landing page on your own Drupal domain!

Bonus: the page will update on your domain if you edit it from your LeadPages account!

P.S. - Drupal Module for Leadpages

Make sure to upvote and comment on the feature request about the Drupal module for LeadPages here: https://support.leadpages.net/entries/23003809-Drupal-7-module-for-LeadPages

Category: Drupal Planet

Gábor Hojtsy: Five good reasons to register for Drupal Dev Days Szeged now!

Planet Drupal - Fri, 2014/01/03 - 2:29pm

As you may have heard, Drupal Dev Days is going back to DrupalCon Europe 2008's host town Szeged, Hungary on March 24th to 30th, 2014! This is the ideal place for Drupal Dev Days, a whole week of sprinting with learning and participation opportunities plenty on Drupal coding and all the related technologies involved. Here are five good reasons to register for this event now:

  1. It is the biggest distraction-free sprint to work out remaining issues in Drupal 8 in the whole year. The sprint runs from Monday morning to Sunday night. Szeged wants to provide enough but also be out of your way to be awesome! For example, we booked the same venue up until midnight each day.
  2. We believe it is essential for a successful core sprint to have core committers on location. Szeged will have Alex Pott and Nathaniel Catchpole with Angie Byron supporting from home while we sleep. If you are a core developer in any capacity, having these two great leads directly at the same place is an amazing opportunity.
  3. Of course there is no requirement to be a core developer to attend! If you want to join the list of almost 1800 Drupal 8 developers though, Drupalize.me is flying in Joe Shindelar and Amber Himes to deliver the Community Tools Workshop to get you on board with all the tools and processes used in Drupal core and contributed module/theme development. Great new skill to have under your sleeves in 2014. There is not much hard about it once you get started.
  4. We are taking the BADCamp/DrupalCon labs concept and provide options for speakers to deliver 2 hour and 4 hour long workshops for a fuller deep-dive on development topics. Even if you don't want to be a developer of Drupal itself in any capacity, there is a good chance that if you earn money with Drupal, you would benefit from some of these deep-dives. This is a unique format that other events don't offer. (Admittedly we are short on submitted sessions so far. If you, yourself would love to deliver such a deep-dive or a regular session, see http://szeged2014.drupaldays.org/program/sessions, submissions close on January 15th (in 12 days)!)
  5. Szeged is a great cozy town! Many of those who have been there in 2008 asked us repeatedly to organise a come-back opportunity. Here it is and it only costs 30 EUR now! See our interview video on Szeged experiences at http://szeged2014.drupaldays.org/community/attendees. You won't regret coming.

With all these great reasons, what are you waiting for? Buy your ticket now at http://szeged2014.drupaldays.org/buy-your-ticket


Lullabot: Consultancy Scrum

Planet Drupal - Fri, 2014/01/03 - 1:30pm

In this episode, Addi is joined by Todd Nienkerk of Four Kitchens and Brian Skowron from Lullabot to discuss "consultancy scrum." We start off by briefly explaining what scrum and agile are, and then dive into the lessons learned about using this methodology in a client/vendor relationship, versus a completely internal product team.


Mark Shropshire: Charlotte Drupal Drive-in - Feb 22nd

Planet Drupal - Fri, 2014/01/03 - 1:27pm

The CharDUG (Charlotte Drupal User Group) is hosting the Charlotte Drupal Drive-in on February 22nd at Classic Graphics in Charlotte, North Carolina.

What is a Drupal Drive-in? The idea is to have an un-conference-style one day event where attendees have the opportunity to propose topics for group discussions to fully prepared presentations. Each attendee will get to vote on the topics presented during the event.

If you want to learn more about the concepts and inspirations behind Drupal drive-in type events, check out the recent DrupalEasy podcast 119. Our very own Thomas Lattimore discusses his concept behind the Charlotte Drupal Drive-in event.

Whether you have a topic idea for the drive-in or not, you are invited to register today!.

I am really looking forward to seeing old Drupal friends and meeting new ones at the event. It will be a blast.

Blog Category: 

Tyler Frankenstein: Build a Pebble Application to Record a Geo Position in Drupal

Planet Drupal - Fri, 2014/01/03 - 2:32am

This tutorial describes how to build a Pebble "smart watch" application for a Drupal website using the PebbleKit Javascript Framework.

The application itself will be fairly simple. It will wait for you to click the "Select" button on the Pebble watch. Once the button is clicked, the app will grab your current latitude and longitude coordinates. It will then use the Services module to create an Article node and save the coordinates onto a Geofield on your Drupal site.

Let's get started!


Drupal.org frontpage posts for the Drupal planet: Drupal 7.25 released

Planet Drupal - Fri, 2014/01/03 - 1:48am

Drupal 7.25, a maintenance release with numerous bug fixes (no security fixes) is now available for download. See the Drupal 7.25 release notes for a full listing.

Download Drupal 7.25

Upgrading your existing Drupal 7 sites is recommended. There are no major new features in this release. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement.

Security information

We have a security announcement mailing list and a history of all security advisories, as well as an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 7 includes the built-in Update Manager module, which informs you about important updates to your modules and themes.

There are no security fixes in this release of Drupal core.

Bug reports

Drupal 7.x is being maintained, so given enough bug fixes (not just bug reports), more maintenance releases will be made available, according to our monthly release cycle.


Drupal 7.25 contains bug fixes and small API/feature improvements only. The full list of changes between the 7.24 and 7.25 releases can be found by reading the 7.25 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Update notes

See the 7.25 release notes for details on important changes in this release.

Known issues


Front page news: Planet DrupalDrupal version: Drupal 7.x

Acquia: 2013 Greatest Hits – "PHP is as secure as any other major language" – Anthony Ferrara

Planet Drupal - Thu, 2014/01/02 - 4:14pm

I met Anthony, aka @ircmaxell, for the first time at the PHP BeNeLux conference in early 2013. He was among the first people I spoke with on mic about PHP. Our conversation about PHP being secure was one of the seeds that grew into the "Power of PHP" series on Acquia.com, though you'll notice we were still calling it "PHP Myths" at the time. The series will be continuing in 2014, stay tuned to the Acquia podcast and the Acquia blog for more!



Subscribe to build2be/com/e aggregator