Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 25 min 9 sec ago

Annertech: One week to get your sessions in for DrupalCon Dublin!

Fri, 01/07/2016 - 16:54
One week to get your sessions in for DrupalCon Dublin! With three months left to go before DrupalCon Dublin, event planning is in full swing. Like all Irish Drupal events, Annertech are actively involved in preparations for DrupalCon. Our managing director, Stella Power, has taken on the role of local team lead as well as Business Track chair, and I myself am the Project Management track chair. There's less than a week now to get your sessions submitted for DrupalCon, so it's time to get writing!
Categories: Elsewhere

Amazee Labs: A new CTO for Amazee Labs Zurich

Fri, 01/07/2016 - 15:48
A new CTO for Amazee Labs Zurich

Six years ago the team at Amazee decided to start a Drupal agency called Amazee Labs in Zurich, Switzerland (read more about the Amazee journey) where I worked as a Drupal developer. Over the years, our small team at Amazee Labs grew and my responsibilities as a developer shifted. Suddenly I wasn’t coding all day. I became a team lead and finally CTO. I code much less now than I did during those first years.

Michael Schmid Fri, 07/01/2016 - 15:48

Along with growing the team, we also grew Amazee. We added Amazee Metrics, Amazee Labs in Austin, Amazee Labs in Cape Town, and our newest venture, amazee.io. Each company demanded my attention, so I spent and still spend quite a lot of time in airplanes and on the road.

This growth has been awesome and a never ending journey of new challenges and learning. It’s also been exhausting and caused tensions and bottlenecks some times, as each group waited for my attention and time. Fortunately, this also taught me a very important lesson of good management: letting go.

Let go, enable your team, and make yourself redundant.

This is why I step down as CTO of Amazee Labs Zurich and pass the CTO-torch along to the next person who leads our tech team in Zurich: I’m very happy to announce that Josef Dabernig is our new CTO at Amazee Labs in Zurich from July 1, 2016 on.

Josef joined Amazee Labs in August of 2014 and has demonstrated his leadership and technology skills every day since then. He even taught me an important skill, that sometimes you need to slow down in order to be effective.

I wish Josef all the best with his new role. I am looking forward to see what his team will release. From what I’ve seen so far, they stand to deploy some pretty epic projects in the coming months.
As for me? I’ll be be spending this newfound freedom as the new CTO of Amazee Group, racking up travel miles and providing support and technical guidance for all our companies, specifically amazee.io, which we recently launched back in May.

Categories: Elsewhere

DrupalEasy: DrupalEasy Podcast 180 - Pimping GovCon (Sarah Thrasher - GovCon)

Fri, 01/07/2016 - 15:37

Direct .mp3 file download.

Sarah Thrasher (sarahjean), front-end developer with Acquia, joins Andrew (remember him?), Kelley, and Mike to discuss the upcoming Drupal GovCon, what is means to be a junior developer, how the Drupal community is helping to make sure our community members stays healthy, and we bid farewell to Mike using the word "pimp". All that and our picks of week and five questions!

Interview DrupalEasy News Three Stories Sponsors Picks of the Week Upcoming Events Follow us on Twitter Five Questions (answers only)
  1. Learning Japanese
  2. DrupalVM
  3. Speaking at Drupalcon
  4. Chicken
  5. Before 2008 was a print designer. They had an internal site that needed update so hey, Drupal. Read "Using Drupal" from cover to cover and created the site.
Disclaimer

Sorry about the audio quality in this episode. We had to go to our emergency recording of the call which is only two channels (our regular recording is one channel per participant) and heavily compressed.

Intro Music Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Categories: Elsewhere

Zivtech: Challenges of Front End Development

Fri, 01/07/2016 - 15:21

With phone in hand, laptop in bag and earbuds in place, the typical user quickly scans multiple sites. If your site takes too long to load, your visitor is gone. If your site isn’t mobile friendly, you’ve lost precious traffic. That’s why it’s essential to build well organized, mobile ready sites.

But how do you get good results?

  • Understand whom you’re building for
  • Employ the right frameworks
  • Organize your codebase
  • Make your life a lot easier with a CSS preprocessor
