Dries Buytaert: Reaching the next billion with Drupal

Drupal Planet - 3 hours 33 min ago

I feel lucky to be a part of creating and building Drupal. According to BuiltWith, Drupal powers 2.8% of websites in the top 1 million. That translates to 1 out of 35 websites. I've been thinking about what that means in terms of real impact: if any of the 3.2 billion internet users today have visited 35 or more of the top 1 million websites, they've "used" Drupal. I imagine most active internet users have visited more than 35 websites, and as such, Drupal must have "reached" almost everyone on the internet. That is a pretty incredible thought.

I've heard so many amazing stories about how Drupal sites have been a part of cultural, social and political movements. One of the stories that I'll never forget is from the Egyptian uprising in 2011, when the internet shut down for days and people took to the streets in protest of the Mubarak regime. This moment showed the profound impact of the web and the injustice citizens feel when it is taken away. The Drupal site Al Jazeera was an essential news source on this uprising for the rest of the world and remained online despite traffic to its live blog spiking 2,000 percent during the crisis.

Another such story is that of the Global Disaster Preparedness Center (GDPC), whose 189 partner organizations (including the American Red Cross) needed a better way to collaborate on disaster relief issues. GDPC embraced Open Source and built a multilingual Drupal site where disaster preparedness professionals can share information and resources that otherwise wouldn't be available. Considering the recent rise in natural disasters, this information has saved lives.

These two stories show how the web has the power to change lives, fuel economies, educate the masses and make the world much smaller in the best of ways. According to Cisco, Internet traffic in 2019 will be 64 times the volume in 2005. It is expected that another 1.8 billion people could come online by the end of 2018.

Yesterday, we announced the first Drupal 8 release candidate after almost five years of hard work by thousands of people in our community. The road towards Drupal 8 has been long and hard, but I'm excited that Drupal 8 will touch the next billion people who join the internet. They are joining fast. I hope you'll share stories of the impact Drupal has made on your lives as we continue to grow.

Categories: Drupal

Microserve: Why Drupal 8 entering Release Candidate phase matters

Drupal Planet - 5 hours 1 min ago
Why Drupal 8 entering Release Candidate phase mattersOct 8th 2015

We're really excited to see that Drupal 8 has officially passed Beta and entered the Release Candidate phase on schedule.

What does this mean for Drupal 8?

Drupal 8 has been a long-time coming (development started in early 2011!) but a lot has changed in that time. Fortunately the Drupal community has done an admirable job of keeping pace with advances in the web and supporting technologies, and have made numerous improvements over Drupal 7, but this has meant a lot of ongoing churn within Drupal 8's internals.

The Release Candidate phase marks the beginning of guaranteed backwards compatibility between releases, and means that the Drupal 8 community are now focussing on stabilisation and bug-fixes ahead of the official 8.0 launch rather than new features and improvements.

The recent announcement at DrupalCon Barcelona and subsequently meeting their target release date for Drupal 8 RC1 stands to highlight changes within the Drupal 8 roadmap and project planning mechanisms which are taking place throughout the Drupal community and the Drupal Association. This shows just how rapidly Drupal and the Drupal community are growing up to become a truly enterprise-grade system. 

And most importantly of all it means that the wider Drupal community, including agencies, businesses and end-users, are readying for Drupal 8's widespread adoption.

How does this affect Drupal 8 adopters?

The most obvious benefit is for Drupal 8 developers, who can now be confident that when they next update Drupal 8 they won't be caught out having to fix their own custom work or wait for module maintainters to release an update. This will help spur adoption within the community as more and more developers can be confident that their hard work won't be wasted the next time a new version of Drupal 8 is released.

Perhaps less obvious, but arguably more important, is that it means businesses can push forward with adopting Drupal 8 as an enterprise-ready product, without fear of compatibility issues or feature regressions down the line. Now that Drupal 8 is entering the final stabilisation phase you can be confident that this means only bug fixes and incremental improvements - no one is thrashing around under the hood anymore.

What does this mean for Drupal agencies?

We've been working internally with Drupal 8 for a while now, but this latest announcement has triggered a shift in our own perceptions of Drupal 8 from 'cool new toy' to enterprise-ready product.

We're already starting to see growing interest in Drupal 8 amongst our existing customer base and from new business, and only expect this to grow even faster now that Drupal 8 is approaching final release.

You can find more information about Drupal 8's features and benefits in the official release announcement.

If you're interested in a Drupal 8 project or want to know more about how Drupal 8 can help your business, please get in touch.

Written by: Mark Pavlitski, Technical Director

Microserve is a Drupal Agency based in Bristol, UK. We specialise in Drupal Development, Drupal Site Audits and Health Checks, and Drupal Support and Maintenance. Contact us for for further information.

Categories: Drupal

iterate.: Drupal 8 is finally here

