Planet Drupal

Subscribe to flux Planet Drupal - aggregated feeds in category Planet Drupal
Mis à jour : il y a 48 min 22 sec

Cocomore: Drupal 8 is here - come and join us at our release parties

jeu, 19/11/2015 - 00:00

Drupal 8 will be released at November 19th and there will be release parties all over the world. Our Cocomoris will celebrate at different locations too. Take a look, where you can meet them!

Catégories: Elsewhere Mindful Custom Breakpoints

mer, 18/11/2015 - 23:00

The vast majority of our projects at Gizra use Bootstrap for layout. We spend a lot of time and effort creating the perfect responsive layout and UX across all breakpoints. As Bootstrap comes by default with four breaking points, we naturally implemented them all, until we started asking ourself:

Q: Is responsive really needed?
A: Yes, Of course.

Q: Do we always need so many breakpoints?
A: No. Or, to say it differently: Yes. But not necessarily immediately.

Don't get me wrong. I'm not against responsive design. I'm just saying each breakpoint has an impact on the project length and budget. It's up to us to help the client decide how many breakpoints are right for them. As you know, Bootstrap can have custom breakpoints.

Bootstrap default layout VS Bootstrap custom layout

Continue reading…

Catégories: Elsewhere

Promet Source: A Different Look at Drupal 8 for Executives

mer, 18/11/2015 - 22:44
A Powerful CMS for Powerful Sites

A content management system for the masses. Sounds almost too good to be true, doesn’t it?

The issue with a mass-marketed CMS is that content needs and workflows will vary greatly from one organization to the next. So the "one size fits all” motto starts to wither in light of this fact. That’s why businesses with serious content needs ought to strive for flexibility in their CMS solution. That’s where Drupal 8 comes in.

Catégories: Elsewhere Views #1 : Add A New View (Drupal 8 Tutorial #3) (Article + Video)

mer, 18/11/2015 - 20:22

In this series we will create a custom frontpage that introduces all the main concepts of the Views module.

Catégories: Elsewhere

Acquia Developer Center Blog: Drupal 8’s New Multilingual Capabilities

mer, 18/11/2015 - 19:20
Gábor HojtsyGabor Hojtsy verbatim: on one of the important new features of Drupal’s latest platform, advice to administrators of older sites, mixing human and machine translation, and the overall value proposition of multilingual in Drupal 8.


Tags: acquia drupal planet
Catégories: Elsewhere

Daniel Pocock: Improving DruCall and JSCommunicator user interface

mer, 18/11/2015 - 18:45

DruCall is one of the easiest ways to get up and running with WebRTC voice and video calling on your own web site or blog. It is based on 100% open source and 100% open standards - no binary browser plugins and no lock-in to a specific service provider or vendor.

On Debian or Ubuntu, just running a command such as

# apt-get install -t jessie-backports drupal7-mod-drucall

will install Drupal, Apache, MySQL, JSCommunicator, JsSIP and all the other JavaScript library packages and module dependencies for DruCall itself.

The user interface

Most of my experience is in server-side development, including things like the powerful SIP over WebSocket implementation in the reSIProcate SIP proxy repro.

In creating DruCall, I have simply concentrated on those areas related to configuring and bringing up the WebSocket connection and creating the authentication tokens for the call.

Those things provide a firm foundation for the module, but it would be nice to improve the way it is presented and optimize the integration with other Drupal features. This is where the projects (both DruCall and JSCommunicator) would really benefit from feedback and contributions from people who know Drupal and web design in much more detail.

Benefits for collaboration

If anybody wants to collaborate on either or both of these projects, I'd be happy to offer access to a pre-configured SIP WebSocket server in my lab for more convenient testing. The DruCall source code is a hosted project and the JSCommunicator source code is on Github.

When you get to the stage where you want to run your own SIP WebSocket server as well then free community support can also be provided through the repro-user mailing list. The free, online RTC Quick Start Guide gives a very comprehensive overview of everything you need to do to run your own WebRTC SIP infrastructure.

Catégories: Elsewhere

Drupal @ Penn State: Drupal, A thesis.

mer, 18/11/2015 - 18:16

I recently defended my Master of Sciences thesis with a central theme of open source, activism and Drupal. You can grab a copy here or in the article links. I started this research project in 2007, in part, life got in the way but also, I didn’t know how to tell the story.