Let’s look at each of these points.
Design For Mobile When you look at usage statistics, the trend is clear. This chart is from Mary Meeker's 2016 Internet Trends Report.

A vast array of mobile devices accomplish a variety of tasks while running tons of applications. This plethora of device options means that you need to account for a wide assortment of display sizes in the design process.

As a front end developer, it’s vital to consider all possible end users when creating a web experience. Keeping so many display sizes in mind can be a challenge, and responsive design methodologies are useful to tackle that problem.

Frameworks that Work

Bootstrap, Zurb, and Jeet are among the frameworks that developers use to give websites a responsive layout. The concept of responsive web design provides for optimal viewing and interaction across many devices. Media queries are rules that developers write to adapt designs to specific screen widths or height.

Writing these from scratch can be time consuming and repetitive, so frameworks prepackage media queries using common screen size rules. They are worth a try even just as a starting point in a project.

Organizing A Large Code Base Depending on the size of a web project, just the front end code can be difficult to organize. Creating an organizational standard that all developers on a team should follow can be a challenge. Here at Zivtech, we are moving toward the atomic design methodology pioneered by Brad Frost. Taking cues from chemistry, this design paradigm suggests that developers organize code into 5 categories:
  1. Atoms
  2. Molecules
  3. Organisms
  4. Templates
  5. Pages

Basic HTML tags like inputs, labels, and buttons would be considered atoms. Styling atoms can be done in one or more appropriate files. A search form, for example, is considered a molecule composed of a label atom, input atom, and button atom. The search form is styled around its atomic components, which can be tied in as partials or includes. The search form molecule is placed in the context of the header organism, which also contains the logo atom and the primary navigation molecule.

Now Add CSS Preprocessors Although atomic design structure is a great start to organizing code, CSS preprocessors such as Sass are useful tools to streamline the development process. One cool feature of Sass is that it allows developers to define variables so that repetitive code can be defined once and reused throughout.