Drupal Planet - 5 hours 21 min ago

After what has seemed like an eternal wait, yesterday's announcement that the first release candidate of Drupal 8.0 is ready means that we will be working with a very different Drupal going forward.

Categories: Drupal

Free Energy Media: Drupal or WordPress to iOS/Android Conversion Software

Drupal Planet - 8 hours 29 min ago

Too many websites claim to be able to turn your website into a mobile app but not one of them deliver results as expected, the simple truth is you can’t automate the process, it will always leave something to be desired. Our software couple with custom implementation can turn your Drupal or WordPress website into a mobile feeling app. With native login functionality the user does not need to repeatedly login to the app giving the illusion of a 100% native mobile app from a website that lies behind a login.   After logging in once the user simply clicks the homescreen icon and will be taken to the authenticated/logged in website area. All viewed from within a native iOS or Android wrapper. Custom offline messages and native navigation can all be implemented out of the box with our software. The overall time to implement the basic service for your app is $3000, the source code is yours forever with no annual fees, and you publish directly from your developer account. This services service will get you better results than an automated do-it-yourself platform,and also authentication and login which platforms like Appresser can’t do. To convert a a website/webapp the one click homescreen icon app experience.  The API currently exists for Drupal 6 or Drupal 7 sites. App software is written in both native iOS (Objective C) and Android (Java) code.

Sign up using your email or Facebook SDK, the app communicates via REST to your website.

Choose to sign in with Facebook once and then sign in automatically by clicking your homescreen icon.

App gets added to homescreen and login via one click.

Preloader provides instant touch feedback for a native feel.

Custom offline message instead of web browser “page not found”.

Turn any responsive website into an app.

Categories: Drupal

OhTheHugeManatee: Drupal 8 RC 1 Is Out! What Now?

Drupal Planet - 8 hours 29 min ago

Last night (my time) I got the good news over twitter:

Blue smoke from the chimney, I repeat blue smoke from the chimney! #Drupal8 release candidate 1 has been released! Good day for #Drupal!

— Marc Drummond (@MarcDrummond) October 7, 2015

That’s right, Drupal 8 has it’s first release. But what does that mean? Is it done? Can I start using it yet? What kind of changes are coming? Will dawehner get to sleep, at last?

Are we there yet?

Despite all the rejoicing on social media, this isn’t the final release for Drupal 8 – it’s only the first Release Candidate. This means that we have (officially!) 0 “critical” bugs left to fix in Drupal 8. That means exactly what it sounds like: there are no critical, world-ending bugs left… that we know of. Just like any software product, we’ll continue to discover critical issues through its entire life cycle. We’re still finding occasional critical issues in Drupal 7 almost five years since its first release candidate; that’s just a part of supporting a piece of software over the long term. The RC phase means that while Drupal 8 is stable enough to use, we’re still discovering critical bugs a little too frequently to recommend it for everyone, in every use case.

“A little too frequently” means that the rate of critical bugs incoming is still too high to be able to promise the fast respond-and-fix turnaround that we want. Every two weeks we’ll create a new Release Candidate version that fixes whatever new criticals have been discovered. Once the core team is confident that they can squash bugs in a timely enough manner, they’ll (finally) release Drupal version 8.0.0.

But when will it REALLY be released?

“When it’s ready” still applies! But we are very, very close now. To give you a point of reference, Drupal 7 went through four Release Candidates before release (two months). That codebase was a lot more fragile than this one, so it’s reasonable to hope that we’ll have a very Drupally Christmas season this year. Personally I’m betting on January.

Can I use it yet?

Yes! Some terms and conditions apply.

Just because there are no criticals left, doesn’t mean that D8 is completely bug-free! We have a big pile of known “major” issues that have been deferred until after 8.0.0, which should impact your decision. You can see at that link that some of them are already ready to be committed. The catch is that during the RC phase, we aren’t allowed to commit these fixes. We’re basically only allowed to work on criticals and documentation. So there are still some serious issues that might be a problem in some use cases.

The biggest issue (that I know of) is a potential incompatibility between Drupal 8’s new “cache tags” header and some hosting providers. The problem is that Drupal includes some important caching information on the “back of the envelope” of its response to a page request, and it’s possible to run out of envelope! If the cache tags header gets too long for the web host to handle, it can behave unpredictably. You might get white screens of death, or it might just shorten the cache tags header, removing important information. There’s a solution in the works to allow a maximum length setting, but it won’t make it in until 8.0.1 (two weeks after 8.0.0). In the meantime you should avoid D8 if you have any very complex pages with many elements. The examples in that ticket are good ones: a news site with very complex layouts, or a single page site with a lot of “stuff” crammed onto the one, front page.

