Software

Mark Shropshire: DrupalCamp Atlanta 2014

Drupal Planet - Wed, 2014-10-08 20:54

As expected, I had a great time at DrupalCamp Atlanta 2014 last weekend. While I enjoy attending sessions, it is the chance to catch up with old friends and make new ones that I love.

I want to thank all of those who made this camp a great one (sponsors, ADUG, presenters, volunteers, and attendees)!

Some of my session notes can be found below (unedited):

Sessions Blog Category: 
Categories: Software

Acquia: Drupal 8 - An intro field guide for front-end developers

Drupal Planet - Wed, 2014-10-08 19:22

Drupal 8 is almost here, and it’s bringing big front-end improvements, including new methods to display data on mobile devices using breakpoints, build flexible templates in Twig and better management for tools and libraries.

Most importantly, changes to the display layer mean that Drupal has become much more agile and extendable for Front-end Developers.

The journey so far

Up till now, Front-end Developers have been working with a display layer that was originally introduced in Drupal 4.5, here’s how it worked...

Categories: Software

Acquia: 1st DrupalCon, 1st Contribution! Meet Oliver and Victoria

Drupal Planet - Wed, 2014-10-08 18:18

DrupalCon Amsterdam was something of a family outing for me. My wife Francesca attended all week and my kids were able to come out Thursday evening to attend Trivia Night and the Friday sprints. My daughter Victoria had sewn a dress and a cape to appear as Drupal Girl on Thursday evening. Her weeks of work on that really paid off; she was a big hit. She also got to meet her Drupal idol, MortenDK, who was the inspiration for her brand new Drupal.org and Twitter username: Drupal_Princess. There's a great photo of her meeting Webchick floating around online, too.

Categories: Software

Appnovation Technologies: OS Initiative Community Site Launched

Drupal Planet - Wed, 2014-10-08 17:28
The community site for our OS Initiative is now live! var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Categories: Software

mcdruid.co.uk: How to cleanly delete a Drupal file with drush

Drupal Planet - Wed, 2014-10-08 16:43

This is a simple trick which (unless my googlefu simply failed me) I didn't find described anywhere when I had a quick look:

$ drush ev '$file = file_load(21749); var_dump(file_delete($file, TRUE));' bool(true)

This means all the appropriate hooks are called in file_delete so the Drupal API gods should smile on you, and you should get to see the TRUE/FALSE result reflecting success or otherwise. Note that we're passing $force=TRUE "indicating that the file should be deleted even if the file is reported as in use by the file_usage table." So be careful.

To delete multiple files you could use file_load_multiple but there's not a corresponding file_delete_multiple function, so you'd have to loop over the array of file objects.

That's all there is to this one.

Categories: Software

Drupal Bits at Web-Dev: Codit and Codit: Local Introduction Video

Drupal Planet - Wed, 2014-10-08 08:04

This is a short screencast showing the basic concept of Codit and Codit: Local and where to place them in a Drupal site.

Categories: Software

Don't Panic: A blog about Drupal: DrupalCon Amsterdam: "There and back again"

Drupal Planet - Wed, 2014-10-08 01:01

DrupalCon Amsterdam has come to an end (well, it ended last week, buy hey, I need to catch up on some work as well). It was the biggest DrupalCon in Europe ever, 2,300 attendees! Pretty impressive. I've written a couple of blog entries, trying to capture my stay in Amsterdam and my feelings for a DrupalCon which I attended for more than three days (which has been the case with DrupalCon London and DrupalCon Munich).

Not only did Drupal 8 get a BETA during these days, but a lot of sprinting was happening (as always) and it was pure joy walking through the Berlage in the center of town and at the venue, seeing all that work being put into Drupal.

Tuesday and Wednesday was filled with interesting sessions, and both Tuesday evening with nice boat rides and pub crawl and Wednesday evening with open museums (the light installations at the EYE was spectacular!) was very nice indeed. Thursday, the day for separation for many of us, was also filled with good sessions and the closing talk with Holly and Stephanie both invited us to DrupalCon Barcelona next year, as well as presenting cool statistics about the Con.  

The good...

