Planet Drupal

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

Wunderkraut blog:

jeu, 30/07/2015 - 10:00

We are HUGE fans of simplicity, automation and open source. Here's one of our solutions for keeping track of Drupal module versions, custom/contrib code, deploying and taking backups. And more!

A while back I was introduced to a script which was used to download a given version of the Drupal core with a handful of modules AND  copy any custom modules/profiles/themes under a given path inside the Drupal installation AND run the Drupal installation from shell! SO COOL! This completely eliminated the need to have 3rd party code in our repositories and it made (at least) my life a whole lot more worry free.

So as it happened, we quickly adopted the script in our workflow and everyone was happy with it. Time went on and we found the script lacking and started modifying it, improving it, and finally after a couple of rewrites we ended up with

Things it does for you:

  • download and install Drupal
  • update Drupal core and modules
  • copy & link custom code directories and/or files
  • handle separate settings.php for each environment
  • take backups

Our continuously evolving workflow is:

  1. Grab a copy of
  2. Modify conf/site.make to our liking
  3. Enable contrib & custom modules as a dependency in code/profiles/wk/
  4. Run ./ new

If things go well this should result in a folder called drupal, this is where your fresh installation is.

Next, we might want to update the version of Drupal core.

  1. Bump up the version of Drupal core in conf/site.make
  2. Run ./ update

But wait - theres more! allows you to define your own commands that do whatever you want. Have a look at the for further information.

Catégories: Elsewhere

CiviCRM Blog: Pro-bono Drupal work available

jeu, 30/07/2015 - 06:33

Cividesk is one of the leading CiviCRM service providers. Giving Back is a cornerstone of our company culture, and we proudly support many charitable and humanitarian organizations with pro-bono or reduced-cost services. While our Giving back program is usually full, we still have a few Drupal openings this summer and would therefore be glad to support nonprofits that need Drupal work with pro-bono services.

Criteria for being part of the program are simple: being a primarely volunteer-run non-profit organization providing free and secular services to the underprivileged (every word is important!).

If your organization fits these criteria, please drop us a line at with your wishes and we might make turn them into reality!



Catégories: Elsewhere

Drupal Commerce: Commerce Kickstart 2.27 Release

jeu, 30/07/2015 - 04:14

Commerce Kickstart 2.27 was released today, and includes quite a few bugfixes and features. Recently Commerce Kickstart 2 upgraded from Features 1.x to the Features 2.x API, and we've added some measures to help with the upgrade process! If you're not using Features Override yet, go on get it! Use this to save your customizations to the distribution and have a smoother upgrade. For more information, see the Installing & Upgrading guide.

Catégories: Elsewhere

Pantheon Blog: Composer vs. Drush Make: Which Should You Use?

mer, 29/07/2015 - 21:49
(Picture of Ryu and Ken by FioreRose) Michael Prasuhn recently sent out a tweet regarding Composer vs Drush Make:
Catégories: Elsewhere

Drupal Watchdog: VIDEO: DrupalCon Los Angeles Interview: Rudy Grigar

mer, 29/07/2015 - 19:45