The other “gotcha” to bear in mind is that it will take some time for Drupal’s contributed modules ecosystem to catch up with the new version. According to Bluespark’s status of the top 100 modules for D8 page, so far only 9 of the top 100 D7 modules have a D8 release marked “stable.” 19 of those top 100 modules are included in D8 core however, so our total count is up to 28. This is enough to give a good foundation for relatively simple sites, especially if you have some PHP skills under your belt. But I wouldn’t go building a complex Intranet on it just yet!

Wait, so it’s still busted?

No! Drupal 8 is a solid platform for most use cases – that’s the point of the RC release! It’s time to go ahead and use it for site builds. Just take it easy and use it for simple sites, first. Give the rest of the community a chance to release stable modules, and hold off on that Facebook-buster behemoth website you’ve got planned until a few months after launch.

What happens after 8.0.0?

After 8.0.0 is released, we will make an enormous, fundamental shift in how Drupal is developed. We will start using semantic versioning with a regular release schedule. Every two weeks we’ll release a new “patch level’ release: 8.0.1, 8.0.2, and so on. Patch level releases will be bug fixes only, and will be backwards-compatible – that means they won’t break anything on your site. Approximately every 6 months, we’ll release a new “minor level” release: 8.1.0, 8.2.0, etc. Minor releases are allowed to contain new features, but they are still guaranteed to be backwards-compatible. So even these releases won’t break anything on your site. We’re still figuring out the exact process for minor releases, but they will include similar phases to what we’ve seen with D8 core: a beta phase, and release candidates until we’re sure there are no more criticals.

What about API changes, and features that would break existing sites? We won’t even start developing on those until well into the D8 life cycle. Those changes will belong in the 9.x branch, and will be kept completely separate from anything that could touch your site.

The key take-away here is that D8 updates should never break your site. They may add features, but they will not interfere with whatever you’ve already built. We’ll continue a regular pace of improving the product in a predictable, scheduled, and backwards-compatible way.

Where are the best Drupal 8 release parties?

The Drupal Association is coordinating promotion for official Drupal 8 launch parties. If you want to host one, just fill out their form and they’ll help you promote it! So far no one has built a site mapping the parties, but keep an eye out in the #drupal hashtag on twitter!

Who do I congratulate? Who do I thank?

Drupal 8 RC 1 is the combined effort of more than 3200 contributors. That is an incredible number. By comparison, Apache, the world’s most popular open source webserver, has 118 contributors. MySQL, the database platform which runs an enormous portion of the Internet, has 1320 contributors. So you can basically walk up to anyone at a Drupalcon and thank him or her!

Most of the contributors to Drupal 8 leaned on the support, training, and hand-holding of mentors at Drupal events all over the world. I know I needed a mentor for my first core contributions, and I got to turn around and mentor other people myself. The mentors are the support network that made this level of mass contribution possible.

But the level of effort is definitely not evenly distributed. Most contributors have made fewer than 20 registered contributions. But some people have really gone above and beyond what anyone would expect. It’s no exaggeration to say that these people have shaped the future of the Internet.

It is easy to concentrate on the number of contributions as the only metric of involvement in the release of D8. But some of the biggest influences on Drupal 8 have been community leaders, whose effort is not counted in commits under their own names. The initiative leads who architected and directed all this contribution: heyrocker, Senpai, jlambert, Crell, dmitrig01, Gábor Hojtsy, Jose Reyero, mitchell, jenlampton, bleen18, jackalope, ericduran, jhood, jacine, shyamala, rupl, JohnAlbin, twom, and sofiya. Without them, we would have had nothing to commit!

Listing all of those names brings to mind the platform that they all use to contribute and coordinate: drupal.org, maintained by the Drupal Association. It also brings to mind the events, like Drupalcon, Drupalcamps, Dev Days, which everyone attends to collaborate, teach, and learn; also maintained by the Drupal Association. Not to mention the Drupal 8 Accelerate program, which raised $250,000 towards developer grants; also created and maintained by the Drupal Association. The people at the Association have worked tirelessly to support this release.

All of this developer time is extremely valuable, and not all of it came out of the developers’ own free time. Huge swaths of Drupal 8 development have been sponsored by the companies that participate in the community. We’ve only been tracking their contributions for a short time, but the information we have is powerful. This release would not have happened without the developer time donated by companies like Acquia, MD Systems, Chapter Three, Tag1, and Druid. A quick glance at Drupal.org’s Drupal Services page shows us that contribution is a normal part of the culture for the biggest Drupal companies. These were the top 5, but almost every major Drupal shop has contributed in some measure. Thank you to these companies for believing in our product and supporting it so generously.

Finally, the people who bear the greatest personal responsibility are definitely the core maintainers. These people don’t just deserve your thanks; they deserve lifetime supplies of free beer sent to their homes. I can’t offer that on a blog; all I can say is THANK YOU.

Alex Bronstein

Dries Buytaert