All of the sessions I attended was good, and, as always, I'm impressed by the time and energy people devote to making Drupal happen and spreading the knowledge and some love. Dries Buytaert's keynote ('the Driesnote') was inspiring, but I didn't agree with everything he said. He talked about the "free-riders", the ones who doesn't help out with Drupal, the ones who only take advantage of the system witouth giving something back. Such a thing is a bad thing, according to Dries. But I think that we also need those free-riders, becuase those free-riders are the ones using the system, making the statistics for Drupal go up worldwide, spreading the word of Drupal. If we don't have free-riders, are the only ones who should use Drupal the ones who code it and support it? If so, Drupal won't get far...

Amsterdam RAI, the venue, was a good venue. Apart from some sessions being very popular (which is a pain in the a** forseeing) so I couldn't get into them, the rooms and hallways were good for sessions and sprinting. The technique was good as well, sound and vision in the sessions was flawless. Big thumbs up for that. The recorded sessions was also professionally made, at least the ones I've had time to watch. Finding them on YouTube the same day or, to some extent, the next is also impressive. Big thumbs up to the techinal team who worked on that during the Con.

The evening activites was also impressive. Ingenuity, local connection and very nice people raised the bar a lot. I kind of fell in love with the architecture of Amsterdam with it's old crooked buildings, canals and the narrow streets, and the boatride on Tuesday evening was magical!

...the bad...

But there's always something that brings a frown to the face. This time I frowned upon three things. The wi-fi. The coffee. The food.

The wi-fi. It's shouldn't be that hard to calculate that if 2,300 persons gather in a closed area and at least half of them have both laptops and phones, there will be much traffic. I don't want to drag Drupal Association of the local community in the dirt here, they hired a company to manage the network and wi-fi, but it's irritating trying to get online for various reasons, and the network dies several times a day.

The coffee. Apparantely the coffee last year in Prague was bad. The worst thing about coffee this year, was that it wasn't free. It cost me 2.5 Euro. When I pay this much for a ticket to a DrupalCon I kind of expect coffee or some other drink to be free. If it's too hard to calculate, try giving out beverage tickets, two or three per day. Some will get lost, some won't be used, but at least I won't have to pay 2.5 Euro for a small cup of coffee that's not even that good.