Catégories: Elsewhere

OSTraining: How to Remove Unused Drupal Modules

mer, 18/11/2015 - 18:01

Over the last few years we've had a wide variety of questions about removing Drupal modules, including these:

  • Do I need to remove modules via the admin or the file system?
  • Do uninstalled modules leave database entries behind?
  • Can I just disable a module, rather than completely uninstall it?
  • Should I uninstall Drupal core modules when I see that option?
Catégories: Elsewhere

Gábor Hojtsy: Drupal 8 multilingual tidbits 20: combination use cases with content and menus

mer, 18/11/2015 - 16:34

In the previous tidbits we covered each language and translation capability one by one. The community translates the software interface on which you can customize with Interface translation. You can translate your local configuration and content with the Configuration translation and Content translation modules respectively. However, actual real life use cases are never clear cut like that. Content shows up with some shipped interface elements, local configuration and content. Menus contain elements from code, content and configuration. It is good to know how these pieces relate so you can translate every piece and know the right place to do it.

Catégories: Elsewhere

OpenConcept: Weather Report Card

mer, 18/11/2015 - 16:12

The Weather Report Card is an open-data weather forecast grading system that evaluates forecaster’s reliability and predictions’ accuracy.

It aggregates data from Environment Canada and organizes it in reports to compare temperature, rain and warning predictions versus actual weather. The system then evaluates the forecast’s accuracy and grades it.

On the site, users have a variety of ways to view daily conditions grading:

  • View the grade of daily forecast conditions;
  • View current conditions and what their previous predictions were;
  • View a calendar with a monthly view of conditions; or,
  • Go old school and compare the daily data themselves

Users can review a forecast performance by city over the period of their choice and tweet about it. The portal also tweets on a daily basis forecasts performances by city.


Our goals for this portal were:

  1. Measure Performance: We wanted to provide citizens with a method to evaluate how accurate is the data they look at on a daily basis. The data is available but never evaluated.
  2. Build knowledge with Data: Per definition, Open Data is data that can be freely used, shared and built-on by anyone, anywhere, for any purpose. It is key to government transparency, but does not give us value if it is not transformed into facts.
  3. Promote Open Source: This project was possible thanks to open-source software and open data. We wanted to highlight how the web is made of amazing projects powered by a strong community. By aggregating and manipulating data, we’re able to give insights on things that concern Canadians.
  4. Showcase Drupal’s capabilities: This was also a way of showcasing some of what we can do using the Drupal CMS. This software has gone from an alternative to WordPress to a powerful, enterprise-level software with many different applications, including open-data portals like the Weather Report Card.
  5. Have fun, and spread the fun: Canadians love the weather, so we wanted to give people a bit more context to talk about when chatting about the weather. By integrating this in with Twitter we’re making it easy for people who are thinking about the weather to connect to our reports. of Project: Type of Industry: Year: Header Image: 
Catégories: Elsewhere

Pronovix: Drupal 8 upgrade reports just got faster

mer, 18/11/2015 - 15:08

We’ve automated the module scanning on, it’s now dead simple to request a report. Tell us the URL of your Drupal site and your email address and we send you an upgrade report...

Catégories: Elsewhere

Dries Buytaert: Loosen control the Open Source way

mer, 18/11/2015 - 14:17

A couple of weeks ago a Chief Digital Officer (CDO) of one of the largest mobile telecommunications companies in the world asked me how a large organization such as hers should think about organizing itself to maintain control over costs and risks while still giving their global organization the freedom to innovate.

When it comes to managing their websites and the digital customer experience, they have over 50 different platforms managed by local teams in over 50 countries around the world. Her goal is to improve operational efficiency, improve brand consistency, and set governance by standardizing on a central platform. The challenge is that they have no global IT organization that can force the different teams to re-platform.

When asked if I had any insights from my work with other large global organizations, it occurred to me the ideal model she is seeking is very aligned to how an Open Source project like Drupal is managed (a subject I have more than a passing interest in).

Teams in different countries around the world often demand full control and decision-making authority over their own web properties and reject centralization. How then might someone in a large organization get the rest of the organization to rally behind a single platform and encourage individual teams and departments to innovate and share their innovations within the organization?

