Dries Buytaert: BigPipe, no longer just for the top 50 websites

Planet Drupal - Fri, 2015/11/27 - 4:27pm

One thing that is exciting to me, is how much we appear to have gotten right in Drupal 8. The other day, for example, I stumbled upon a recent article from the LinkedIn Engineering team describing how they completely changed how their homepage is built. Their primary engineering objective was to deliver the fastest page load time possible, and one of the crucial ingredients was Facebook's BigPipe.

I discussed BigPipe on my blog before: first when I wrote about making Drupal 8 fly and later when I wrote about decoupled Drupal. Since then, Drupal 8 shipped with BigPipe support.

When a very high-profile, very high-traffic, highly personalized site like LinkedIn uses the same technique as Drupal 8, that solidifies my belief in Drupal 8.

LinkedIn supports both server-side and client-side rendering. While Drupal 8 does server-side rendering, we're still missing explicit support for client-side rendering. The advantage of client-side rendering versus server-side rendering is debatable. I've touched upon it in my blog post on progressive decoupling, but I'll address the topic of client-side rendering in a future blog post.

However, there is also something LinkedIn could learn from Drupal! Every component of a LinkedIn page that should be delivered via BigPipe needs to write BigPipe-specific code which is prone to errors and requires all engineers to be familiar with BigPipe. Drupal 8 on the other hand has a level of abstraction that allows BigPipe to work without the need for BigPipe-specific code. Thanks to Drupal's higher-level API, Drupal module developers don't have to understand BigPipe: Drupal 8 knows what page components are poorly cacheable or not cacheable at all, and what page components are renderable in isolation, and uses that information to automatically optimizes the delivery of page components using BigPipe.

Drupal's BigPipe support will benefit websites small and large. But it is exciting to see Drupal support the advanced techniques that were previously only within reach of the top 50 most visited sites of the world!


Wunderkraut blog: My work here is done

Planet Drupal - Fri, 2015/11/27 - 2:56pm

For the past six years I've run a company that takes good care of it's employees, has happy customers and has financials for sustainable profitable growth. Wunderkraut has grown approximately 1000% organically during the past five years and on top of this we've done mergers and acquisitions. Today the company is closer to 200 people and hundreds of happy customers all over Europe.

The future looks bright at the moment. All of our core digital markets in Europe look great, Drupal 8 is finally out, hiring is relatively easy and we've managed to grow even in the challenging markets of 2015. The company is in good shape to continue steady growth for the future years. I've often said that the job of a CEO is to make sure he or she is not needed. My work here is done, everything works without me. This is the perfect moment for me to consider new challenges. Wunderkraut will continue operating as a network of independent and cross functional teams working together to reach common goals. This structure makes the company very resilient and innovative, it combines many benefits of smaller startups with the scale of a larger company. It’s truly self organising, the company really doesn’t need a CEO at this point. This means I'm able to take a look at new opportunities for the first time in a long time: Get more involved with startups, help professional services organisations to improve, help large organisations adopt agile management and improve their digital offerings, and so on. I'm excited to have the opportunity to take the lessons learned in the past 20 years in the digital industry and put them to good use at a different setting. My future plans are still mostly open at this point, 2016 will be a great year to both myself and Wunderkraut!

Midwestern Mac, LLC: Upgrade an Apache Solr Search index from 1.4 to 3.6 (and later versions)

Planet Drupal - Fri, 2015/11/27 - 6:37am

Recently I had to upgrade someone's Apache Solr installation from 1.4 to 5.x (the current latest version), and for the most part, a Solr upgrade is straightforward, especially if you're doing it for a Drupal site that uses the Search API or Solr Search modules, as the solr configuration files are already upgraded for you (you just need to switch them out when you do the upgrade, making any necessary customizations).

However, I ran into the following error when I tried loading the core running Apache Solr 4.x or 5.x:

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: org.apache.lucene.index.IndexFormatTooOldException: Format version is not supported (resource: MMapIndexInput(path="/var/solr/cores/[corename]/data/spellchecker2/_1m.cfx") [slice=_1m.fdx]): 1 (needs to be between 2 and 3). This version of Lucene only supports indexes created with release 3.0 and later.

PreviousNext: High Availability Drupal 8 on Microsoft Azure