The food. A small bowl of pasta or paella. A sandwich and some dessert. I was hungry three hours later. I had the opportunity to visit DrupalCon Munich in 2012 and the food there was out of this world. Every DrupalCon after that will always have worse food. But this one is a killer. No imagination. Lots of garbage (in a time where we try to limit our carbon footprints). No drink. (At least I couldn't find any. Or maybe I was supposed to go and buy me a drink for 2-3 Euros.) Didn't get that. Didn't do that either.

There. Now that's out of my system. I won't remember that when I', 60. But I'll remember the rest of DrupalCon Amsterdam. The sessions. The laughs. The excursions.

...and the ugly...

Well... I found an ugly statue somewhere in town, but otherwise that headline was only in it for the Clint Eastwood reference.

Special thanks to...

It takes a lot of work making a DrupalCon happen, and the Drupal Association pulled it off with a gold star I think. Sure, there were flaws, but then perhaps those won't happen next time, or there were good reasons to why there were flaws. But the Drupal Association do this for a living, so I will only give them a normal-sized 'thank you'. The big 'thank you' goes to the local community who gave the DrupalCon a Dutch feeling. I also want to say thank you to those people who were mentoring before, during and after DrupalCon. Instead of working with the code like you perhaps wanted to, you devoted your time and energy to encourage us lesser beings who want to learn more about Drupal. Also, a big hug to Annertech, who made the Quiz Night happen. It's not an easy task trying to get Morton and Bert the crowd quiet so you can present questions and answers. The man with the microphone also liked the name of our team - Fools drush in - which was nice!

You all know who you are - THANK YOU!

Categories: Software

Chapter Three: 5 Hurdles to Adopting Drupal 8

Drupal Planet - Wed, 2014-10-08 00:36

Drupal 8 presents major improvements to the existing Drupal ecosystem. It offers much, including a revamped Entity API that adds tremendous flexibility to content modeling, a core-level translation system for multilingual sites, responsive theming, in-place editing and the configuration management system. But with all of its improvements, Drupal 8 presents some hurdles for agencies like Chapter Three to identify and overcome.



5 Hurdles to Adopting Drupal 8

Categories: Software

Tyler Frankenstein: Drupal User Entity Reference Field with Custom Autocomplete that uses an Address Field

Drupal Planet - Tue, 2014-10-07 23:24

User reference fields (aka entity reference fields) are great. As you may have guessed, we can use these fields to reference users on other entities (e.g. nodes).

Say we had a user reference field on the Article content type... by default, when selecting a user to reference, we could configure the field widget to be an autocomplete. This allows us to begin typing the user's login name as a way to reference them. This works well in most cases.

What if we had an address field on our user entities, and collected the user's first and last names? It may be more usable for site administrators to be able to search across the user's actual name instead of their user name for logging in.

We can use hook_menu(), hook_form_alter(), and a custom callback function to provide a custom autocomplete widget that searches across our address field's values instead...

Categories: Software

Mediacurrent: Installing the Pardot Drupal Module

Drupal Planet - Tue, 2014-10-07 22:40
Pardot Drupal Module

Mediacurrent has made a commitment to work with the Drupal community to help maintain and improve modules for the leading Marketing Automation services. In this tutorial, we will show you how to set up the newly upgraded Pardot (a Salesforce Company) module.

Categories: Software

Modules Unraveled: 121 The Harmony Forum Project with Alli Price - Modules Unraveled Podcast

Drupal Planet - Tue, 2014-10-07 20:34
Photo of Alli PricePublished: Tue, 10/07/14Download this episodeHarmony Forum
  • What is Harmony Core?
  • What prompted you to develop it over using the core forum module?
  • Did you take a look at the Advanced Forum module?
    • What didn’t you like about it?
  • So what are some of the features?
    • Kill switch
    • Entities
    • Revisions for Post entity, integration with Diff module
    • Views provides all listings including on a thread page
    • Flag action for "Like" of posts
    • At.js
  • Does this integrate with other community related module? ie: Organic Groups
  • What are some of the sub-modules, or add-on modules that enhance Harmony Core?
    • Harmony Access
    • Harmony Forum Access
    • Harmony Search
    • Harmony Moderation
    • Harmony Migrate
Use Cases
  • Who’s using Harmony now?
  • You mentioned some upcoming events what are those?
  • How can people get involved?
  • Where should people go to find out more?
Questions from Twitter
  • Scott Wilkinson
    What kind of moderation tools will Harmony have? Like pruning posts or users? Forum Moderators?
Episode Links: Alli on drupal.orgAlli on TwitterForum development group on g.d.oGet on the email listFeatures listDemo of the frontendTags: ForumsCommunity Modulesplanet-drupal
Categories: Software

Freelock : Importing foreign key references with Migrate

Drupal Planet - Tue, 2014-10-07 19:04

One of our clients wanted to regularly update a list of dealers along with the parts carried at that dealer, and show them on a map. As I dug into the challenge, I was a bit surprised to find very little information on the web about how to hook up a migration that would essentially import a join table. So I had to create it myself!

MigrateDrupalDrupal PlanetERPRetailManufacturingDealersentityreferenceTechnical
Categories: Software

Deeson: DrupalCon Amsterdam: the Deeson digest

Drupal Planet - Tue, 2014-10-07 17:52

Last week was all about DrupalCon Amsterdam.

Deeson’s MD, Tim Deeson, sat on a panel Q&A, I rallied the community with giveaways and things to play with and our Solutions Architect John Ennew joined in hackathons. We also organised Birds of a Feather (BoF) sessions.

For those who want to know more, here is our complete guide to Europe’s biggest Drupal conference event which celebrates the community and experiences working with Drupal’s open source software.

1. The keynotes

The two main keynotes at the conference were delivered by Drupal founder, Dries Buytaert, and science fiction author, activist, journalist, blogger and co-editor of Boing Boing, Cory Doctorow. They were very different in style and approach, but both were fascinating and highly informative.

Dries Buytaert

Dries’ keynote focused on the maturity of Drupal as a platform and community. He touched on the inevitable growing pains and the tough choices we all face as Drupal expands its reach and influence.

He drew on proven growth principles, such as the Tragedy of the Commons, to illustrate Drupal’s ‘journey’. He highlighted how Drupal's reach can grow with community support, from local leadership initiatives to rewarding Drupal contributors.

Watch Dries' keynote

Cory Doctorow

Cory discussed the significance of free and open source software, highlighting the challenges and issues which impact us all.

As a tech evangelist, he shared his expert insight into the importance of software transparency in an age where tech and devices infringe on our everyday lives. It was pretty sobering.

2. Drupal 8: the beta release

Dries announced the beta release of Drupal 8. The Drupal community will now be working together to find and fix bugs before the full release of Drupal 8. 

3. The sessions

Tim took part in a business-focused panel session entitled: 'Life in the fast lane - achieving sustainable growth'.

The hour-long session went through issues and challenges faced by Drupal agencies, shops and freelancers trying to achieve growth. Read the key takeaways here or check out the video:

4. Mentoring

John signed up as a sprint mentor for the first time and taught new contributors to Drupal Core how they can set up contributing tools. 

Mentoring the Drupal community builds confidence and empowers developers to become regular contributors to Drupal Core.

5. Swag demand

The event may focus on code but t-shirts feature heavily. 

Our designer, Rachael Case, created a stunning Deeson DrupalCon tee which flew off our stand. They were so popular, people even nabbed the display tees off the wall!

DrupalCon Amsterdam tee pic 6.Frame of Fame

As you might understand by now, community is at the core of Drupal. 

We wanted to celebrate the community who worked on Drupal 8 with our Frame of Fame. Check out the faces behind the code, contributes and commits…

Drupal8r Frame of Fame with DriesDrupal8r Frame of Fame with developers

We took the Frame of Fame into the digital world with The Drupal8r...

7. The Drupal8r

Our developer, Chris, created an amazing data visualisation tool, The Drupal8r shows who in the Drupal community developed Drupal 8 during the last 5000 commits. Give it a whirl yourself!

 

Drupal8r visualisation 8. The Dries interview

It’s not everyday you get to interview the founder of Drupal, Dries Buytaert. But we did.

We’ll be sharing our conversation with Dries soon, so sign up to our newsletter at the bottom of this page to find out about the successes and failures in Drupal 8 delivery. 

We’ll also be publishing our #AskDries video where Dries answers questions from DrupalCon attendees. Watch this space!

9. The BoFs

John and I ran BoFs at DrupalCon Amsterdam. John focused on experiences of integrating Customer Relationship Management (CRM) systems with Drupal while I explored the need for personas in the site build process.

You can read the full write up of John’s session here. My session summary is here in a shareable Google Doc which highlights the basic persona questions, plus links to a few resources for persona newbies.

10. Nos vamos a Barcelona para DrupalCon 2015!

DrupalCon Europe 2015 is in Barcelona. So we're going to brush up on our Spanish. ¡Vamos!

DrupalCon Barcelona 2015
Categories: Software

Digett: Product Review: New Relic APM for Drupal Performance Tuning

Drupal Planet - Tue, 2014-10-07 17:36
New Relic APM for Drupal Performance Tuning

New Relic APM (Application Monitoring) is an amazing tool to help you tune the performance of your Drupal website.

read more

Categories: Software

Deeson: Six talks, two Deeson Drupal devs and Symfony Live London

Drupal Planet - Tue, 2014-10-07 17:00
Symfony Live London

Dan and I went to Symfony Live London last Friday to find out what was happening in the world of Symfony.

Here's a summary of the six talks we attended:

Symfony Live 1. The Dependency Trap

Jakub Zalas gave an interesting talk about the difficulties of relying too heavily on third-party services and classes.

He went through the process of thinking about writing code while avoiding being overly reliant on a third-party. The main benefit is when you need to change your code or third-party service at a later date, it should be easy enough to do without having to re-write half of your application.

2. How Kris Builds Symfony Apps

Although I haven't been working with Symfony that long, the name 'Kris Wallsmith' keeps coming up when looking around at various bundles. He talked about his approach to building apps.

He went through the different layers involved in building an app, such as controller, models, services, event handlers, etc. He dismissed the myth of 'thin controllers, fat models', by looking at what the controllers, models and services actually do at each level.

In his view they are all just 'mapping layers' between the different data abstraction layers apps have. When you look at it like this, you end up with 'thin controllers, thin models' and 'thin services with thin events'.

Symfony Live 3. The Naked Bundle

Matthias Noback introduced the self-titled, 'Noback's Principle: Code shouldn't rely on something that it doesn't truly need'.

He suggested we should limit our dependency on the framework as much as possible. 

We should try to limit to the point where pretty much everything that you would normally put inside a Symfony Bundle (which is a concept very much tied to the framework) can be moved in some way into framework agnostic, re-usable components.

The talk was enlightening, but it made me wonder whether I am ready to break away from Symfony so soon!

4. One Commit, One Release. Continuously Delivering a Symfony Project

Javier Lopez went through the continuous integration process they used on a project. The talk explained that a release to production doesn't have to be a such a daunting task.

Interestingly, they had managed to reduce the time it took to deploy a release from 30 minutes to 30 seconds. They released most days, rather than once a week or each fortnight. Also the product owner could trigger a release rather than relying on a developer to do it.

At Deeson we are using continuous integration for our web build projects more and more.

Symfony Live 5. Converting a Website to a New Religion: Symfony

Michael Cullum has been involved in the rebuild of phpBB using Symfony and went through their approach to rebuilding such a large scale app.

When looking at rebuilding a site, you can be tempted to copy and paste a lot of code.

Michael highlighted the problems with repasting code. In fact when we have the opportunity to rewrite code, we should be tackling it head on.  

We all write code which we look at six months or a year later and think, "what was I thinking when I wrote that?" He told us to understand what we are trying to achieve and write efficient code now.

What was interesting is that they had looked at a section of phpBB at a time. They started with the home page and got that working, then moved onto the next page. 

This is different from the norm of building the functionality and then getting theming working across the entire site as a second step.  

Symfony Live 6. Decorating Applications with Stack

Beau Simensen was introducing 'Stack' - a convention for composing HttpKernelInterface middlewares into your application.  

He went through its history, which applications can currently use it (Symfony, Silex, Laravel 4, and Drupal 8) and a brief overview of how it can be used.

Although an interesting concept, it didn't seem immediately relevant to our experience.

A worthwhile event

As we're using Symfony more and more, it was interesting to be part of the event and to attend such a range of interesting talks.

Categories: Software

Open Source Training: 6 Modules to Avoid Before Drupal 8 Arrives

Drupal Planet - Tue, 2014-10-07 16:44

Over the last few months, Dave Reid, one of the most active Drupal developers, has been giving a presentation called "Future-proof your Drupal 7 site".

Dave talks about decisions can you make now on your current or new Drupal 7 sites to make transitioning to Drupal 8 easier.

He comes up with a list of modules that have been backported to Drupal 8. Using those modules means you won't have to re-train your staff for Drupal 8.

Dave also has some recommendation for modules to avoid, because they've been replaced by alternative solutions in Drupal 8. Here are 6 modules that might be worth avoiding if want an easier update to Drupal 8 in years to come ...

Categories: Software

Forum One: Where’s the Message in Panels Node Edit Forms?

Drupal Planet - Tue, 2014-10-07 16:02

Why are my messages (errors, status, etc.) not showing up on my panel override of a node add/edit page?

I wrestled with this problem for longer than I should have, all because I couldn’t find this simple Drupal post.

Essentially, I was adding the “Messages” block to the panel content of my node/edit page that I was overriding. Thus, no matter what I did, that message area would never render.

My finding is that drupal_get_message is a unique function. Once you call it, all messages are cleared from it, so calling it again essentially will be too late to see any messages that might have been there. page.tpl.php calls this function, and Panels never gets a chance to try to get the messages that might be waiting to be displayed.

As a result, adding the following as a module or theme pre-process hook will keep the page from calling messages (replacing “MyThemeOrModule” with the appropriate name, of course):

function MyThemeOrModule_preprocess_page(&$variables) { // This disables message-printing on a content type edit page so panels can print it if (isset($variables['page']['content']['system_main']['content']['form_id']['#id'])) { if ($variables['page']['content']['system_main']['content']['form_id']['#id'] == 'edit-MyContentTypeName-node-form') { $variables['show_messages'] = FALSE; } } }

Be sure to replace “MyContentTypeName” with the machine name of your content type. If you have doubts, look at the value in $variables['page']['content']['system_main']['content']['form_id']['#id'] while looking at the content type’s edit page. We add this IF statement to make sure we disable page-level messages on this edit form and not on the entire site.

$variables['show_messages'] = FALSE; is what actually disables the messages from being displayed at the page level so Panels has a chance to display them instead.

Messages. Displayed.

 

Categories: Software

Deeson: The value of planning poker for better estimation

Drupal Planet - Tue, 2014-10-07 15:00
Planning Poker cards

At Deeson, we’re always experimenting with how we can use Scrum in an agency environment.

The mechanism we’re seeing the most success with is planning poker.

Accurate estimations

As a solutions architect, I might have estimated tasks on behalf of the development team. But using this traditional method, we found our estimates were often higher or lower than actual time taken for the task. While these would often balance out, better decisions could have been made if estimates were more accurate.

I’ve found planning poker to be a rather neat idea and worth getting to know. The core concept brings the project team together to estimate on tasks. This team can include developers, project managers, user experience, designers and sometimes even the client.

The concept

Each team member uses a deck of cards representing numbers similar to Fibonacci’s sequence (½, 1, 2, 3, 5, 8, 13 ,etc). Once the numbers reach more than 13, the decks we use break into bigger increases. This is because laying a high numbered card is a sign that the task needs to be broken down anyway.

Planning Poker playing Agreement is the key

After a quick overview, each member simultaneously lays their estimate down on the table for each task. Team members with the highest and lowest estimations then state their cases and everyone estimates again until everyone agrees. 

(*whispers* Don’t tell the Scrum police, but we plan our tasks in hours and not days. This is because our clients buy hours, so we think in hours. But we always measure the accuracy of our estimates.) 

Bringing teams together

I find that when you start thinking about how long something is going to take you, it’s difficult to do without considering how it might be built, at least at a high level. 

This is where you can think about efficiency by reusing code or patterns. Planning poker brings everyone together which means you’re calling upon the much broader experience of your team to make the decision. This leads to better estimation. 

Deeson tips

The Deeson developers love the planning poker process because the team then owns a realistic estimate and have conversations that wouldn’t surface with the traditional process. 

Our top tip for making it work for you is, be flexible, but embrace the theory. 

I've found you can be too strict in using the card deck, although most purists would say to do this. 

For example, when trying to reach a consensus on an estimate, it’s best to stick to laying a single card to minimise the options available. So if you really think it’s four hours, lay a three and a one. This is important to us at Deeson because we plan in hours and we need to be as realistic as possible. 

The important thing is that you can justify why you did it, share with the team, listen to feedback and agree on the final estimate. 

Things to avoid

If you adopt strict estimation without embracing the theory, you go through the motions without the right amount of discussion or logical agreement. This, ultimately, provides a bad estimate. 

Planning poker is collaborative, accurate and fun. Give it a go….

Categories: Software

Kristian Polso: DrupalCon Amsterdam: The aftermath & sessions by track

Drupal Planet - Tue, 2014-10-07 10:42
So DrupalCon Amsterdam is finally over. The whole week was really action-packed, from start to finish.
Categories: Software

Mike Stiv - Drupal developer and consultant: Do you have a backup strategy? 3 tools to save your day

Drupal Planet - Tue, 2014-10-07 08:40

For drupal we have a number of different methods to backup the database. Having a backup strategy is one of the easiest things to do but is often overlooked. Perform regular backups to keep your sanity when disaster hits. Implement a backup strategy for daily weekly and monthly backups and look cool to the client.

I am going to discuss about 3 different tools to backup your database. Read on so you have no excuse.

Tags: drushbackup and migratebackupmysqlDrupal Planetautomysqlbackup
Categories: Software

Pages