In a large Open Source project such as Drupal, contributions to the project can come from anywhere. On the one extreme there are corporate sponsors who cover the cost of full-time contributors, and on the other extreme there are individuals making substantial contributions from dorm rooms, basements, and cabins in the woods. Open Source's contribution models are incredible at coordinating, accepting, evaluating, and tracking the contributions from a community of contributors distributed around the world. Can that model be applied in the enterprise so contributions can come from every team or individual in the organization?

Reams have been written on how to incubate innovation, how to source it from the wisdom of the crowd, ignite it in the proverbial garage, or buy it from some entrepreneurial upstart. For large organizations like the mobile telecommunications company this CDO works at, innovation is about building, like Open Source, communities of practice where a culture of test-and-learn is encouraged, and sharing -- the essence of Open Source -- is rewarded. Consider the library of modules available to extend Drupal: there can be several contributed solutions for a particular need -- say embedding a carousel of images or adding commerce capability to a site -- all developed independently by different developers, but all available to the community to test, evaluate and implement. It may seem redundant (some would argue inefficient) to have multiple options available for the same task, but the fact that there are multiple solutions means more choices for people building experiences. It's inconceivable for a proprietary software company to fund five different teams to develop five different modules for the same task. They develop one and that is what their customers get. In a global innovation network, teams have the freedom to experiment and share their solutions with their peers -- but only if there is a structure and culture in place that rewards sharing them through a single platform.

Centers of Excellence (CoEs) are familiar models to share expertise and build alignment around a digital strategy in a decentralized, global enterprise. Some form multiple CoEs around shared utility functions such as advanced data analytics, search engine optimization, social media monitoring, and content management. CoEs have also grown to include Communities of Practice (CoP) where various "communities" of people doing similar things for different products or functions in multiple departments or locations, coalesce to share insights and techniques. In companies I've worked with that have standardized on Drupal, I've seen internal Drupal Camps and hackathons pop up much as they do within the Drupal community at-large.

My advice to her? Loosen control without losing control.

That may sound like a "have-your-cake-and-eat-it-too" cliche, but the Open Source model grew around models of crowd-sourced collaboration, constant and transparent communications, meritocracies, and a governance model that provides the platform and structure to keep the community pointed at a common goal. What would my guidance be for getting started?

  1. Start with a small pilot. Build that pilot around a team that includes the different functions of local country teams and bring them together into one working model where they can evangelize their peers and become the nucleus of a future CoE "community". Usually, one or more champions will arise from that.
  2. Establish a collaboration model where innovations can be shared back to the rest of the organization, and where each innovation can be analyzed and discussed. This is the essence of Drupal's model with acting as the clearing house for contributions coming in from everywhere in the world.

Drupal and Open Source were created to address a need, and from their small beginnings grew something large and powerful. It is a model any business can replicate within their organization. So take a page out of the Open Source playbook: innovate, collaborate and share. Governance and innovation can coexist, but for that to happen, you have to give up a measure of control and start to think outside the box.

Catégories: Elsewhere

ThinkShout: Up and Running with Drupal 8

mer, 18/11/2015 - 14:00

It’s November 2015, and is rolling out Drupal 8 release candidates! Heck, Drupal 8 is coming out this week. For many devs, that means we need to figure out how to install, sync, and set up a site theme. Here at ThinkShout, learning is part of the job - we have dedicated time every week to learn new things and share them, be it in a blog post, at our weekly engineering meetings, or at our weekly team lunch.

For the last few months, we’ve made learning Drupal 8 our singular focus. The ‘D8 Bookclub’ has been getting assignments, doing their homework, and sharing their findings internally. We’ve now spent enough time with Drupal 8 that we can share what we’ve learned, the little gotchas and hard-to-find code snippets, as well as the general change in philosophy that has occurred in the shift from D7 to D8.

We generally agree that one of the things keeping people from digging into Drupal 8 is the difficulty of getting it installed and running in a deployable way, which is a must-have if you want to have a team working on a project. This article will walk you through Drupal 8 installation and configuration sync. The follow-up article (Up and Theming with Drupal 8) will cover theme setup and configuration, so that you can finally get going with theming in D8.

Installing Drupal 8