Planet Drupal - Thu, 2015/11/26 - 10:39pm

In this blog post we will take you though all the components required to provision a high availability Drupal 8 stack on Microsoft Azure. This is an extract from the demonstration given at Microsoft Ignite on the Gold Coast in November 2015.


Drupal 8 Rules: Drupal 8 Rules M2 planned for March 2016

Planet Drupal - Thu, 2015/11/26 - 2:03pm

The #d8rules team is excited to welcome Acquia to our list of supporters. With their generous support of fully funding milestone 2, fago & klausi can plan dedicated time over the next months to focus on getting the MVP of Rules for Drupal 8 done.

Since finishing milestone 1 and DrupalCon Barcelona, we are basically in a developer preview state. The basic APIs of Rules 8 are pretty stable already, enabling contributed module porters starting work on their integrations.

Milestone 2

Milestone 2 now is all about getting a useable product to developers & end users of Drupal 8.

See what's planned for M2:

  • Completing Rules engine features (Metadata assertions, logging service)

  • Rules plug-ins part two (Events, Loops, caching,  components API)

  • Configuration management system support (config entity, CMI support, integrity checks & config schema)

  • Generic rules integrations (Typed data & entity support)

  • Entity token support

  • Basically usable UI (Nothing fancy yet)
  • Basic API for embedding condition and action forms

The estimated, remaining 316 hours for M2 are fully funded by Acquia, drunomics and epiqo. Acquia is putting € 14.220,- in to help us work continuously over the next months. drunomics & epiqo are providing 50 % by a lowered rate of € 45 for fago and klausi to work on #d8rules during office hours.

We are expecting a release for M2 for beginning of March, 2016. This should allow the 25 % Drupal 7 sites which use the Rules module to start building for Drupal 8. Of course, we are also looking forward to see new adapters making use of flexible, UI-driven workflows.

Thanks again for everybody helping speeding up our work of porting Rules to Drupal 8. If you'd like to help out getting funding secured for Milestone 3, let's get in contact.


OpenLucius: 18 Cool Drupal modules for site builders | November 2015

Planet Drupal - Thu, 2015/11/26 - 11:16am

So.... Drupal 8 got released! Congrats everybody! The end of life of Drupal 6 is then final. In addition, the 16th of november it was announced that Drupal.org is now serving its content and files via Fastly; which is giving a significant performance boost, well done!

Furthermore, what I noticed last month on module updates:

1) Scroll to destination anchors

Realityloop: DrupalCampMelbourne; 2015 and the future

Planet Drupal - Thu, 2015/11/26 - 12:25am
26 Nov Stuart Clark

This is the second year that DrupalCampMelbourne has been run in it’s current form, and it’s expected to be just as much fun as it was last year, but maybe just a bit bigger.

DrupalCampMelbourne is a two day event, with one day of sessions and one day of code sprints, but the way it’s run is a little bit unique (as far as we know). Unlike a conventional Conference or Camp, the scheduling is 100% determined by the attendees on the day.


How does that work you ask?

It’s relatively simple:

  1. First thing Friday morning all attendees get the opportunity to do a short lightning talk explaining the topic they wish to cover.
  2. During the lightning talks, all attendees will vote on the sessions they wish to see.
  3. Finally, after all lightning talks and voting is complete, the DrupalCampMelbourne website auto-magically builds the schedule based off the votes, number of sessions and room sizes.

We ran this approach for the first time last year and it worked superbly, and with a little tweaking to the algorithm this year we expect it to be just as good, if not better.

The major benefits of this approach are:

  1. Everyone gets an opportunity to have their say, both in submitting a session and in voting on what they’d like to see.
  2. No “committee” or “track chairs” are required to vet every talk and make the final decisions, reducing the organisational time of the event.
  3. SkyNet is one step closer to taking hold of us all… oh wait.


So if you are coming (you are coming right?), make sure to get their early and have your say. And remember, everyone has something worth saying and worth hearing, and there’s nowhere better to start than a local community.

There are still some tickets left for the event, so if you haven’t got yours, get it now: http://dcm2015.drupal.org.au


The future (a.k.a, SkyNet?)

The auto-magic scheduling of the talks is but the beginning, just as the day of session is just the beginning of DrupalCampMelbourne.