Angie “webchick” Byron

Nat Catchpole

Jess Myrbo

Alex Pott

To everyone who contributed, but especially the people I’ve listed here: You’ve made a new generation of Internet innovation possible. Thank you.

Categories: Drupal

Drupal @ Penn State: Another month of camps!

Drupal Planet - 11 hours 58 min ago

Before I say anything… DRUPAL 8 IS RC1!!! Great work to all the contributors that poured themselves into it to get it “done when it’s ready”. It’s looking like a really solid platform to build on down the road. Now..

Categories: Drupal

Realityloop: Programmatically attach files to a node in Drupal 8

Drupal Planet - 12 hours 17 min ago
8 Oct Stuart Clark

If you're a Drupal developer, there's a good chance that at some point you've done a search for "Programmatically attach files to a node in Drupal 7" or similar. I know I've done the search repeatedly, as while it's a common enough task it involves just a bit too much code to not be retained by my long term memory.

Now that Drupal 8 is upon us adding a file to a node (or any entity) is far easier. I'm not going to do a comparison, however, as I don't want to confuse anyone who stumbles onto this post with the intent of simply copying and pasting the below code snippet, so you'll just have to take my word for it.


So, straight to the point, this is all it takes to programmatically attach a file to a file field on a Node:

  1. use \Drupal\node\Entity\Node;
  3. // Create file object from remote URL.
  4. $data = file_get_contents('https://www.drupal.org/files/druplicon.small_.png');
  5. $file = file_save_data($data, 'public://druplicon.png', FILE_EXISTS_REPLACE);
  7. // Create node object with attached file.
  8. $node = Node::create([
  9. 'type' => 'article',
  10. 'title' => 'Druplicon test',
  11. 'field_image' => [
  12. 'target_id' => $file->id(),
  13. ],
  14. ]);
  15. $node->save();

In the above example we are taking a remote file and saving it locally, which is probably the most commonly used case when programmatically adding a file to a node.


What if the file is already present in your local file system and you want to attach it to an existing node? Here's an example for that too:

  1. use \Drupal\node\Entity\Node;
  2. use \Drupal\file\Entity\File;
  4. // Create file object from a locally copied file.
  5. $uri = file_unmanaged_copy('public://source.jpg', 'public://destination.jpg', FILE_EXISTS_REPLACE);
  6. $file = File::Create([
  7. 'uri' => $uri,
  8. ]);
  9. $file->save();
  11. // Load existing node and attach file.
  12. $node = Node::load(1);
  13. $node->field_image->setValue([
  14. 'target_id' => $file->id(),
  15. ]);
  16. $node->save();


And lastly, what if you want to stick a placeholder file to a node? Thanks to Drupal 8, this is too easy:

  1. use \Drupal\node\Entity\Node;
  3. $node = Node::create([
  4. 'type' => 'article',
  5. 'title' => 'Generated image test',
  6. ]);
  7. $node->field_image->generateSampleItems();
  8. $node->save();


So get to it, programmatically attach files to your nodes and be merry!

drupaldrupal 8drupal planet
Categories: Drupal

VM(doh): 3 Reasons Why Yoast SEO is Great for Drupal

Drupal Planet - Wed, 2015-10-07 23:58

Yoast SEO, known for its powerful features as a must-have Wordpress plugin, has released a Drupal module. This move has surprised many in the industry, but for Drupal users it is wonderful news.

As Softpedia.com observed: "...the Drupal module will be a complete rewrite of the WordPress plugin, molding on the fine edges that make the Drupal CMS so powerful, and will also feature Yoast's Real-time Content Analysis platform."

Here are a few others reasons why this is such good news for Drupal users:

Yoast is Very Good at Simplifying SEO

Yoast earned a reputation for analyzing the tediously complex tasks of SEO and reducing them into simple steps for the website owner. It made life easier for everyone.

The Yoast SEO project page on Drupal.org sums up the new Yoast SEO module this way:

This module checks simple things you're bound to forget. It checks, for instance, whether your posts are long enough, if you've written a meta description and if that meta description contains your focus keyword, if you've used any subheadings within your post, etc. etc.

It ensures you've actually chosen a focus keyword for each article and ensures you're using it.