The composer install method is being widely proposed as the replacement for drush make. The composer.json file is to composer install what a drush make file is to drush make. The drupal-composer github repo has a composer template called drupal-project that will get us up and running with just the basics necessary to have a working site.

For command-line manipulation, you’ll need to be using Drush 8. Like most dev shops, we use version control (Git) as well as a local->dev->test->live server setup. There are a few gotchas here:

The composer template mentioned above works great for a basic D8 install, but if you want it customized (additional packages, post-install commands, etc), you will have to:

  • download the full composer profile
  • unzip the files
  • update the composer.json and scripts/composer/ files
  • run composer install locally.

This is the method we’ll be using for the rest of this post.

First, install composer. We’re using OSX with Homebrew, so this is fairly simple - brew install composer. Note: after implementing this, add this to your .bashrc (or similar):

export PATH="$HOME/.composer/vendor/bin:$PATH"

Next, ensure you have Drush 8 installed. We prefer the Composer global install approach to make updating Drush as simple as running composer global update.

Next, download the full composer profile, and unzip it into an appropriate local directory (We use a ~/Sites/ directory to hold all of our projects).

Note: the Drupal Composer project updates regularly. If you run into any errors, re-download it. You could alternately create an installation profile in the web/profiles folder, but that seems to be a tad under-documented and still not fully baked.

Now that we have a default site scaffold in place, we can get back to the post-install method. If you want to run the site installer after composer installs Drupal, in the file, you would add:

cd web;drush si --site-name="SITENAME" --db-url=mysql://root:PASSWORD@HOSTNAME/DBNAME -y;cd ../

For the above, replace SITENAME, PASSWORD, HOSTNAME(we use localhost) and DBNAME.

One of the D8 Bookclub challenges was completing the installation without any warnings appearing on the Status Reports page at /admin/reports/status. We also want to specify the configuration sync directory, so that it’s not site-unique.

The trick here is to use a series of permission and site config tweaks. After the site install code above, add the following to your

chmod 777 web/sites/default/s*; #Prepare the custom sync directory, which will sit outside of the web root if [ ! -d configs ] then mkdir -m777 configs fi echo "\$config_directories['sync'] = '../configs';" >> web/sites/default/settings.php echo "\$settings['trusted_host_patterns'] = array('SITENAME\.dev$',);" >> web/sites/default/settings.php; chmod 444 web/sites/default/s*; chmod -R 777 web/sites/default/files;

This will make the settings.php file editable, create a sync directory below the web root (bonus security!), add the sync directory path, add the trusted host pattern (a new D8 requirement), secure the file, and make the web/sites/default/files folder globally writable.

Now you’re ready to run the installation! From the base directory, run:

composer install

This will take a while, since it’s downloading Drupal and all the modules. After initial installation, perform a full export and an immediate import/sync of your site configuration profile. This can be done two ways:

  1. Via the gui: /admin/config/development/configuration/full/export

    Save this export file! Any subsequent sites will need this as a starting point so that entity mismatches don’t occur.

  2. Via Drush (run from the /web directory):

drush config-export drush config-import sync

This will export and then sync all of your config files in the configuration directory we specified in the post-install script.

You would then check in this version of the site - a commit message such as ‘Base Site profile’ would be helpful. Here’s a quick set of command-line git repo creation commands, starting with an installation of hub, the command-line wrapper for GitHub (this will allow you to use GitHub’s 2-factor authentication):

brew install hub git init hub create git add . git commit -m 'Base Site profile' git push --set-upstream origin master

After that, you can check out additional sites by creating a directory, cd into that directory, and running a git clone command inside it, such as:

git clone .

Now you can run `composer install to build your clone.

Optional: edit the prior to runningcomposer install` if you’d like your clone to have a different hostname, db, etc.

Syncing Sites

Site configurations are only exportable to sites that have the same UUID and have synced using the shared base configuration profile. To find your site’s UUID, cd to the web folder of the base site, then run drush config-get After that, any new site can be synced using these steps immediately after a fresh install (either via download or Git clone):

drush config-edit (Update the UUID to match the base site)

If you manually saved the files, upload the base site config profile, but do not sync it