Day 2 of DrupalCampMelbourne is, as it was last year, a Code Sprint. This year, I will be running a sprint on the future of the DrupalCampMelbourne website in the hopes to make it even better; more autonomous, more usable and also more generic.


More autonomous

The “auto-magic” scheduling feature is a great help for running a DrupalCamp, it helps get Day 1 all sorted with minimal effort, but it’s not the only part that can be automated and improved. A larger portion of the camp itself could be automated.

If, when setting up the next camp, one where to provide the site with the date of the event, the camp could set a schedule for the organisers (when to have venue booked by, when to contact sponsors, etc), it could transition through various states (register your interest, event information, signup, etc), it could manage the budget (venue cost + resource costs - sponsors - tickets = success) and much more.

The possibilities are endless.


More usable

There’s no question that there have been some issues, certain information lacking, not enough communication, and other various management related issues; this is inevitable when the number of volunteers is in the low single digits and the time those volunteers have is equally lacking.

DrupalCampMelbourne is as open source as it can be at the moment, the source code is entirely available on GitHub.com (http://github.com/drupalmel/drupalcampmel) for anyone at all to contribute to. This year I want to push forward and get more people involved, let’s ensure the site is more usable in the future, makes more information available and the site provides the missing communication it needs.


More generic

There is absolutely no reason that this project should be specific to DrupalCampMelbourne, nor even a DrupalCamp at all, it could apply to any type of Camp style event in any locale.

Genericising the existing work and building a new DrupalCamp/Camp Drupal distribution has been a goal from the very start, and with Drupal8 out it’s the best time to do exactly that.


So come along to DrupalCampMelbourne 2015 on Saturday (and Friday) and get involved. This is only one of the various sprints that will be being run during the Code Sprint. And don’t forget, a Code Sprint isn’t just for developers, there’s something for everyone, from novice to professional.

drupal planetdrupalcampmelbournedrupal

Promet Source: Tuning Drupal Site Performance with Load Storm and New Relic

Planet Drupal - Wed, 2015/11/25 - 8:36pm

When load testing, we simulate user interaction with a website, increase the frequency or the number of interactions and collect the results of system usage, then analyze them to aid system improvement towards desired results. The data will prove useful for creating benchmarks of site performance, which can be compared with earlier site's performance if a site is undergoing a migration. 


Drupal core announcements: What's next for core patches after 8.0.0?

Planet Drupal - Wed, 2015/11/25 - 2:03am

Last week, we released Drupal 8.0.0! This amazing milestone signals a new era in Drupal core development, with changes to the changes allowed in patches and a new release cycle with minor versions scheduled every six months.

Now that Drupal 8 is ready for building real sites, with contributed projects already available or being built, the immediate focus for Drupal 8 core will be fixing bugs to help those real sites, as well as fixing any issues in Drupal core that prevent contributed modules from being ported to Drupal 8. Another top priority is stabilizing and completing the core Migrate feature and its user interface, so that existing Drupal 7 and especially Drupal 6 sites can move to Drupal 8 reliably. Finally, a third priority is adding frontend and performance testing to help us make changes more safely. For the next six weeks, we will mainly be committing patches that move us toward these three goals.

Then, after January 6, 2016, we will begin a broader feature development phase for innovations in 8.1.x, 8.2.x, and beyond, so long as we are able to resolve critical issues consistently and keep 8.1.x stable for a reliable scheduled minor release. Read more about the proposed development, beta, and release candidate phases for minor versions.

Drupal 8 core branches and the core issue workflow

Starting today, all patches that are accepted to core according to the priorities above will be committed first to the 8.1.x git branch (even when they are filed against 8.0.x-dev in the core issue queue). Patches that are eligible for patch releases will typically be immediately committed to 8.0.x as well. If we are close to a bugfix release window, the issue may be marked "Patch (to be ported)" and committed just after the bugfix release, to give ample time to catch any regressions or followups before each change is deployed to production sites.

Some patches will only be committed to 8.1.x (for example, if they are too disruptive for a patch release or if they make additions that are only allowed in minor releases). Keep in mind that the open feature development phase for 8.1.x has not started yet, so plan to work on general feature additions and BC-compatible API improvements after it does.

Note that for the time being, patch-release-eligible issues are still filed against 8.0.x-dev in the core issue queue and most 8.1.x issues are still postponed pending the open feature development phase. Later, we will update the core issue metadata and processes as we move into more extensive minor version development.


DrupalCon News: Sessions Announced for DrupalCon Asia

Planet Drupal - Tue, 2015/11/24 - 11:19pm

One of the most exciting aspects of preparing for a DrupalCon is selecting the sessions that will be presented. It’s always incredibly cool and humbling to see all the great ideas that our community comes up with— and they’re all so great that making the official selections is definitely not an easy process! This time, the Track Chairs had almost 350 sessions to read through to determine which 50 would be presented in Mumbai.


Drupal Watchdog: Black Box – White Hat

Planet Drupal - Tue, 2015/11/24 - 7:51pm

Drupal has a pretty secure structure: a small, simple and stable core that can be extended with tons of modules and themes. From Drupal 7’s initial release on January 5, 2011 until now, there were only 17 core security updates, which is quite a small number for a period lasting longer than four years.

But when it comes to third-party modules and themes, the picture is quite different. Although only modules with official releases are reviewed by the security team, or have security announcements issued, the majority of the 11,000+ third-party modules and themes for Drupal 7 get weekly reports for security issues.

And using custom modules is even more dangerous if they are not tested properly. Let’s face it: no one uses Drupal without modules. That’s why I will share with you some of the best open source tools to improve the security of your website.

Knowing your opponent’s moves helps you better prepare your defenses. That’s why we will try to attack with every known-at-the-moment method of testing vulnerability. All the tools I will show are easy to use without any knowledge of the source code. And the best part is, you can use this strategy indefinitely, if you keep these tools up-to-date. Remember: update first, then test.

Being Up-to-Date

I can’t emphasize enough how important it is to keep all your stuff up-to-date, so let’s start with that idea: If one tiny part of your website has a security breach, the whole system is corrupted. That’s why you should check for updates for the core and the modules you are using. There are reports you can find on Drupal’s official page; if you find that there is a security update available, immediately apply it.

Metasploit + Armitage = Hail Mary!

Start with Kali Linux: it's small, and has Metasploit and Armitage pre-installed. Armitage gives you a GUI, exploit recommendations, and use of the advanced features of Metasploit Framework's Meterpreter. (But remember to get updates every time you're about to run tests.)

Then, get an exact clone of the server; same machine, database, structure, OS version, etc.

NOTE: It is not recommended you use this technique on live websites because there is a chance the server will go down.


Pantheon Blog: Update Your Nginx Config for Drupal 8

Planet Drupal - Tue, 2015/11/24 - 7:10pm
If you are still using the same Nginx configuration that you have been for Drupal 7 on your new Drupal 8 install, most things will continue to work; however, depending on the exact directives and expressions you are using, you might notice a few operational problems here and there that cause some minor difficulties.  The good news is that the Drupal configuration recipe in the Nginx documentation has been updated to work with Drupal 8, so if you have a very basic Nginx setup, you can just grab that and you’ll be

a-fro.com: Speed Up Cache Clearing on Drupal 7

Planet Drupal - Tue, 2015/11/24 - 6:33pm
Speed Up Cache Clearing on Drupal 7 Cache clearing nirvana may be two vsets away

tl;dr If your D7 site uses features or has many entity types, some recent patches to the features module and the entity api module may deliver dramatic performance increases when you clear Drupal's cache. The magic:

$ drush vset features_rebuild_on_flush FALSE $ drush vset entity_rebuild_on_flush FALSE aaron Tue, 11/24/2015 - 11:33

.VDMi/Blog: Generating menu items in Drupal 8

Planet Drupal - Tue, 2015/11/24 - 4:02pm
Drupal 8 comes with a new way to generate menu items from code. In Drupal 7 you would do this with "hook_menu()", in Drupal 8 you use a Derivative Plugin.

Mediacurrent: Weather.com Recognized as Acquia Partner Site of the Year

Planet Drupal - Tue, 2015/11/24 - 3:18pm

Last November, Weather.com launched on Drupal and became one of the highest trafficked websites in the world to launch on an open-source content management system (CMS). Today, we're proud to announce that we have been recognized with a 2015 Partner Site of the Year Award