(Side-note: in the Drupal announcement linked above, it says Yoast makes sure you're "using [your focus keyword] everywhere." That shouldn't mean, however, that you should engage in keyword stuffing. That doesn't work anymore. The new Google algorithm knows when you're trying to stuff keywords and penalizes you for it. Remember, the name of the game is now Search Experience Optimization, not Search Engine Optimization. Write for the experience of the reader, not for the search engine robots. Don't make your posts awkward and hard to read by over-filling them with keywords.)

It's Coming Just in Time for Drupal 8

After the DrupalCon 2015 conference in Barcelona, Spain, the Yoast SEO module became available for Drupal 7.x. Hopefully this means that Yoast is already working on or at least planning its Drupal 8 version. That would be perfect timing for Drupal users: not only would they be getting a new Drupal version soon, but they would have a new world class SEO module to go with it.

It's Also Bringing GoalGorilla Into the Mix

Yoast has found a friend in GoalGorilla, an award-winning Dutch company that uses a variety of powerful design and analytic tools to help you learn more about your users. As their humorous landing page says in its English translation, "you've never been so close to your users." GoalGorilla was a #1 winner at the DIA (Dutch Interactive Awards). Their involvement in Yoast SEO for Drupal is definitely a good thing.

A Few Final Thoughts on the Benefits of Yoast SEO

If Yoast SEO for Drupal turns out as good as its Wordpress version, we can expect it to work similar feats of magic, such as these features:

  • Handles pinging for you by sending up-to-date sitemaps to the search engines. This enables search engines to add your content more quickly.
  • Allows you to write two headlines, one for search engines and one for your visitors, thus ensuring your articles are optimized for the user's search experience while also feeding search engines great keywords in the headline.
  • Reminds you if you need to fix a post url, slug, or other element that's hurting your SEO.
  • Allows you to add page redirects when old posts are getting a ton of traffic but you'd prefer the traffic goes to a newer, updated post.
  • Fixes incorrect links from other sites. If someone mangles the URL for your page, Yoast has a way of fixing it and getting the visitor to clean permalinks.
  • Hopefully the features listed above, and the many other perks of the popular Wordpress plugin, will find its way into Drupal.

Subscribe to our newsletter for more helpful tips about Drupal that can help you achieve your business objectives.

Categories: Drupal

Mediacurrent: Drupal 8 RC1 is here!

Drupal Planet - Wed, 2015-10-07 23:48

Today, the Drupal community has officially released the first release candidate of Drupal 8, with the final release imminent. This is a historic day for Drupal, the open-source content management system that powers your website as well as millions of other web properties in the world.  This release has been 4+ years in the making, had 3000+ code contributors, and represents a huge opportunity for you. We believe your presence on the web is the single greatest marketing tool that exists within your organization.

Categories: Drupal

Mediacurrent: Drupal 8 RC1 is here!

Drupal Planet - Wed, 2015-10-07 23:48

Today, the Drupal community has officially released the first release candidate of Drupal 8, with the final release imminent. This is a historic day for Drupal, the open-source content management system that powers your website as well as millions of other web properties in the world.  This release has been 4+ years in the making, had 3000+ code contributors, and represents a huge opportunity for you. We believe your presence on the web is the single greatest marketing tool that exists within your organization.

Categories: Drupal

Dries Buytaert: First Drupal 8 Release Candidate available

Drupal Planet - Wed, 2015-10-07 23:39

Today, we announce Drupal 8.0.0 RC1, the first Drupal 8 release candidate. It's a very exciting milestone, and one that has taken a lot of hard work, long nights, weekends, and extreme commitment from our community. I appreciate the dedication of everyone involved, and understand what it takes to give up personal time in pursuit of building something greater. So, for that I want to thank you.

In total, Drupal 8 has had more than 3,200 contributors and 15,000 committed patches. The good news is, we've finally reached the day when Drupal 8 has hit zero release-blocking bugs and is ready for takeoff!

Historically, the adoption of Drupal has roughly doubled with each new release. We expect no different from Drupal 8, a release I believe positions Drupal most strongly for the future. We've undergone some big architectural changes to get more people using Drupal, and to prepare ourselves for the future. I can't wait to see what the community does with Drupal 8. It's time to start building!

Categories: Drupal

Drupal Association News: Drupal 8 release candidate: available now

Drupal Planet - Wed, 2015-10-07 21:52

Drupal 8 is now available as a release candidate (RC). An RC is like a sneak preview you can use. It's not a final release—that’s coming soon, and there may be another release candidate before then. But its code and interface should feel stable now. You can install it, start designing for it, create and build with it, and extend and improve it. That means you can start putting Drupal 8's more than 200 new features and improvements to work today.

Get Drupal 8 RC1

A first look at Drupal 8's features

With Drupal 8, the world's best content management framework just got better. Every built-in theme is responsive. Every single component is translatable out of the box. More elements have configurable fields and there are new field types for better content modeling.

It’s built people-first. The authoring experience is better, with features like in-context editing and enhanced previews. It's easier to add people-friendly meaning via native schema.org markup. There's extensive support for accessibility standards.

Drupal 8 also has all the geekery you can Git. All-new configuration management (full exports, easier transitions between environments) means safer, faster site development and maintenance. REST-first native web services enable 3rd-party integrations. And adding Twig is the most complete transformation of Drupal theming in a decade. It allows friendlier syntax, better security, and a separate presentation layer.

Organizations are using Drupal 8 now

There are thousands of Drupal 8 installations already up and running. Goal Gorilla, Amazee Labs, Gravity R&D, and DrupalNorth joined drupal.com as some of the earliest Drupal 8 adopters. France Télévisions, Memorial Sloan Kettering Cancer Center, and CH2M have chosen Drupal 8 too. The list of sites built with Drupal 8 is growing and growing.

Companies and organizations around the world rely on Drupal 8 right now. Your organization could be next. Have questions before getting started? Check out answers to some frequently asked ones, and read the RC’s release notes.

Feedback welcome

Sharing feedback is important. It's part of the open source spirit. It's what pushes the Drupal community forward. And it's what will get Drupal 8 from RC to a full version release. If you find bugs while using this RC, let the community know.

To join the social conversations about this RC, use #drupal8rc. To mention and find conversations about work already made with Drupal 8, use #madewithd8.

A great big thank you

This RC wouldn't have been possible without our community. Its contributions, its diligence, and its patience created something special. To everyone who’s helped and will help, even if you're not in the Drupal 8 hall of fame, thank you.

Drupal 8: make something amazing, for anyone.

Taxonomy upgrade extras: drupal8rcPersonal blog tags: drupal8rc
Categories: Drupal

Drupal Association News: What's new on Drupal.org? - September 2015

Drupal Planet - Wed, 2015-10-07 19:52

Look for links to our Strategic Roadmap highlighting how this work falls into our priorities set by the Drupal Association Board and Drupal.org Working Groups.

DrupalCon Barcelona Recap

DrupalCon Barcelona was an opportunity for Drupal Association staff to meet with members of the community, attend some critical sessions about upcoming development in Core and Contrib, and to present some sessions of our own.


Being able to speak with the community face to face is a tremendously valuable opportunity for us, and helps us to validate our priorities, and keep on top of the changing needs of the community. Barcelona was a great con on both fronts!

The Drupal.org Roadmap Improved Search on Drupal.org

In August, we upgraded our search infrastructure, identified criteria for evaluating our search improvements, and created a pre-production search environment to allow us to test our changes to search. By September we were ready to begin deploying changes.

We used a script which evaluates the change in position of results for the key search phrases we are using as exemplars. Then we deployed several changes, primarily to our biases for searches matching path aliases and project machine names. These changes have greatly elevated the desired results for our exemplar phrases in search.

We're pleased with these improvements, and may continue to tune search further, especially as community members provide additional search phrases with unexpected results that we can test against.

Documentation Improvements

One of the larger initiatives for September was to work on improvements to Documentation on Drupal.org. This is a clear priority from the community, and also an important part of the work we identified as part of our content strategy.

To implement the requirements of the content strategy we introduced a few new modules to Drupal.org, in particular: organic groups, and panels. These and a few supporting modules have allowed us to create the new Section content type one Drupal.org. Sections are groups, which can have their own maintainers and governance structure. Content (including child Sections) will be associated to this new higher level Section content. Panels and some preconfigured layouts will allow us to improve the layout of content on Drupal.org and create a more consistent look and feel.

In September we made the initial deployment of these underlying modules and configuration and we are now beginning to configure our first Section - Documentation. At the same time, we reached out to key members of the documentation community during September, both remotely and at DrupalCon Barcelona, to identify more specific user stories that we will build out as features on this framework.


Our focus for DrupalCI in September was identifying any work that needed to be done to allow us to shut off the old PIFT/PIFR testbots on qa.drupal.org, and any feature improvements and bug fixes as they were identified. We also wanted to ensure that D8 Core and Contrib developers were comfortable relying on the new system.


During September we made progress on a few fronts. Firstly, users who create tests or project maintainers can subscribe to email notifications about their tests. Secondly, we continued fixing issues on the critical path to allowing us to disable the old testbots. Finally, about a week prior to DrupalCon Barcelona we allowed DrupalCI test results to set issues to needs work, letting Core maintainers accelerate their testing in the ramp up to the Con.

In October we anticipate disabling PIFT/PIFR for Drupal 8 testing entirely, and then phasing it out for Drupal 6 and Drupal 7 testing as well, once testing in those environments has been vetted. At that point the old qa.drupal.org test results will be archived statically. Moving forward DrupalCI development will move more into stable maintenance of the system as a production service, and evaluation of feature requests and contributed community work.


Localize.Drupal.org needed had only a few key issues to tackle in September - primarily: a server side version fall back system for translations. A related issue allowing us to symlink translations to the ‘latest’ release was completed as well.

The final task for Localize, and one of the Drupal.org infrastructure blockers to an 8.0.0 release, is support for translatables with external dependencies(for contrib). The community has been iterating on patches for this feature, and it should be fixed soon.

Incremental Improvements to Drupal.org Updating the Marketplace

In order to celebrate the organizations that are supporting the development of Drupal 8, we launched some changes to the Drupal.org marketplace. First, we changed the organization listings themselves, highlighting the people at the organization, the projects supported, the case studies, and the issue credits awarded in the last 90 days.

Finally, instead of sorting the listings alphabetically, we now sort by the listings by issue credits. This highlights the organizations who have been working hard to move the project forward and get Drupal 8 released!

We've received a lot of positive feedback about the Marketplace changes, as well as a large amount of community feedback about additional improvements that could be made, particularly to the sorting algorithm. We'll continue to collect that feedback and iterate on this further.

Revenue Related Projects (Funding our Work) DrupalCon Dublin

As is tradition, at DrupalCon Barcelona we also launched our next European DrupalCon - DrupalCon Dublin! For this initial announcement we launched the con splash page, but as the event gets closer the full site will go live. The Drupal Association and the local Drupal community in Dublin are very excited to welcome you to this con! Céad Míle Fáilte!




Sustaining support and maintenance

In addition to the infrastructure team's strong focus on DrupalCI and ensuring that the testing infrastructure was stable through DrupalCon Barcelona, the infrastructure team also made a few other changes. First, we evaluated a PHP version upgrade in our pre-production environments, and will deploy to prod in October. Secondly, we took the Solr infrastructure that had been upgraded in August, and set it up for high availability.

The Drupal Association infrastructure team also gave a presentation on the history of Drupal.org's infrastructure. This session provided a retrospective of the architectural decisions for Drupal.org in the past, as well as an opportunity to showcase where the infrastructure is headed and solicit feedback from the community.


As always, we'd like to say thanks to all volunteers who are working with us and to the Drupal Association Supporters, who made it possible for us to work on these projects.

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Personal blog tags: whats new on Drupal.org
Categories: Drupal

Fabian Franz: git rebase --onto - The simple 1 min explanation

Drupal Planet - Wed, 2015-10-07 17:47

TL;DR the command you want is:

    git rebase --onto [the new HEAD base] [the old head base - check git log] [the-branch-to-rebase-from-one-base-to-another]

And my main motivation to putting it here is to easily find it again in the future as I always forget the syntax.

Mental model


To make all of this simpler think of:   You have:
  • Two red dishes on top of two blue dishes
  • One yellow dish
  You want:
  • Those two red dishes on top of the one yellow dish
  You do:
  • Carefully go with the finger down to the bottom of the two red dishes, which is the first blue dish
  • Take the two red dishes
  • Transfer them over to the one yellow dish
  That is what rebase --onto does:             git rebase --onto [yellow dish] [from: first blue dish] [the two red dishes]   Note: The following is meant for an intermediate audience that is familiar with general rebasing in GIT Longer explanation

It happened! A branch you had been based your work on has diverged upstream, but you still have work in progress you want to preserve.

So it looks like this for you:

   "Your Commit A" - "Your Commit B" - "Upstream Commit: This is the last upstream commit" - "Upstream Commit: This is another upstream commit"

But now the branch you based your work on squashed their work together or removed a file due to privacy concerns and now upstream has:

  "Upstream Commit: This is the last upstream commit and this is another upstream commit together in one."

So all that you want is to move your two commits onto the new base.   The cherry-pick way   Lets assume your branch is called 'work' and you based your work upon 'upstream/develop'.   What you could do is to checkout the develop branch, reset it to the new version and cherry-pick your two commits:  

# Reset the develop branch

git checkout develop git reset --hard upstream/develop   # Checkout a new branch git checkout -b work2   # Now find the two commit IDs git log work   # Cherry-pick those   git cherry-pick 28d3fc5 git cherry-pick a67b2c   # And reset your work branch to the new work git checkout work git reset --hard work2 git branch -d work2 ( And yes I am aware that cherry-pick supports commit ranges now, too. ) The rebase way Usually git knows when you call rebase how to rebase as it has a common history. It gets only problematic if the history diverges as happened above. In that case you will need to tell git to rebase which on what. So when you normally use:

git fetch upstream
git rebase upstream/develop

You would now use with the new base:

git fetch upstream
git rebase --onto upstream/develop [old base] work

and thats it.

To get the old base just use the commit ID of the first commit that does not contain changes you made.

A real drupal.org contribution example

This is super helpful when having to juggle several branches for e.g. the Drupal 8 core queue that depend on each other.

Lets say you worked on issue-X and issue-Y and issue-Y is build on top of issue-Y.

Now you work mostly on issue-Y, but now you work more on issue-X and for your personal merit decide to make the history a little nicer, so now issue-X has diverted.

But a simple:

git checkout issue-Y
git rebase --onto issue-X [old base of X in issue-Y] issue-Y

can again save the day. The same is sometimes needed when the branches are based of off different core versions.

Tags: drupaldrupal planetgit
Categories: Drupal

Drupal Watchdog: Testing, Testing... One... Two...Three

Drupal Planet - Wed, 2015-10-07 17:35

Writing tests for a project is a terrific way to learn about its underlying code. In the case of Drupal 8, nearly all the code is a complete overhaul from Drupal 7. For folks familiar with the inner workings of Drupal 7, writing PHPUnit tests for a given part of the codebase is a perfect way to understand what has changed.

As of June 2015, there are 566 active issues in the Drupal 8.0.x queue tagged with Needs tests. There’s lots of room for contribution for folks who can write a test. Since this column is dedicated to testing, let's look at the benefits of pushing Drupal 8 forward through test writing.

There are three different types of tests in Drupal 8:

  • Unit tests (PHPUnit) are used to test that the individual classes function as expected in relative isolation.
  • Integration tests (KernelTestBase) expand from this concept, but still only pull in code needed to test.
  • Functional tests (WebTestBase and BrowserTestBase) bring everything together, perform a full site install, and then assert the expected behavior.

Note that since the functional tests perform a full site install, they are quite slow, and should only be used when integration or unit tests are insufficient.)