If you cloned the repo, the files should be in place. If the git repo has moved beyond the base install, check out the repo at the ‘Base Site Profile’ stage mentioned above using git reset --hard $SHA1 (where $SHA1 is the SHA of the Base Site Profile)

drush config-import --partial

Important Note: Every new instance MUST start with the same base configuration profile, otherwise you may have entity mismatch issues, even with the partial import. After the initial sync is complete, you can pull in config files via Git and sync will work as expected, even over multiple configuration changes.

Creating a Theme

This will be covered in our next post: "Up and Theming with Drupal 8."


The post was written at the end of 2015 while Drupal 8 was still in a Release Candidate stage. While some effort will be made to keep the post up-to-date, if it’s after 2016, you should probably be adding the year you are currently in to your Google search, or better yet, check the docs on

Catégories: Elsewhere

CiviCRM Blog: New Extension - CiviCRM Online WorlPay Payment Processor

mer, 18/11/2015 - 11:29
Submitted by ramesh on November 18, 2015 - 02:29

We in NFPservies have some client using secure.Worldpay as their payment processor and it was always an issue in making it work and now worldpay has introduced online.worldpay gateway with API reference which are easy and quicker than before

Earlier in secure.worldpay gateway we use to redirect from CiviCRM to secure.worldpay website and process all the card details and then it will be passed over to CiviCRM website and we process the details. But, In Online.Worldpay we are using API for creating Tokens and Card Authorize. so no more redirection also the processes is straight forward and quicker


This Extension is based on -

Please make sure you have an account with


To install the, move the directory to your civicrm Custom extension folder directory and Install the extension.


Please obtain the service key and client key from your account setting

This extension uses api for accessing the website. This link might change from time to time so please make sure you are using the correct URL given by your Online Worldpay Account.

For more documentation regarding the API please refer to


  1. Recurring Payment.
  2. Webhook Integration.


This module was developed based on CiviCRM 4.6 and Drupal 7.x. - hasn't been tested in any other version.
Please give a test and if you want to use it in lower or higher version. Please feel free to contact me if you have any issues. You can find the contact details at the footer of this document.

Currently tested in CiviCRM 4.6 / Drupal 7.x with Webform CiviCRM Integration 7.x - 7.14


you can download the Extension from CiviCRM Extension folder or from GitHub

AttachmentSize uk.co_.nfpservice.onlineworldpay.jpg195.45 KB CiviCRMDrupalExtensionsv4.6
Catégories: Elsewhere

ERPAL: UX Day Graz

mer, 18/11/2015 - 10:58

Last Saturday Oskar and Dirk from the ERPAL Platform Team went to UX Day Graz 2015. A small community conference on user experience, interaction design and usability.

The event had 3 Keynotes as well as some showcases from the community.
The Keynote by Eric Eggert from the W3C Web Accessibility Initiative showed how small changes in markup can already improve accessibility by a lot. He demonstrated this by showing button markup and providing the readings from a screenreader. But also delivering fallback solutions for other disabilities is not that hard.
Regulations, like for example BITV in Germany to make governmental websites accessible or the BGStG in Austria to make every website accessible from 1.1.2016 on, show that accessibility is not only a nice thing to have, but also required by law.
Other than that, there are millions of people with disabilities using the internet. To be exact about 15% of the worlds internet users have some kind of disability. So you exclude a lot of people by not making your site accessible. More information on making websites accessible including the WCAG guidelines and easy to follow tutorials for beginners can be found on at the Web Accessibility initiative.

In his keynote Philipp Sackl, Lead Designer for Firefox, talked about building empathy with your audience. It was interesting seeing an example where he thinks firefox has improved the user experience and where it still needs lot’s of work. His opinion on designing for user experience showed us that user experience is something than can be improved by precise planning. But one major take home lesson is that you should never rely on your knowledge, you always need to test and get feedback from your target audience. You as a designer or developer are the pro user of your system, so you are biased before you even use the software. Get out there and collect data about how non experienced users use your software, that the only way to improve usability and user experience. Interesting as well was his opinion on how much influence you can have with making decisions, even with the bad ones. He showed us how a user had to search 2 minutes to solve a simple task. Assuming that every of the million users was wasting 2 minutes with this task he feels like firefox was wasting a lot of the worlds time.