Rudy Grigar (Infrastructure Manager, would love to have learned Drupal in pre-school, but alas, he had to wait till third grade.
Here, he opens up about Git commits and DevOps which sounds very hush-hush. As I probe further, Rudy lets slip controversial remarks about Drupal’s potential for subversion, the NSA’s consequential attempts to suppress open source (if I understand him correctly), and an upcoming article he’ll write for Drupal Watchdog. (Hurry, subscribe!

Tags:  Video DrupalCon LA DrupalCon Video: 
Catégories: Elsewhere

Commercial Progression: Michigan Drupal Developers and their Summer Projects (E10)

mer, 29/07/2015 - 17:44

Commercial Progression presents Hooked on Drupal, “Episode 10: Summer of Drupal with Special Guests Hillary Lewandowski and Michael Zhang".  In this episode of Hooked on Drupal, the usual crew is joined by two new members to the CP team.  Hillary Lewandowski, the latest member to the development team brings her wisdom from a formal education in computer science.  

Additionally, Michael Zhang is one of two summer interns from Northville High School and an active member of Northville DECA, with a focus on marketing.

Hooked on Drupal is available for RSS syndication here at the Commercial Progression site. Additionally, each episode is available to watch online via our YouTube channel, within the iTunes store, on SoundCloud, and now via Stitcher.

If you would like to participate as a guest or contributor, please email us at

Content Links and Related Information

We experienced this year's DrupalCon vicariously through our last Michigan Drupal meetup and our previous podcast with Steve Burge from OSTraining.  This summer proves to be quite busy with new team members, projects, and Drupal 8 investigations.

As the Commercial Progression team size grows, our development team has begun to specialize.  Brad has focused on developing new processes for site architecture and shares his discoveries for preparing a Drupal project for design and development. Other team members share their personal project subject matter.

OOP In Drupal 8

In addition to working with the new WYSIWYG Fields and Conditional Fields,  Hillary shares some of her thoughts and computer science background with Object Oriented Programming and Drupal 8 in her latest blog post.

Personalize Module

Chris and Shane discuss the Acquia contrib Personalize module based on Lift technology for content personalization via URL based campaign parameters, geography, visitor cookies, A/B or Multi-variate testing, and a host of other variable session data.

Paragraphs Module

Inspired by Jeff Eaton and the Battle for the Body Field DrupalCon presentation, Brad dug into the Paragraphs module and put together a popular paragraphs blog post with some best practices for winning the battle for the body field.  When Brad is not fighting the good fight for the supremacy of the Paragraphs module, he has also created an automated competitive marketing intelligence research script… yeah I know, really.


Hooked on Drupal Content Team


CHRIS KELLER - Developer




 Podcast Subscription

Tags:  Hooked on Drupal, Drupal 8, OOP, Personalize, Planet Drupal, podcast
Catégories: Elsewhere

Drupalize.Me: Release Day: Send Email Using MailChimp with Drupal 7

mer, 29/07/2015 - 15:00

This week we'll be continuing our Using MailChimp with Drupal 7 series. And like last week, all the tutorials are free. Last week we looked at creating, and collecting contacts for, a MailChimp mailing list. This week we'll look at all the different ways we can send email to our lists.

Catégories: Elsewhere

Realityloop: Community driven development

mer, 29/07/2015 - 10:05
29 Jul Stuart Clark

Realityloop has a long history with the Melbourne Drupal community; We’ve been heavily involved in the monthly Drupal meetups and began the monthly mentoring meetups. However, the monthly mentoring only came about after a failed experiment in community based web development.

While that experiment may have failed, the idea of community driven Drupal development has been of great interest to me as it truly embraces the spirit of open source.

In the last two weeks I have release two websites for the Drupal Melbourne community, a DrupalMelbourne community portal and a landing page for the upcoming DrupalCampMelbourne2015. In this tutorial I will be demonstrating how anyone can get involved with the development of these sites, or how the process can work for the benefit of any other community based website.


The workflow:
  1. Build the codebase
  2. Setup and install the site
  3. Make your changes
  4. Update features and makefiles
  5. Test the changes
  6. Fork repository / push changes / pull request


Build the codebase

As per usual for myself and Realityloop, these sites are built using a slim line profile / makefile approach with the GIT repository tracking custom code only, which means you will require Drush to build the site codebase.

If you are not familiar with Drush (DRUpal SHell), I highly recommend familiarising yourself as it’s not only incredibly useful in everyday Drupal development, it is also a requirement for this tutorial. Installation instructions can be found at

Assuming you have Drush ready to go, building the codebase is as simple as running the following, relevant command:

  • DrupalMelbourne​ drush make --working-copy=1 drupalmel-7.x
  • DrupalCampMelbourne2015 drush make --working-copy=1 dcm-2015.x

The resulting codebase contains the specified Drupal core (currently 7.38) along with the relevant install profile containing all custom and contrib code (modules, themes and libraries).

Note: --working-copy=1 is used to retain the link to the GIT repository.


Setup and install the site

Once your codebase is built you simply need to install a site as you would normally do so, ensuring that you use the relevant installation profile (DrupalMelbourne or DrupalCampMelbourne).

The sites are constructed in such a way that there is absolutely no need to copy down the production database, any content is either aggregated from external sources, or dummy content is created via the Devel generate module for the purposes of development. This means that there is no laborious data sanitization processes required, allowing contributors to get up and running in as short of time as possible.

For more details on how to setup a Drupal site, refer to the Installation Guide or your *AMP stack.


Make your changes

No change is insignificant, and a Community driven site thrives on changes; if you think you can make the site look better, found a bug that you can fix, or want new functionality on the site, the only thing stopping you is you!


Update features and makefiles

Once you’re happy with the changes you’ve made, be it content, theme or configuration, you need to ensure that it’s deployable, and as we’re not dealing with databases at all, this means that you need to update the codebase; features and makefiles.

If you’re not familiar with Features or Makefiles, much like Drush, I highly recommend them, as again, they are required for this particular approach of Community driven development.

You can find more details on Features, Makefiles and Drush at my DrupalSouth 2012 talk "Ezy-Bake Drupal:Cooking sites with Distributions".



Features allows you to capture most of your configuration in the filesystem, allowing to be deployed via GIT.

In the case of these sites, there is only one feature which encapsulates all configuration, as these sites have a relatively straight forward purpose. Some sites may warrant more, that is a discussion for another day.

To update the feature, it’s an extremely simple process:

  1. Navigate to the relevant path within your site:
    • DrupalMelbourne: admin/structure/features/drupalmel_core/recreate
    • DrupalCampMelbourne2015: admin/structure/features/drupalcampmel_core/recreate
  2. Add or remove any required components (Page manager, Strongarm, Views, etc).
  3. Expand the Advanced options fieldset and click the Generate feature button.

More information can be found at the Features project page.



Makefiles are recipes of modules, themes and libraries that get downloaded by Drush make, including their versions and patches.

Updating a makefile is relatively straightforward, it’s just a matter of opening the file in your IDE / text editor of choice and updating the entries.

There are two makefile in these sites, stub.make and drupal-org.make; the stub.make contains Drupal core and the install profile (and any relevant patches) and the drupal-org.make contains all third-party (contrib) code.

Any new or updated modules, themes or libraries (and any relevant patches) need to be added to this file, as no third-party code is tracked in the GIT repo.

The makefiles are organized into three primary sections; Modules, Themes and Libraries. Below are some examples of how an entry should be defined:


Bean module, version 1.9:

projects[bean][version] = 1.9


Reroute Email module, specific GIT revision with patch applied:

  1. projects[reroute_email][download][revision] = f2e3878
  2. ; Variable integration -
  3. projects[reroute_email][patch][] =

Note: It is always important to include version, if you need a development release then use a GIT revision as otherwise what you build today may be drastically different from what you build tomorrow.


Bootstrap theme, version 3.1-beta2:

  1. projects[bootstrap][type] = theme
  2. projects[bootstrap][version] = 3.1-beta2

Note: As the default projects 'type' is set to module, themes need to specify their type. This is a personal choice in the Drush make file configuration, as it is highly likely you will always have more modules than themes.


Backbone library, version 1.1.2:

  1. libraries[backbone][download][type] = get
  2. libraries[backbone][download][url] =

Note: As libraries are not projects hosted on (in general), you need to specify the URL of which the files is downloadable, or cloneable, from.

More information can be found on the Drush make manual page.


Other changes / hook_update_N()

Sometimes changes don’t fall under the realm of features or makefiles, either due to a modules lack of integration with features, or when dealing with content rather than configuration. This still needs to be deployable via the codebase, and can be done with the use of a hook_update_N() function.

A hook_update_N() is a magic function that lives in a modules .install file, where hook is the machine name of the module and N is a numeric value, formatted as a 4 digit number in the form of XY##, where X is the major version of Drupal (7), Y is the major version of the module (1) and ## is a sequential value, from 00 to 99.

Example: drupalmel_core_7100() / drupalcampmel_core_7100()

The contents of a hook_update_N() is whatever you wish it to be, and Drupal API function or PHP.

An example of one such function is:

  1. /**
  2. * Assign 'ticket holder' role to ticket holders.
  3. */
  4. function drupalcampmel_core_update_7105() {
  5. $query = new EntityFieldQuery();
  6. $results = $query->entityCondition('entity_type', 'entityform')
  7. ->entityCondition('bundle', 'confirm_order')
  8. ->execute();
  10. if (!empty($results['entityform'])) {
  11. $entityforms = entityform_load_multiple(array_keys($results['entityform']));
  12. foreach ($entityforms as $entityform) {
  13. $user = user_load($entityform->uid);
  14. $user->roles[3] = 'ticket holder';
  15. user_save($user);
  16. }
  17. }
  18. }

For more details, refer to the hook_update_N() API documentation.


Test the changes

Once you’ve made your changes and prepared your features and makefiles, it’s ideal to ensure that everything is working as expected before you push it up to the GIT repo.

This is a multi-step process, but it’s easy enough, especially given that we don’t have a database that we have to worry about.


  1. Take a database dump of your local (development) site; Safety first.
  2. Re-install the site with the the relevant install profile:
    • DrupalMelbourne: drush si drupalmel -y
    • DrupalCampMelbourne2015: drush si drupalcampmel -y
  3. Test to ensure your changes are present and working as expected.



Testing your makefile can be a little bit trickier than testing your features, as when you download a module, theme or library there are various places they can be stored, and it’s easy to get a false positive.

  1. Build a --no-core version of the drupal-org.make file into a temporary directory. A --no-core build is exactly what it sounds like, build the makefile excluding Drupal core.

    1. cd ~/temp
    2. drush make --no-core --no-gitinfofile ~/Sites/drupalmel-7.x/profiles/drupalmel/drupal-org.make dm-temp
  2. Run a diff/merge tool over the --no-core build’s sites/all directory and your local (development) site’s relevant profile directory (e.g., profiles/drupalmel).

    I personally use Changes on OS X, but there are different free and paid diff/merge tools for different operating systems.
  3. Ensure that all third-party (contrib) code is identical on both sides of the diff/merge, any discrepancies imply that you may be missing an entry in your makefile, or that your local version of the code is located in an incorrect location.

If your changes aren’t working as expected, or something is missing, simply restore your database dump and go back to the Update features and makefiles step.


Fork repository / push changes / pull request

Now that you have made your changes and everything is good to go, it’s time to push those changes back to the repository.

For the sake of a manageable review process, it’s preferable that all changes should be made in a fork with a pull request back to the master repository.

If you’ve only ever lived in the realm of, then this may be an entirely alien process, but it is again a relatively straight forward process.

Note: If you don’t have a Github account, you will need one. Signup for free at

  1. Go to the relevant Github repository:
  2. Click the Fork button (top right of the page) and follow the onscreen instructions.
  3. Click the Copy to clipboard button on the clone URL field (in the right sidebar).
  4. Add a new GIT remote to your local (development) site with the copied URL.

    1. cd ~/Sites/drupalmel-7.x/profiles/drupalmel
    2. git remote add fork
  5. Commit and push the changes to your fork.
  6. Create a pull request via your Github fork by clicking the Pull request button, providing as much detail as possible of what your changes are.

If all goes well, someone will review your pull request and merge the changes into the relevant website.


The review process

So this is the not so community friendly part of the process; In a perfect world the community should be able to run itself, but Github isn’t necessarily setup this way, nor is Someone has to specifically approve a Pull request. Currently this is only myself and Peter Lieverdink (cafuego).

I’m absolutely open to suggestion on how to improve this, comment below if you have any thoughts on how this could be improved.


The uncommitables

Not everything should be committed, especially in a public repository. A perfect example of something that shouldn’t be committed is an API key.

The DrupalMelbourne website integrates with the API to pull in all DrupalMelbourne Meetups, but exposing the API key to the codebase would open the DrupalMelbourne meetup group to abuse and spam.

To deal with this, API keys and other sensitive items can be dealt included directly on the server or in the database, and placeholders can be user for local development.


Open source your site?

Exposing your website codebase is definitely not the normal practice, and it's absolutely not for everyone. I couldn't imagine trying to convince a client to go down this road. But for a community site, especially a Drupal based community site, it just makes sense. While I wouldn't expect every visitor with Drupal knowledge to volunteer their time to help with the sites development, any who do is 100% more than you'd get otherwise.

drupaldrupal planet
Catégories: Elsewhere

Modules Unraveled: 142 Why Drupal 8 is the Most Important Product Release in the History of the WCM Market with Tom Wentworth - Modules Unraveled Podcast

mer, 29/07/2015 - 07:00
Published: Wed, 07/29/15Download this episode

So, Doug Vann emailed the two of us a while ago and said that I should have you on because

"I'm on the record as a huge fan of Tom's for his well educated and well rounded perspective on proprietary and Open Source software solutions. ... I'd be excited to hear Tom interviewed on the topic of how Drupal 8 will continue to erode into the proprietary market."

I thought that sounded good, so here we are!

Web Content Management
  • When you replied, you said that Drupal 8 is the most important product release in the history of the WCM market. Can you start out by explaining what WCM stands for and what qualifies software as a WCM product?
  • You also mentioned that the 2nd most important release was Day Software’s CQ5. What is that?
  • When I hear about Drupal’s competitors, I generally hear about Wordpress and Joomla. Why aren’t either of those number two?
Drupal’s Place in the WCM Market
  • How has Drupal faired in the WCM market so far?
  • What do you see Drupal 8 bringing to the table that sets it apart from other products?
Questions from Twitter
  • Jacob Redding

    • How does Drupal 8 change the comparison with AEM? Specifically what are the features with Drupal 8 that bring Drupal to a more level playing field with AEM? Is there a single specific feature that Drupal does hands down better than AEM?
  • Doug Vann

      • Drupal promotes an "Ownership Society" where Universities, Media Companies, Governments, etc. hire in ​Drupal talent and build sites inhouse. How does D8 impact that trend? Is D8 more for shops and agencies and less for DIYers or is that just F.U.D. talking?​
    • Any Drupaler would state that Drupal has been "disruptive" insofar as we have allowed highly visible sites to ditch their proprietary CMS in favour of Drupal.
      • To date, has that success been "truly disruptive" by your definition?
      • With the astounding advancements baked into D8, are you looking forward to an even more disruptive presence in the CMS playing field?
    • Shops
      • Is Drupal 8 ushering in a new era which will see a fundamental shift in how Drupal is delivered in the areas of customer procurement, engagement, and delivery?
      • To reword that. Are Adobe CQ5 and Sitecore shops operating significantly different than Drupal shops today AND are we going to see Drupal shops retooling and reshaping to a more enterprise looking organization?
      • In The past 18+ months, it seems that more people are willing to ​admit that Drupal 8 is moving Drupal "Up Market." Agencies are often the vendor of choice in those deep waters. Should we expect some more mergers and acquisitions which will ultimately empower agencies to deliver Drupal services inhouse?​
    • ​The little guys
      • Where are the little guys in the D landscape?
      • Do you still see the $10K and the $45K range websites feeding the smaller end of the Drupal ecosystem?
Episode Links: Tom on drupal.orgTom on TwitterDrupal 8 Info PageAcquia BlogAcquia’s Drupal 8 Info PageAcquia’s Ultimate Guide to Drupal 8 (Exclusive direct link!)Tags: Drupal 8planet-drupal
Catégories: Elsewhere

Jim Birch: Googlebot cannot access CSS and JS on your Drupal site

mer, 29/07/2015 - 01:27

There was a time when search engine bots would come to your site, index the words on the page, and continue on.  Those days are long past.  Earlier this year, we witnessed Google's ability to determine if our sites were mobile or not.  Now, the evolution of the Googlebot continues.

I would say that it was not uncommon for web developers to receive at least a few emails from Google Search Console today.

To: Webmaster...
Google systems have recently detected an issue with your homepage that affects how well our algorithms render and index your content. Specifically, Googlebot cannot access your JavaScript and/or CSS files because of restrictions in your robots.txt file. These files help Google understand that your website works properly so blocking access to these assets can result in suboptimal rankings.

Well, that's a little bit of information that I never thought about before, Google wanting to understand, how my "website works", not just understanding the content and the structure of it.  Turns out, Google has been working toward this since October of last year.

Update your robots.txt

To allow Googlebot to access your Javascript and CSS files, add a specific User-agent for Googlebot, repeating the rules you already have, and adding the new "Allow" rules.

Read more

Catégories: Elsewhere

Midwestern Mac, LLC: Nginx Load Balancer Visualization on a Raspberry Pi Cluster

mar, 28/07/2015 - 19:03

After some more tinkering with the Raspberry Pi Dramble (a cluster of 6 Raspberry Pis used to demonstrate Drupal 8 deployments using Ansible), I finally was able to get the RGB LEDs to react to Nginx accesses—meaning every time a request is received by Nginx, the LED toggles to red momentarily.

This visualization allows me to see exactly how Nginx is distributing requests among the servers in different load balancer configurations. The default (not only for Nginx, but also for Varnish, HAProxy, and other balancers) is to use round-robin distribution, meaning each request is sent to the next server. This is demonstrated first, in the video below, followed by a demonstration of Nginx's ip_hash method, which pins one person's IP address to one backend server, based on a hash of the person's IP address:

Catégories: Elsewhere

Mediacurrent: Mediacurrent Dropcast: Episode 8

mar, 28/07/2015 - 19:01

This episode we welcome Shellie Hutchens, Mediacurrent’s Marketing Director, to talk about upcoming webinars and and the fact that Mediacurrent is hiring. Ryan picked Stage File Proxy as the Module of the Now. We discuss our first non-drupal article from Four Kitchens about Saucier (pronunciation TBD). Mark stumbles through some D8 News and of course we finish off with some great conversation during Ryan’s Final Bell.

Catégories: Elsewhere

Drupal Association News: Drupal Association Board Meeting: July 22, 2015

mar, 28/07/2015 - 18:37

Here we go again! It's your monthly summary of all things board meeting at the Drupal Association. This month we covered board governenance (there's a seat opening up), the D8 Accelerate Campaign, and the Association strategic frame. Plus, as a bonus, the board approved the Q2 financials for publication. As always, if you want to catch up on all the details, you can find everything you need to know about the meeting online, including minutes, materials, and a recording. If you're just here for a summary view, read on!

Meeting Minutes Related Materials Video Recording Board governance

Angie Byron's term on the board is going to be up this fall, and she has expressed her desire not to renew that term. We're going to be very sad to see Angie go, but thrilled that she will have one less hat to talk about when explaining which hat she is wearing at any given point during your next meeting with her. Seriously - she's brought so much thoughfulness and passion to the board. She's not leaving us yet (her term expires 10/31), but our Governance Committee will be working with the Nominations Committee to recruit candidates and help the board make the next selection.

D8 Accelerate

As I write these words there are just 10(!) release blockers standing between us and a release candidate for Drupal 8. Part of the momentum this year has come from Drupal 8 Accelerate. We've made over 40 grants, worth more than $120,000 so far. That's helped us close nearly 100 issues, addressing some really important features, like a beta to beta upgrade, security bugs, and performance. If you're curious about what's getting funded, you can always see the full list. And, we're getting close to reaching our goal - we've raised $223,000. You can help us reach our $250,000 goal by making a donation today!

Drupal Association Strategic Frame

Why are we doing the work we do? Because everyone at the Association wants to have a positive impact for Drupal. The best way for us to have an impact is to pick a few goals that we are going to focus on achieving. The Association board used their January retreat to set some 3-5 year goals for the Association:

  • To develop sufficient professionals to meet global demand for Drupal
  • To lead the community in focused, efficient, effective development of Drupal
  • To ensure the sustainability of the Drupal project and community
  • To increase Drupal adoption in target markets
  • To increase the strength and resilience of the Drupal Association

We've been working since then to select the right strategies and objectives (1 year to 18 month time frame) for our work. You can see the directions we're headed in the presentation we shared. It's important to note that we expect to revisit our strategies and objectives on a quarterly basis to adjust as we go. The world of Drupal moves fast, and we need to as well. So, although we are setting 12 to 18 month objectives, we will be adjusting the frame much more frequently, and won't be sticking with objectives that we find don't really support the work.

2015 Q2 Financials

And in the most exciting news of all, the second quarter financials were approved by the board. You can always find whatever financials have been released in the public financials folder. If you have never taken a look at the financials before, I recommend it. Although I tease about them being boring, I love financial statements! A while back, I wrote up a post about how to read our financial statements. I also like pointing out that each Con has it's own tab in our financial statements, so you can see exactly how that money coems in, and where it is spent. 

See you next time!

And that's it for this summary. But, if you have questions or ideas, you can always reach out to me!

Flickr photo: Joeri Poesen

Catégories: Elsewhere

InternetDevels: The ABC of Creating Reliable Backups in Drupal

mar, 28/07/2015 - 17:28

Find some useful tips on Drupal website data security from our guest blogger Jack Dawson, founder of Big Drop Inc.

In Drupal web development, there are a number of things that can be done to ensure the superior user experience and consistency, as well as save time and pain for the webmaster in times to come. First, you’ll need to have in mind the theme structure of Drupal and how you intend to draft your content in order to take advantage of Drupal’s best aspects and make the site efficient.

Read more
Catégories: Elsewhere

LevelTen Interactive: A Simple Entity Data API for Module Builders

mar, 28/07/2015 - 17:26

Entity Data is a handy little API to make module builder's lives easier. If you need to build a module that adds functionality and data to an entity, no longer will you have to implement your own CRUD and export/import support.

A module builders dilemma

Fields are a powerful way to add data to Drupal entities. However, sometimes fields can be rather cumbersome. Particularly when you want to add something and thus attach fields to entities that already exists.... Read more

Catégories: Elsewhere

Amazee Labs: Listen up! - the Amazee Labs Sessions at DrupalCon Barcelona

mar, 28/07/2015 - 16:29
Listen up! - the Amazee Labs Sessions at DrupalCon Barcelona Corina Schmid Tue, 07/28/2015 - 16:29

Countdown is t-8 weeks until DrupalCon Barcelona! Our team is already gearing up and very excited. We are very happy and proud to have not only one, but several team members presenting at this Con agaicre. Check out their sessions.

Business and Strategy - Track

Our very own Dania Gerhardt talks about how to diversify your business beyond Drupal.

Coding and Development - Track

Josef Dabernig (who held his first keynote at DrupalCamp North last week) shares insights on coding with Rules in Drupal8 alongside with Wolfgang Ziegler (fago) and Klaus Purer (klausi).

Core Conversation - Track

Avoiding in the first place and surviving contribution burnout is what Michael Schmid talks about; together with Lauri Eskola.

DevOps - Track

He is the master of log files at Amazee Labs. Bastian Widmer will show you how to visualize log files with ELK stacks.

Project Management -Track

Sharing is caring. That is why Dagmar Muth and Michael Schmid tell it all in their Session AMA: Drupal Shops explain how they do it together with Emma Jane Hogbin Wetsby (emmajane), Steve Parks (steveparks) and emkay.

Site Building - Track

Building layouts from 7 to 8: Coding vs. Clicking is Josef Dabernigs second session in which he shares his site building expertise. But we've got even more for you - Anna Hanchar and Claudine Braendle present how to create a great experience for content editors.

See you soon in Barcelona!


Catégories: Elsewhere

Drupal Watchdog: Back to the Future

mar, 28/07/2015 - 16:18
Article The Problem

Drupal traditionally excels in the area of content organization – not only as a content management system, but also in allowing you to create structured data, thanks to the entity and field systems.

However, while flexibility in Drupal 7 has grown – compared to Drupal 6 – the preview and revisioning systems have been very limited (and still are in Drupal 8, as of now). The only possibility in Drupal 7 was to click “preview” and see a very rough outline of how the content might look styled with the admin theme.

Trying to use the same CSS and/or JS in the admin and default themes is a difficult endeavor. Solutions include AJAX callbacks and iframes, but those solutions are neither optimal nor in widespread use.

The Drupal 7 core revisioning system is also limited and mainly allows auditing and reverting back to another revision; any saved revision is immediately live and overwrites the state of the old revision. Therefore, it is impossible to have different stages of the same piece of content once it has been published.


The workflow needed by most larger content teams is that each article can be a “draft” stage, then revised by an editor and, finally, approved by a content publisher.

While the workflow provided by the Workbench module is already quite good at this, it still lacks something that even bigger teams need: The possibility to publish content together as a “pack.”

One example of this is a large marketing campaign that has several articles which, taken together, form the new front page and show several subpages. In order to properly review these changes, editors and content publishers need to be able to see the set of changes on the site as a whole. CPS fills this gap, because it allows you to view the whole site as if the content was already published – but your live site remains unchanged!

How Does it Work?

CPS divides your site into changesets, called ‘site versions’ in the UI.

Every editor has their own ‘site version’ (though collaboration and moving of drafts between changesets is possible) and can see the site overlayed with all the changes they have made.

Catégories: Elsewhere

ERPAL: Learn to update Drupal automatically in this video

mar, 28/07/2015 - 15:35

Yesterday we hosted our first Drop Guard webinar. For those who couldn’t attend, I share the video with you below. Both the participants’ interaction and the number of attendees far exceeded our expectations: more than 70 people watched the free webinar and learned how to update Drupal automatically with integration into development and deployment workflows. First of all, I want to thank everybody who has supported us from the initial idea through to the first closed beta phase and helped us to improve the service. Without the help of the awesome Drupal community we would never reach our ambitious goals to build this product!
Here I’d like to share a couple of tweets we got during the webinar, such as @drop_guard @tweetsBS Chapeau, you guys build something really great! #drupal and Drupal updates as a service? @drop_guard looks like a powerful solution. Thanks! You make us very proud and prove we’re on the right track.

A couple of questions have come up that I want to summarize and share with you here.

"How do you update servers on @acquia or @getpantheon when you don't have direct access to staging servers?"
In the current version we support "Events and Actions" to trigger deployment actions such as "call a URL", "Execute SSH command". With these actions you can call scripts on a separate server that trigger deployment actions on, Acquia cloud, or Freistil Box hosting. In the future we’ll consider how we can provide seamless integration with these hosting providers. As they all expose an API or a CLI, you can use scripts that are triggered by the "execute SSH command" action in the events tab (see the video for further details). We’ve already started our first talks on cooperating with freistil Drupal hosting and, so we hope to have the same interesting and valuable conversations with other hosting platform providers. If you have concrete ideas for integration scenarios, I’m happy to discuss them in the comments.

"It there a way to let Drop Guard work via FTP only?"
An FTP-based workflow is planned for the future, earliest in 2016. We plan to provide a feature to let you connect to your FTP account, and Drop Guard will copy the code base to operate on a local GIT repository. Actually, Drop Guard requires a GIT repository where your code is committed.

"Can I integrate Drop Guard with Jira?"
You can do this in the current version by using the web hook integration to create a task. You need to wait until we release our REST API that lets you execute actions on task to change statuses and trigger deployment actions accordingly.

"Does Drop Guard need a copy of my database?" No, Drop Guard doesn't require you to grant access or copy your live database. To avoid this we based our architecture on services that are exposed by the Drop Guard module that you need to install on your live site. This module exposes and API and transfers the information that Drop Guard needs from your live installation via an encrypted connection, which is also how Drop Guard receives information regarding installed modules and their versions to determine available updates.

"Is there an agency partner program for Drop Guard partners?" Our pricing model targets the need for scale of Drupal shops: you pay for one site and use Drop Guard as a white-label service to sell reliable update services to your client. You can also add your agency fee to the price as needed. There will be an affiliate program till the end of this year that rewards successful recommendations to Drop Guard.

For those of you who couldn’t attend the webinar live, here’s the full video:

and the slides are available as well:

Drop Guard vs. Drupalgeddon webinar from Manuel Pistner


Catégories: Elsewhere

Drupalize.Me: Tutorial: Panels as Blocks

mar, 28/07/2015 - 15:04

In this tutorial, you will learn how to place panels in any region of your theme using Drupal's Blocks UI and a module packaged within the Panels project: Mini Panels. This tutorial is based on a free video in our library, Placing Panels in Blocks with Mini Panels

Catégories: Elsewhere

Mpumelelo Msimanga: External Database Views As Drupal Views

mar, 28/07/2015 - 15:00
External Database Views As Drupal Views

This is a followup post to a post where I showed how you can use VDC to display data from an external database table in a Drupal View. In this post I display an external database view as a Drupal View. This is another step towards showing how Drupal can be used as a Business Intelligence (BI) or data analysis platform.

Catégories: Elsewhere