To get started, find an issue in the “Needs work” or “Needs review” state that already has a patch and is tagged “Needs tests.” If the issue already has tests, update the issue to remove that tag and move along, or review the issue, give feedback, and then move along.

When a patch that only contains the fix is found, the next step is to backward-engineer the bug. The test must fail without the patch – meaning it shows that this is a bug – and then, with the patch, the test must pass. This pattern makes it easy for overworked core committers to see that the problem has been demonstrated and fixed.

For folks writing their first test, the ideal issue will have clearly defined “steps to reproduce” in the issue summary. The test then is essentially an automated way of reproducing those.

Categories: Drupal

OpenLucius: Secure the data of visitors on your Drupal website better

Drupal Planet - Wed, 2015-10-07 10:26

Drupal module moment: field encryption

The Field encryption module ensures that the values stored in the Drupal database are encrypted. When the database ends up in the wrong hands, then nobody can read the data since this module has encrypted it. This way, you are prepared for a worse case scenario.

This contrib can come in handy if you are managing a Drupal website in which third party data is stored, such as a Drupal webshop, an online community or Ashley Madison ;-). The module is beta2, but appears to run stable.

Installation and configuration 1) Installation
Categories: Drupal

Drupal core announcements: Drupal 7 core release window for October 7 is delayed