In his talk on "Visual Search and Analysis“ Tobias Schreck, Professor at Graz University of Technology, explained some approaches for visual search. His argument was to make visual interfaces interactive to get the most from it. He showed some interesting projects and how they helped retrieving valuable information form big sources of information. The talk showed again how much potential is in data visualization and how easy it can be to extract information if you choose the correct format.

In the Panel Discussion follwing the Keynotes Eric Eggert, Tobias Schreck, Keith Andrews and Heinz Wittenbrink were discussing the future of UX. The main points: content is always the most important thing do deliver, so you don't need to talk about user experience when you don't deliver interesting content. In future a lot of will focus on user testing with prototypes, made with special prototyping tools or html dummys. And one of the hottest topics at the moment is data visualization as it makes it easy to review large numbers of for example measurements. Providing easy to undarstand and oversee data improves the users experience by a lot.

On the picture (f.l.t.r) Oskar Bechtold, Chair Keith Andrews (Graz University of Technology), Vice-Chair Konrad Baumann (FH Joanneum) and Dirk Peter.

Catégories: Elsewhere

OSTraining: How to Install Drupal 8

mer, 18/11/2015 - 06:33

Drupal 8 is set to be released this week and it promises to be the best version of Drupal yet.

In these two videos, Rod will show you how to install Drupal 8 at your host or on your computer.

Catégories: Elsewhere

KnackForge: Drupal 8 Release Party in Chennai

mer, 18/11/2015 - 05:00

Drupal 8, a collective work of 3.3k contributors from 90+ countries, after more than a couple of years of development with more than 200 new features and improvements finally reaching a milestone and limelight. Tentatively 1232 companies have supported its development.

For Drupal specialized companies like KnackForge this is a momentous occasion. We are feeling excited about the release of Drupal 8. KnackForge is proud to join hands with Drupal Chennai Group and other Drupal shops in Chennai along with other Drupal groups around the world in hosting a release party on Thursday, November 19th, 2015!

We celebrate the party in honor to appreciate the great efforts of thousands of contributors all over the world! Let’s do it together!

Please sign up at Event posted on Grab your Drupal 8 T-shirt for free. Limited offer only, please RSVP sooner.

Catégories: Elsewhere

OSTraining: New Video Class: Managing Multiple WordPress Sites With ManageWP

mer, 18/11/2015 - 00:56

This week's new video class is "Managing Multiple WordPress Sites With ManageWP".

Managing multiple WordPress sites can be a challenge. There are always updates, comments and more to deal with. ManageWP is a great solution.

In this class, Topher takes you through the basics that you get for free and shows the benefits of easy site maintenance that ManageWP brings to your workflow.

Catégories: Elsewhere

Fabian Franz: Why Drupal 8 is defaulting its testing to PHP7 and why you should, too

mar, 17/11/2015 - 22:32

Drupal 8 the newest version of the Drupal content management system is around the corner and will be released Nov 19. PHP7 - the newest generation of the PHP language powering Drupal - will be released later in 2015.

PHP7 features lots of new things, but the most significant part is a 20-50% speed increase, which comes from the completely rebuilt Zend engine VM that powers PHP under-the-hood.

The new code is not only easier to understand, but also cleaner, faster and doing much less memory copying.

However as with all bleeding-edge software there are bugs and sometimes those bugs can be so tricky that during normal development they do not occur. In fact the bugs Drupal 8 found pushed the release date of PHP 7 back - - but more to that later in this post. So when should you switch?