Here’s an example. If a project uses a specific shade of mint blue (#37FDFC), it can be defined in a Sass file as $mint-blue = #37FDFC. When styling, instead of typing the hex code every time, you can simply use $mint-blue. It makes the code easier to read and understand for the team. Let’s say the client rebrands and wants that blue changed to a slightly lighter shade (#97FFFF). Instead of manually finding all the areas where $mint-blue is referenced on multiples pages of code, a developer can easily revise the variable to equal the new shade ($mint-blue = #97FFFF; ). This change now automatically reflects everywhere $mint-blue was used. Another useful feature of Sass is the ability to nest style rules. Traditionally, with plain CSS, a developer would have to repetitively type the parent selector multiple times to target each child component. With Sass, you can confidently nest styles within a parent tag, as shown below. The two examples here are equivalent, but when you use Sass, it’s a kind of shorthand that automates the process.

Traditional CSS

Sass

Although there are a lot of challenges organizing code and designing for a wide variety of screen sizes, keep in mind that there are excellent tools available to automate the development process, gracefully solve all your front end problems and keep your site traffic healthy.
Categories: Elsewhere

Nacho Digital: AberdeenCloud is gone! We have 36hs to recover your backups!

Fri, 01/07/2016 - 14:50
What's important to learn about the recent AberdeenCloud meltdown? You can not trust your backups and site to a single provider!

Well it is all over the blogosphere, AberdeenCloud breakdown. I already read a couple of articles on the subject and I couldn't agree more with the one from annertech, only way to avoid this kind of issues is offsite backup. I would normally write how to recover from something like this, but sadly as codeenigma explained there isn't much we could do, their servers just collapsed and were gone. But now for 36hs we'll be able to recover our data.

Categories: Elsewhere

Annertech: The Day that Aberdeen Cloud went Bye-bye

Fri, 01/07/2016 - 12:22
The Day that Aberdeen Cloud went Bye-bye This is Tommy, calling from the engine room! Were you affected by the Aberdeen Cloud incident that happened on the 28-06-2016? We weren't, but I'd call that partly luck and partly proactivity. We were actually prepared for this.
Categories: Elsewhere

DrupalCon News: Call for Papers Closing Soon

Thu, 30/06/2016 - 23:00

It all starts now. Every great DrupalCon session begins as an idea someone shares with our track chairs. There are only a few days left for that next someone to be you.

Categories: Elsewhere

Acquia Developer Center Blog: Should I Disable PHP Warnings and Notices?

Thu, 30/06/2016 - 22:54

Many developers who work on Drupal (or other web/PHP) projects have error reporting disabled in their local or shared dev environments. They do this for a variety of reasons: some don't know how to enable it, some are annoyed by the frequency of notices, warnings, and errors, and some don't like to be reminded of how many errors are logged.

But there are a few important reasons you should make sure to show all errors when developing:

Tags: acquia drupal planet
Categories: Elsewhere

Lullabot: Drupal Commerce 2.x with the "Guys" from the Commerce Guys

Thu, 30/06/2016 - 22:00
Matt and Mike sit down to deep-dive into the Drupal 8 version of Drupal Commerce with Ryan Szrama, Bojan Zivanovic, Matt Glamon, in addition to Lullabot's own Matt Robison.
Categories: Elsewhere

Cruiskeen Consulting: Drupal Camp Wisconsin - Coming soon!

Thu, 30/06/2016 - 20:09

Drupal Camp Wisconsin is on! and will be held on July 29-30 in beautiful Madison Wisconsin. This year we will be meeting at the Chemistry biulding on the UW Campus. There are still open slots for presentations --- so please stop by at http://drupalcampwi.org or make a session proposal, or to sign up for the camp. This is always a fun camp, and it did not happen last year, so this is the year to stop by and make Drupal Camp Wisconsin a success!  See you there.

Categories: Elsewhere

Drupal core announcements: Drupal 8 and 7 core release window on Wednesday, July 06, 2016

Thu, 30/06/2016 - 19:31
Start:  2016-07-05 12:00 - 2016-07-07 12:00 UTC Organizers:  xjm catch David_Rothstein stefan.r Event type:  Online meeting (eg. IRC meeting)

The monthly core patch (bug fix) release window is this Wednesday, July 06. Drupal 8.1.4 and 7.50 will be released with fixes for Drupal 8 and 7.

To ensure a reliable release window for the patch release, there will be a Drupal 8.1.x commit freeze from 12:00 UTC Tuesday to 12:00 UTC Thursday. Now is a good time to update your development/staging servers to the latest 8.1.x-dev or 7.x-dev code and help us catch any regressions in advance. If you do find any regressions, please report them in the issue queue. Thanks!

To see all of the latest changes that will be included in the releases, see the 8.1.x commit log and 7.x commit log.

Other upcoming core release windows after this week include:

  • Wednesday, July 20 (security release window)
  • Wednesday, August 03 (patch release window)
  • Wednesday, October 5 (scheduled minor release)

Drupal 6 is end-of-life and will not receive further releases.

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Categories: Elsewhere

Into my Galaxy: GSoC’ 16: Port Search Configuration Module to Drupal 8 : Mid Terms

Thu, 30/06/2016 - 13:24

I feel really excited to have cleared the mid-Term requirement for my project in Google Summer of Code (GSoC). The results of the mid-Term evaluations were announced June 28, 00:30 IST. This was the evaluation for the first phase of GSoC. In this evaluation process, set up by GSoC organisers, students and mentors have to share their feedback about the current progress of the project. Mentors need to give a pass/ fail grade. Students can continue coding once they clear the evaluations successfully.

I have been working on Porting Search Configuration module to Drupal 8. Please go through my previous posts if you would like to have a look into the past activities in this port process.

Last week I worked on testing some of the units of this module using the Php unit tests framework. Testing is an important process when it comes to any software development process. It plays a crucial role for any software. It helps us to understand the improve our software to the required level by making use of various test cases. We input various values and check whether the tests are passed according to the requirement. If any condition fails to our expectations, we need to make the required changes to suit the application needs.

Php unit tests are generally used to test some units of an application. To check whether the functions implemented gives the expected output, behaviour of the functions in various test cases, giving different types of arguments as inputs to check the errors or flaws for improving the application.

We need to install the Php unit for this process. You could follow this documentation for this process. Furthermore, they give a detailed analysis of the Php Unit Tests.

Once the installation is completed, we can start writing the unit tests for the functionalities we have implemented. The tests are generally stored in the tests/src/Unit directory of the module. The name of the unit test file will be of the format xyzTest.php. All tests are suffixed by ‘Test’. ‘xyz’ can be replaced by the functionality you are going to test.

The following is a simple test to check the sum of two numbers: sumTest.php

<?php class SampleTest extends PHPUnit_Framework_TestCase { public function testSum() { $this->assertEquals(2+2, 4); } } ?>

As mentioned in this above code snippet, we need to create a class, with class name suffixed by ‘Test’ which is an extension of PHPUnit_Framework_TestCase. Now, we need to write the tests inside as member functions. The functions starting with the name test are executed. Here we are checking the sum of the two numbers. This is a very simple demonstration.

The tests are run by using the command PHPUnit. i.e,

$ phpunit tests/src/Unit/sumTest.php

The output generated on running the above test is:

PHPUnit 5.4.6 by Sebastian Bergmann and contributors.

. 1 / 1 (100%)

Time: 252 ms, Memory: 13.25MB

OK (1 test, 1 assertion)

Stay tuned for future updates on this module port.

 


Categories: Elsewhere

Code Enigma: #AberdeenCloud - what happened?

Thu, 30/06/2016 - 10:54
#AberdeenCloud - what happened? Language English #AberdeenCloud - what happened?

The only cloud with no silver lining.

Thu, 2016-06-30 09:54By greg

 

If you were an #AberdeenCloud customer, you’ll be only too aware their platform went bang on the evening of 28th June 2016. Spectacularly.

As it happens, we had spotted the lack of support response, and while there had not (and still has not, I might add - they still have a Sign Up page!) been any communication from #AberdeenCloud that anything was wrong, we were starting to get a little nervous. It took time to ask our customers what they wanted to do, collate the responses, vet a new supplier (our ISO 27001 certification requires we procure carefully), negotiate contracts, and so on, but we had got there.

Having signed a contract with Platform.sh just the day before, we were about to start migrating #AberdeenCloud customers over. Unfortunately, as it turned out, we were just a few days too late.

So what happened? Our timeline of events went something like this:

  • On 28-06-2016 at approximately 1900 UTC we got alerts from Pingdom for one of our customers on #AberdeenCloud.

  • It had happened earlier in the day, but restarting the container had cleared the issue - we figured it was something that was triggered by a Drupal cron event, but had not yet managed to investigate. So we did the same again, restarted the container. It did not come back. This was the first  sign all was not well.

  • Then another site went sideways, so we tried to restart that container. Same happened.

  • At this point we realised trying to restart containers was making things worse. To test we tried to restart the container on a development site we didn’t care about, same happened.

Right about now we realise things are not at all well with the #AberdeenCloud platform. OK, time for an emergency migration then! No one sleeps tonight! So we:

  • Raised an emergency ticket with #AberdeenCloud support (still not responded to, of course).

  • Tried to pull backups from the #AberdeenCloud backup manager (which was still available to us), but it failed for a site with no container running.

  • Tried to pull a stage backup instead, that failed too.

  • Tried to pull a backup from a seemingly still healthy site (it wasn’t healthy, it was just entirely cached by Varnish as it happened) and that also failed.

  • Tried to use `drush` to get databases, but found Drupal sites had no configuration files any more and could not connect to their databases.

And this is when something horrifying became apparent. All those daily backups #AberdeenCloud had been taking for us - and they did work, we had cause to use them just the week before - were, for some unknown reason, taken out by the same platform failure! No backups!

At this point it was time to see if we could pull anything off the running services. We noticed pretty quickly that:

  • phpMyAdmin was still running for all sites, even the ones with dead containers, so we used its “Export” feature to grab all live databases.

  • Version control was still running, so we quickly updated all codebase copies to make sure we had the latest code.

So now we have code and databases, which is good, but still no files. The containers we’d tried to restart were gone. Nothing we could do, it’s dead, Jim. So we tried a few things:

  • We started trying to contact people - we got hold of people who used to work for #AberdeenCloud to see if they could help (they couldn’t) - we sent Sampo, the CEO, a message via LinkedIn pleading for help (he still hasn’t replied, probably never will) - but we ran out of road, couldn’t find anyone able or willing to step in.

  • While the communication effort was going on, we started trying every trick we could think of to get files from “good” containers, via SSH, via the `aberdeen` command line client, via SFTP, copying files to another location to pull down, nothing worked.

  • We also tried spidering the sites using the `wget` command for Linux, to pull as many assets as possible from remaining Varnish caches, but this had very limited success.

At this point we started looking at the root cause, and it became pretty clear the mounted directories containing client uploaded files and Drupal configuration files were no longer there. You could see it when you logged into a container, but it was just a cache. If you tried to check the disk space it didn’t even show up. That storage was just gone.

But far worse, it seems backup storage depended on the exact same service! This is quite astounding really, but it seems there was no separation of service between storage of backups and storage of files and configuration. So if you lose one, you lose the other. Whereas you would expect backups would be somewhere more resilient and, frankly, more simple to access. We’d never had cause to question this before, our backups had always worked and the platform was closed source - there’s no way we could’ve known this was the case, but there you go. Cloud files gone, sites gone (because no Drupal settings) and backups gone - all in one fell swoop!

We were left with no choice but to proceed with what we had, so we:

  • Restored Drupal 6 sites to a virtual machine we had spare (I don’t think Platform.sh supports PHP 5.3, though I may be wrong).

  • Restored Drupal 7 sites to equivalent Platform.sh accounts.

  • Pulled in as many files as we could.

  • Continue to work with customers to help them recover their files and websites.

Anyway, it’s a real shame, because (unknowable backup storage flaw aside) they provided a good service for several years and the platform had proven to be very solid. It’s quite beyond me how someone can allow a business like this to fly into the ground without so much as giving customers a shutdown date with reasonable notice. It is irresponsible beyond belief, but there you go, it happened, and now we have to live with the consequences.

We, at Code Enigma, are obviously very sorry this has impacted on some of our customers. We are doing our best to help people recover their sites, automating the import of files, pulling assets from archive.org, checking support developer local copies for missing data, and we continue to chase Sampo, offering payment for missing files, though I have no confidence he’s ever going to reply.

I will post an FAQ later on other aspects of fallout from this, to help people understand the situation more clearly.

  PageHosting Service Comparison BlogDenial of Service, what you need to know BlogDesign and build a website in a day FAQMy site doesn't load for me, is it down?
Categories: Elsewhere

Deeson: How does the permissions system work in the Group module for Drupal?

Thu, 30/06/2016 - 10:42

We’ve been getting questions about the Group Drupal module and how it relates to the general permission system that ships with Drupal. More specifically, the difference between group roles and user roles. So we figured we’d post a short explanation. 

Consider a regular Drupal site as a one-level thing.

There’s roles and permissions that allow you to do things, but it’s a flat structure. Either you have a permission across the entire site or you don’t. Group adds depth to that structure, allowing you to create smaller levels underneath the main one.

Inside those sub-levels you can have roles and permissions too, just like on the main level. The difference lies in the fact that they’re called group roles and group permissions and they only apply within their section of the site within their group.

Let’s use a practical example to demonstrate this. Suppose you’re building a news website and you allow John and Jane to post articles. But John only writes about sport and Jane only really knows about fashion. Yet they can both publish articles about anything. This is the default story in any Drupal website.

Group would allow you to divide the website into sections such as “Sport”, “Fashion”, “Domestic”, etc. and allow John to only publish articles in Sport and limit Jane to writing about Fashion.

This is just one of the many use cases Group can solve for you.

Interested? Try it out! It’s available for both Drupal 7 and 8, find out more here: https://www.deeson.co.uk/labs/9-reasons-group-drupal-8-awesome

Categories: Elsewhere

Modules Unraveled: 161 Website Audits and How to Do Them Right with Jon Peck - Modules Unraveled Podcast

Thu, 30/06/2016 - 09:01
Published: Thu, 06/30/16Download this episodeWebsite Audits
  • What is a site audit?
  • Why would you do one?
  • Intended audience
    • New clients? Existing clients?
  • What are the goals of a site-audit?
  • How do you approach a site audit?
    • What are some other approaches you’re aware of?
  • What tools and techniques do you use?
  • How do you present the results?
  • How often should you do them?
  • What are some things to avoid?
Episode Links: Jon on drupal.orgJon on TwitterJon on GitHubJon’s about.me pageSite Audit ModuleUnused Modules ModuleSecurity Review ModuleHacked ModuleCache Audit ModuleCoder ModulePHP CodeSnifferDrupal Coding StandardsPHP Copy Paste DetectorPHP Mess DetectorPHP LOCGit StatsGit InspectorESLintESLintwebpagetest.orgGoogle PageSpeed Insightswave.webaim.orgViews Cache Bully ModuleHow to audit Drupal Sites - DCNOLATags: AuditingSecurityPerformanceplanet-drupal
Categories: Elsewhere

Frederic Marand: Faster Drupal sites with Queue API

Thu, 30/06/2016 - 08:35
These are the slides of the presentation I gave last week at DrupalDevDays Milan about the ways using Queue API can help you speed up Drupal sites, especially in connected mode. read more

Categories: Elsewhere

ImageX Media: Content-Driven UX

Thu, 30/06/2016 - 00:48

This is the third in a series of posts recapping ImageX’s presentations at this year’s DrupalCon.

A content-driven framework is essential for any successful user experience. Content strategy and UX can no longer be considered separately, and to ensure that they work together to make your website its most effective, the following components must be considered: your audience, their interactions, SEO, content distribution, and finally, measurement. 

Categories: Elsewhere

Janez Urevc: Drupal 8 Media module at Google Summer of Code 2016

Wed, 29/06/2016 - 23:11
Drupal 8 Media module at Google Summer of Code 2016 slashrsm Wed, 29.06.2016 - 23:11

In this video Vijay Nandwani, our GSoC student, explains his progress on the Drupal 8 Media module.

He also wrote a blog post where he explains more technical details.

Categories: Elsewhere

OSTraining: Half a Million Views of the Drupal 8 Beginner Class!

Wed, 29/06/2016 - 21:09

Drupal 8 is now eight months old.

Has it been a success so far? Yes. Drupal 8 is running over 100,000 sites and is now more popular than Drupal 6.

Back before Drupal 8 launched, we wanted to try and help in a succesful launch. We set ourselves a goal to help as many people as possible to use Drupal 8. 

Our method of acheiving that goal was Kickstarter project which provided enough financing to release over 200 free videos on YouTube. The training is the best available for Drupal 8 and it's completely free. There's no barrier to entry at all.

The first release was a 60-video series called The Drupal 8 Beginner Class

Today, I'm delighted to say we reached a major milestone. The Drupal 8 Beginner Class has been viewed over half a million times!

Categories: Elsewhere

GVSO Blog: [GSoC 2016: Social API] Week 5: Checking abstraction of Social Auth

Wed, 29/06/2016 - 20:42
[GSoC 2016: Social API] Week 5: Checking abstraction of Social Auth

During this last week, Google Summer of Code students must have submitted their midterm evaluation and waited for their mentors' evaluation. During these first weeks, I have been working on the main components of the Social API project. These components are:

  • Social API: contains the basic and generic methods, routing settings, and permissions every Social API sub-module will need
  • Social Auth: implements methods and templates that will be used by login-related modules
  • Social Post: provides methods to allow autoposting to social network’s accounts
  • Social Widgets: allows sub-modules to add functionality to add widgets (like buttons, embedded content) to node, blocks, etc.
gvso Wed, 06/29/2016 - 14:42 Tags Drupal Drupal Planet GSoC 2016
Categories: Elsewhere

Pages