Drupal Planet - Wed, 2015-10-07 00:08

The monthly Drupal core bug fix/feature release window is scheduled for this Wednesday, October 7. A Drupal 7 core release is planned for this window (since there hasn't been one in a while), but it will not come out on the scheduled date. This is due to various scheduling issues, and also to give more time to get a few more patches committed in time for the release.

The delay will push the release out by a couple days, or possibly into early next week. I will post a new announcement once the code is frozen and a release date has been set.

This release window is for a bug fix/feature release only (no security fixes). Upcoming release windows after this one include:

  • Wednesday, October 21 (security release window)
  • Wednesday, November 4 (bug fix/feature release window)

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: Drupal

OSTraining: How to Fix Design Issues in Internet Explorer 10 and 11

Drupal Planet - Tue, 2015-10-06 23:53

One of our members needed to fix an issue for a site in Internet Explorer 11. At the same time, he wanted to avoid changes that might mess up other browsers. The site looks fine in Firefox, Chrome, Safari and Opera.

In this tutorial we will show you how to add custom CSS for just Internet Explorer 10 and 11.

Categories: Drupal

DrupalCon News: Submit your session for DrupalCon Asia

Drupal Planet - Tue, 2015-10-06 23:50

With the call for papers officially open, we wanted to take a moment to give you all of the details you should know about sessions: what tracks we are offering, how to submit an awesome session submission, and how session selection works.

Categories: Drupal

Web Wash: Build a Blog in Drupal 8: Adding Comments

Drupal Planet - Tue, 2015-10-06 22:03

If you want to communicate with readers on a blog, the best way to achieve this is by setting up comments. If you're happy to deal with spam and the occasional troll, then comments are great for communicating with readers and fostering a community.

The functionality has changed a lot in Drupal 8. In Drupal 7, the comments system was fairly rigid. You could only use them on content types and only have a single comment type. If you needed to support multiple comment types like review or feedback, you were out of luck.

In Drupal 8, the comments system has been rebuilt. They can be attached to any entity type by adding a "Comments" field. You can also now have different comment types. This allows you to do all sorts of things like having public and private comments on a single content type.

In the last tutorial, we created a Blog content type and added fields to it. Let's continue working on it by adding support for comments. We'll configure the user permissions so that comments can be submitted anonymously, but will need to be approved before they're published.

Categories: Drupal