Drupal 8 already early on had a plan to support PHP7 out of the box with Drupal 8. (

During that effort by several Drupal 8 contributors, bugs and segfaults have been reported to the PHP team ( and also incompatibilities have been resolved in the Drupal 8 and Symfony 2 code bases.

For example Null, False, True, which had been classes in Symfony 2, are now reserved keywords. Or Drupal 8 used the String namespace, which also now is reserved. Also Drupal 8 had been relying on uasort behavior being deterministic (which it is not) - though some cases still remain:

In the end Drupal 8's test suite did almost pass on PHP7, but there were some remaining test failures. Drupal’s tests run on DrupalCI, which is hosted and fully integrated into itself, supporting PHP 5.3-7, MySQL, sqlite and PostgreSQL for both Drupal 7 and Drupal 8 core and contrib modules. As the core maintainers wanted Drupal 8 to ship with full PHP7 support and no known bugs and, because PHP7 stable release was one week before Drupal 8's release now was the last chance to fix that. So the issue became critical again.

With the help of a 10 hour Drupal 8 Accelerate grant (thank you very much Drupal Association), neclimdul, me (Fabianx) and alexpott embarked  on a journey to track down and fix the remaining really really tricky test failures. (, and

They succeed after close collaboration with the PHP internals team with me (Fabianx) providing the core developers with an EC2 instance, where the bug was easily reproducible and such the PHP internals team finally tracked down the bug in the garbage collector. I reported another bug with a script to reproduce ("array_merge_recursive corrupts memory of unset items") and it was fixed within 3-5 hours after posting the bug report(!).

And such PHP7 became green on Drupal CI on Oct 30, 2015 (

Now with it being green an incentive was started to make PHP7 the default test environment (

This incentive lead to also testing Postgres and SQLite (and those environments are now available for testing) and while SQLlite passed (yeah), postgres failed with several strange bugs.

I followed up again with the PHP team, created two bug reports (, and a pull request (, which solved many of the issues and led to overall more stable PHP7 code base as it was a weird edge case (again!).

One issue is as of this time still remaining with postgres (, but I am pretty sure that the awesome PHP team will track this one down, too. (Even though Drupal CI passes now, it still fails on my test machine.)

However as we still branch test Postgres with PHP 5.5 daily and that is stable, this will only affect a minority of the users and does not affect our ability to switch to PHP7 for general patch testing (with MySQL 5.5). As of now Drupal 8 has 100% test passes with PHP 7 and MySQL, PostgreSQL and SQlite (

Switching to PHP7 for patch testing will allow to reduce patch test time by around 30% (from 30 min to 21 min) and it will allow us to find potential regressions early. This should reduce the costs of the testing infrastructure to the Drupal Association significantly.

Lessons learned
  • Drupal 8 and PHP7 is an open-source community collaboration success story with close collaboration of PHP with Drupal 8 and Drupal 8 with Symfony.

  • Drupal 8 was able to find many many strange bugs with its very extensive test suite and being a complex application itself. That made PHP7 more stable for everyone, as well as finding Symfony/PHP7 incompatibilities earlier than they might otherwise have been discovered

  • Being able to run Drupal 8 on PHP7 directly and know that it will work is a huge benefit to Drupal 8 itself. In fact I also switched over my own Drupal 8 development environment now to PHP7, which means I can test my code faster.

  • Running and switching your test suite to PHP7 not only will give you confidence that your application is well supported on the newest PHP version, but it will also give you beneficial speed improvements.

  • All of this means that Drupal 8 and PHP 7 will be viable for production more or less as soon as they reach stable releases, so that real sites can take advantage of the ~30% performance improvement relative to PHP 5.6.

Tags: drupaldrupal planetphp7
Catégories: Elsewhere

Midwestern Mac, LLC: Celebrate Drupal 8 in St. Louis, MO on Nov 19 - Food, Drinks, and a Raspberry Pi!

mar, 17/11/2015 - 22:14

On November 19, the St. Louis Drupal Users Group is having a party to celebrate the release of Drupal 8, which has been 4 years in the making! The party will be hosted at Spry Digital in downtown St. Louis, and will have beer provided by Manifest, food and drinks provided by Spry, and a Raspberry Pi 2 model B giveaway sponsored by Midwestern Mac!

Drupal 8.0.0 has been built by over 3,000 contributors in all corners of the globe, and will help kick off the next generation of personalized, content-driven websites. During the meetup, we'll build a brand new Drupal 8 site on the Raspberry Pi using Jeff Geerling's Drupal Pi project, and we'll highlight some of the awesome new features of Drupal 8.

After we build one of the first Drupal 8 sites, we'll give away the Raspberry Pi to a lucky winner to take home and tinker with! Special thanks to the Austin Drupal Users Group, who came up with the Pi giveaway idea!

We'll also eat, drink and be merry, celebrating the start of a new era of site building with the best version of Drupal yet!

If you'd like to join us, please RSVP on the STLDUG Meetup page: STLDUG Drupal 8.0.0 Release Party.

Catégories: Elsewhere