Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Nov 22 2013
Nov 22

Ever since we launched our site re-design, we’ve had a pretty steady flow internal change requests – add links, change fonts, re-style buttons, adjust layouts, modify permissions, etc.

We were trying to process these requests through a ticketing system that we built on our staff intranet in Drupal 6 – it basically allowed us to toggle tickets between open/closed and send emails when we were finished. With requests piling up (some of which overlapped with one another and/or were vaguely articulated and/or were out of our control anyways) this system wasn’t cutting it. We decided to scrap it and develop a new workflow in Drupal 7 with three questions in mind:

1) How can the requestor  clearly communicate what it is they actually want us to do
2) How can we clearly communicate what it is we’re actually doing
3) And how can we, as the general put it, start “hitting a small nail with an awfully big hammer”

The first two issues were solved easily enough: we enabled comments on the “Web Request” content type. When someone creates a node of that type, we can sniff out what they need with some probing in the comments area. The comments allow for transparent dialogue, so long as you have an effective method for distribution.

Enter the awfully big hammer…

Using a combination of rules, views, display suite and user reference fields, we gave node authors the ability to create email lists specific to the requests they create. With the click of a button they can message as many of their colleagues as they choose, giving them the gift of email at every step of the request.

Here’s how we did it:

First we created a form – we set up a content type for “Web Requests” – we were going to use entityforms but couldn’t since we needed commenting. We added fields for the data we wanted to collect (request title, details, link, and screenshots). We also created administrative fields (for things like UX data, project tagging, etc.) that are only visible to the web team, and therefore don’t appear on the node/add form that requestors use.


The most important field (for the email list) is the user reference field – what we termed “Stakeholders” is a selection of users of a given role formatted as checkboxes, with no restriction on the number of values.


The stakeholders appear on the form listed by name – that works for the users filling out the form, but not for rules, which will need their email addresses. Using display suite, we can configure a custom output for the stakeholders field when it is used as a token. In the “Manage Display” screen, you can specify custom display settings. Since we’ll be using tokens in the rules and views configurations we want to customize that to get the user’s email.


So the token display for the field needs to output [user:mail]


With the content type and fields configured, we’re ready for rules.

We want “Stakeholders” to be notified when a new request is created. So, we add a rule that reacts on saving new content and triggers an email message. By adding a condition that states that the content has the stakeholder field, we can get the token (mentioned above) and use that as one of the recipients for the email. But the email action will only pass through one of the values. That means only one person will be emailed, and that’s not good enough – we need everyone getting these emails. Rules allows us to loop actions, but not without a view that contextually displays content, which in this case is a list of stakeholder email address.

So we create a new view of content – the only field we need is a stakeholders field that has a custom formatter of tokenized text and outputs [user:mail]


The next step is to set a contextual filter that acts on the content node id (nid) – this should generate a list of stakeholder email address per node. Preview it to make sure by passing the view a nid.


In order to call the view in rules, we have to give it a rules display. This also allows you to specify row variables – the important thing in this case is that we use the rendered result and the data type is text.


With the view in place, we can go back to the rule we created and call it as a views loop.


Add the email action to that loop and you’re set.


Each event that triggers an email will have its own rule, but you can use the same view/view loop structure for all of them, except comments. To get the stakeholder addresses to work in an email that’s set off by a comment, you have to create another view. This will be a view of comments that is configured almost identically to the stakeholder view, but with a relationship that joins comments to content so that you can use the nid filter.

Jul 02 2013
Jul 02

For as long as I've been working with Drupal, there's been a wonderful tension on how to make Drupal not look like Drupal. People have taken great pride in being able to recognize a Drupal site both from the rendered page in a browser, and by looking at the code. How frustrating for graphic designers who want to create an experience, not just decorate Drupal! With a greater understanding of the contributed module space, it becomes infinitely easier to make Drupal look like your solution, instead of making your solution look like Drupal.

Each major revision of Drupal has seen a new point-and-click tool introduced into the contrib space. In Drupal 5 we got Panels. In Drupal 6 we got Display Suite and in Drupal 7 we got Omega. It's been fascinating to watch the evolution of our layout tool kit…and frustrating for new-to-Drupalers to know which one to pick. If we oversimplify what these UI-based layout tools do, we can divide the tools out as follows:

  1. Breaking down and altering the node.tpl.php file (e.g. Display Suite).
  2. Breaking down and altering the page.tpl.php file (e.g. Omega and Context ).
  3. Building up new layouts by pulling in specified Drupal components at the page or region level (e.g. Panels).

As you can see, the approaches are somewhat complementary, except when they're not. This can make it difficult to know which suite of modules (and themes) you should choose for your particular project. I'm an early adopter of Panels. I know it. I love it. (I helped write the D6 book on it.) And I'm delighted to see some of the concepts developed in Panels going into Drupal 8. BUT! I also know it's not the right tool for every site builder and themer. So where do you start?

Display Suite

First up: Display Suite. This is a beautiful little module. It fits politely into Drupal's existing administrative interface for managing content type fields. The very first time I installed Display Suite I used it to break my Blog display into the classic two column WordPress display: one side for the content, and one side with the date. It was a little bit revolutionary for me that I could just click a few things and never have to open a text editor to make a two-col layout. Yum!

I also feel in love with Drupal's built-in View Modes after playing with Display Suite. Instead of perverting Views I was able to get fine grained control of my nodes through Display Suite. (Don't pretend like you haven't used Views to "fix" the Default layout of your content type. We've all done it at least once.) If it sounds like the breath of fresh air you've been looking for, check out our free video series on using Display Suite.


Next up: Panels. I won't lie, there's a learning curve associated with this very powerful module. If you just want to shuffle some fields around in your content type display, this is not the module for you. You should use Panels, however, when you need to: display a block in multiple locations for different contexts; alter the layout of core Drupal pages, such as the taxonomy page; or provide different layouts under different conditions, such as the homepage for an authenticated or anonymous visitor. Yes, bits and pieces of these elements can also be found in other modules, such as Context (we'll get to that in a minute), but in most other cases you are spread across multiple configuration screens, instead of having a single control interface. Before rushing out to install Panels, take a look at our free video series on using Panels by the TWIG initiative lead, Jen Lampton. I hope that you end up loving Panels as much as I do, but we can still be friends if you decide it's overkill for your needs.


Finally we come to my nemesis, the base theme Omega. Ages ago I recorded a little video of myself unpacking Omega for the first time. Back then it was hard to use, undocumented, and very frustrating for anyone who was used to doing things "The Drupal Way". The video (shouldn't) exist any more because Omega has grown up a lot. It's become easier to use, and very well loved by a lot of Drupalers.

The 3.x branch of Omega was essentially its own theming system. Where most themes encourage you to take a series of Regions and sub-divide them using Blocks, Omega goes the other way, allowing you to collect Regions into Zones and Sections. Omega, as far as I know, was the first theme to integrate with CTools, allowing you to export your point-and-clicked theme settings to code. We cover both of these features in our video series Introduction to Omega 3.x. Watching the videos is a great way to explore Omega without the commitment. (And if someone else has already committed you to Omega, the videos are a great way to get up to speed.)

Be careful though! The Omega 4.x series takes OUT the pointy-clicky tools and puts them back in code, so make sure you're grabbing the right version when you download the theme. Or, if you want to move forward the the latest-and-greatest version of Omega, consider combining it with Panels for your layout. The base theme offers good integration with my favorite layout module.

So there you have it: three different approaches to altering the layout of your Drupal site. With these three powerhouse tools there's no reason for your Drupal sites to ever look Drupally again.

Mar 15 2013
Mar 15

Rather remarkably we’ve managed to avoid the top xxx module list for Drupal 7… however to recap the presentation yesterday at ACCSVa.org here it goes….

A Drupal Roadmap with Rich Gregory – Look in to some critical dev tools like Drush and other things to get you going.

1.  Display Suite (putting Views at the top almost redundant….) – thanks to Display Suite and it’s buddy Field Group Drupal 7?s core content creation kit is a flexible dashboard delivery tool.  With a few clicks you can now turn a lengthy and unintuitive form into a dashboard – i’m seeing hope for a wordpress like content adding area.

and after

and after DS + FG

Forms before Display Suite and Field Group

Forms before Display Suite and Field Group

2. Views – it should go without saying, and now that it’s going to be a part of Drupal 8 core I’m going to leave it at that… you need views to do anything worth doing.  We’ve got a half dozen or more tutorials on views here, so dig in.

3. Context – this is your logic layout tool – pick conditions and reaction.  There are numerous modules to extend context as well – in the presentation I mentioned http://drupal.org/project/context_reaction_theme however this only has a D6 option.   You’ll probably need to use http://drupal.org/project/context_addassets to do essentially the same thing.  Also note that Mobile Tools allows you to use contexts to do dramatic theming changes based on the mobile device.

First up choose the conditions for your layout

First up choose the conditions for your layout

The choose your reactions

The choose your reactions

4.Rules: Rules allows your site to become a dynamic workflow management intranet style workhorse. The amount of flexibility here, much like Views, extends beyond the scope of a simple “short stack” review, however in essence you’re taking events that happen within the site, or custom crontab events, setting conditions and triggering actions. Coupled with modules like Views Rules the possibilities are amazing.

5. Entity reference - extending CCK (part of drupal 7 core) the up-and-coming successor to References. Allow content to reference other content, and as mentioned this allows View Relationships to create a SQL JOIN on your content – get more information about your Content Author, and many more options…this post here is particularly fun with references referencing references…

6. Honorable mention: Feeds – this is the bulk content migration tool of choice for folks like myself.  It’s intuitive and lets you harvest content from various sources and ingest it in to your content types, user tables, etc.. we have a few tutorials on feeds that may help you with some specifics – it’s a powerful tool, and coupled with tools like feeds tamper there are a lot of options.

7. Honorable mention: Flag.  Give your users buttons and they’ll push them.  Flags allow your users to have simple on/off buttons – categorize content, flag spam, etc…  they of course work with views, rules, and the rest of the gang :)

So there’s my short stack for Drupal 7 – I’m sure entities and entity forms probably belong on there, however for most basic sites I think this is a good start… heck probably need to talk wysiwyg editors too…. so many modules!  Thanks again to ACCSVA.org for the conference, Rich Gregory for the great tunes and the lift, and  Blue Cat Networks – the hat is bangin.

Feb 28 2013
Feb 28

EVA, short for entity views attachment, and Display Suite – like Wu Tang vs The Beatles – is a great combo for getting diverse information on a page.  If you just want to see what it looks like and how it works http://www.bioconnector.virginia.edu/galaxy.  For those of you who like the video style learning here you are: http://www.youtube.com/watch?v=E9uq2ZOZNVw

Use case: We have a content type “Experts” that we want to link to the content type “tools” that they are adept with.  Tools  chosen during registration will then show their profile on the page and on their profiles there will be a link to their tools.

Screenshot of the layout with the attached view

Screenshot of the layout with the attached view

What we built: If you’ve used views attach in D6  the EVA concept should be pretty straightforward and the views attach tutorial here covers it pretty well.  As the name suggests EVA takes the broad level entity API as the starting point.  This gives us a lot of flexibility in terms of where we can use the EVA module.  By using an entity reference on the “Expert” content type we are able to create a select list for the end user.

Some of the basic aspects of EVA

Some of the basic aspects of EVA

Could you do this with a node reference… sure – but entity references are so mo betta!

entity reference in the content structure

entity reference in the content structure

Ok so you’ve got the entity reference in place, and the EVA view built… now you want to drop that view stylishly on the the page…  and because the good folks at EVA did things so well all you need to do is install Display Suite and your work is almost done.  The nice thing now is that all you need is to pick a layout and viola… you got pretty music ;)   I realize this is all pretty 101ish stuff, and that is the good news.  There’s really not much more you need.

A few other handy modules that made things pretty: Sweaver.  Some folks can’t stand this module…  I happen to love it for the basics of getting spacing and font sizes correct. Gallery Formatter with the Lightbox2 plugin handled the gallery in the content type – also positioned thanks to Display Suite.

Display suite 101

Display suite 101

What the editing user sees: and the last thing to note is what the user sees when they’re adding experts in to the site:

All the end user needs to know

All the end user needs to know

Aug 15 2012
Aug 15

This lesson covers all the updates/differences in the latest 2.x version versus other Drupal 7 releases. The new 2.x version of Display Suite is still in active development at the time that this video was published, but we want to make sure you know the changes that are coming when the new version is finally released. This video is very important to view if you are using Display Suite version 2 for the first time and have watched other videos in this series. It covers UI changes/updates as well as feature differences.

Aug 15 2012
Aug 15

In this lesson we cover how all over the configurations we have learned using Display Suite are able to be exported to code. This video shows how to do this using CTool but can also be done with Features as well.

Aug 08 2012
Aug 08

In this lesson we cover another "extra" of Display Suite, Views Displays. This basically allows you to take over a view template file and use Display Suite to layout your views.

Aug 08 2012
Aug 08

In this lesson we cover several extra options provided by the included "Extras" module with display suite. We will show how turning on the Contextual Links extra makes it easier to edit a layout when viewing an entity that is using it. We also look at the Page Title extra that allows you to hide/show the title for a particular layout. Finally we discuss a very powerful feature that allows you to have an option of an end user to select between different view modes.

Aug 08 2012
Aug 08
Lullabot logo

Lullabot has trained thousands of Drupal developers & guided the development of some of the largest Drupal websites.

Aug 01 2012
Aug 01

In this lesson we cover how you can do some powerful things with Display Suite in regards to field templates. Using the Display Suite GUI there are lots of configurations and offerings to get the markup just the way you want.

Aug 01 2012
Aug 01

In this lesson we cover using the search display portion of Display Suite. This allows you to have a custom layout for your search results as well as your user search results. Display Suite offers lots of functionality here that you just can't get with a core configuration of search.

Aug 01 2012
Aug 01

In this lesson we cover how one can use view modes and display suite to allow multiple options of layouts for content display. This allows a user to have a different layout of the same content for different scenarios of the site. Combining this with views and you can start to see the power of display suite in action.

Jul 25 2012
Jul 25

This week we're happy to announce a free series about Display Suite. This series, Display Suite for Drupal 7, was recorded by the maintainer of the Display Suite project, Kristof De Jaeger, also known as swentel in the greater internets. As the project page explains,

Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. Arrange your nodes, views, comments, user data, etc. the way you want without having to work your way through dozens of template files.

What this means is that you can control the layout of all the individual bits and pieces on your site without having to dive into theming or custom code. Another great feature is that you can set up the configuration for things like nodes and users, and then export those to code so that you have the peace of mind of saving your hard work and being able to easily move that around between sites.

We are republishing Kristof's great videos here, and we're starting off with the first three of the 11-part series:

  • Display Suite Installation gets you up and running by explaning the various modules that come in the project download, and looking at basic configuration options.
  • Configuring a Layout in Display Suite shows you how to create your first layout, modifying a content type to suite your needs.
  • Display Suite Fields drills down a bit more and creates custom Display Suite fields, from code fields to blocks. (Yes! Blocks as Fields? Whoa!)

We'll be releasing the rest of the series over the next few weeks, and we hope you're as excited as we are. We're working with Display Suite in our upgrade of the Drupalize.Me site, and we think it's a great tool that can make your site building life so much nicer.

Jul 25 2012
Jul 25

In this lesson, we cover installing the Display Suite module and give a tour of it's configurations and options to get you up and running with Display Suite.

Jul 25 2012
Jul 25

In this lesson we cover the basics of using Display Suite to modify the layout of a particular content type. We cover all the potential templates, adding classes to regions, and lots of configurations to set to taylor the layout to your needs. We also discuss how you can create your own template files and layouts for your own customizations.

Jul 25 2012
Jul 25

In this lesson we cover adding different type of custom fields to your layout using Display Suite. From adding a custom code field, blocks, to dynamic fields, each of these can be moved around your layout and replicated/modified across different display modes.

Apr 25 2012
Apr 25

Here at EchoDitto, we've been making heavy use of the Display Suite module. It obliterates a lot of the more tedious theming issues we typically run into when building out a Drupal site, and for the most part, we love it. But as with any solution that takes logic out of code and puts it into the UI, if you want to do anything that isn't already provided by DS, you're going to have a write a bunch of code.

So far, the biggest drawback to using DS that we've experienced so far is the lack of formatters. For example, suppose you have something like an Action content type with the following fields:

  • Title
  • Description
  • Link

… and the Link field contains a link to an action or petition on Salsa, Convio, or whatever.

If you set this up using Views, linking the Title field to the Link field would be a snap. Not so with Display Suite. There are a number of options here, but for something small like this, the Custom Formatters module is a great choice. For the example given above, you could create a custom PHP formatter that did the following:

// the $variables object holds all available variables
$text = $variables['#object']->title;
$link = $variables['#object']->field_link['und'][0]['value'];
print l($text, $link);

Then, in the DS UI, just set the field to use your custom formatter:

Choosing the custom formatter in the DS UI

We can also handle another, slightly more complicated situation involving the Media module. Suppose you've got a content type that includes a Video field handled by Media, and you want to rewrite the title of that link. So instead of:


You can have the human-readable:

Watch video!

The problem here is that the Media module doesn't give you a URL to link to: it gives you a URI:

kpr() output of $variable with the URI highlighted

The trick to dillying yourself out of this pickle is a wacky, hard-drinking little function called file_create_url(). It takes a stream wrapper (such as our URI) and turns it into a URL. Big ups to Ethan for finding this function.

We can now create a custom formatter that does the following:

// we can also use the terser #items field
$items = $variables['#items'];
$text = t('Boom goes the whale');
$link = file_create_url($items[0]['uri']);
print l($text, $link);

Although it's a bit of a pain to create a custom formatter for something so simple, doing so allows you to make full use of Display Suite and all its awesome powers, and is my current preferred solution for dealing with small things like this.

Mar 23 2012
Mar 23

Posted by John Ennew on Friday, 23 March 2012 at 12pm

When you want even more control over an outputted field, you can still put a theme function in template.php file. With the devel module enabled, set the display mode for a field to expert then add the following to template.php, clear your cache and then load a page with the field on it.

 * Implements hook_field__expert__FIELD_ID().
function mytheme_field__expert__myfield(&$variables) {
  // Inspect the contents of $variables.
  // Pass back to the display suite theme function for final theming.
  return theme_ds_field_expert($variables);

In this manner you can inspect the variables in $variables, make changes to them then let display suite format the output as before.

A good item to inspect is $variables['element']['#view_mode'] which will give you the current view mode the field is being rendered in. If you have a view list of teasers for instance, this will say teaser, allowing you to then modify the field just on that one display, leaving the output on the main node page alone. Below we see an example of just outputting one image of an unlimited image field in teaser mode.

 * Implements hook_field__expert__FIELD_ID().
function mytheme_field__expert__field_images(&$variables) {
    if ($variables['element']['#view_mode'] == 'teaser') {
      // In teaser mode, only output the first image.
      $item = $variables['items'][0];
      $variables['items'] = array(0 => $item);
  return theme_ds_field_expert($variables);
Jan 11 2012
Jan 11

January 11th, 2012

1. Display Suite
DS lets you customize the output of nodes and their content fields without having to modify template files. Even clients can drag and drop fields and change how they display and are formatted. If only life were this easy!

Ben – Best thing that happened to Drupal since CCK.
Brandon – More ‘Drupal-way’ than panels.
Trent – With the pulling the node and view layout changes out of the template files, we are able to make changes to sites without having to have your desktop or laptop on hand, making Drupal content layout almost completely editable on a mobile device like an iPad or phone.
John – Powerful and versatile, and very intuitive. It’s easy for a developer to incorporate it into their workflow, and before long it’ll look like the solution to almost any problem.
Shea – Powerful and exportable. Something every developer needs.

Display Suite

2. Views 3
Views is a dynamic tool for building queries that display tables and lists of data. The third version has some amazing new abilities and enhanced user interface features.

Ben – The backbone of any Drupal site. More useful then 50% of core modules.
Brandon – They took what makes Drupal good (views 2), and made it better.
Johannes – One of the most essential contributed modules got a major upgrade!
Shea – You simply do not use Drupal without using views. If this isn’t the most useful module out there I don’t know what is.

3. Context 3
Context 3 lets you control conditions and reactions for different sections of a site like displaying a certain block on all nodes of a certain type or hiding a block when a menu or view is active. It saves developers from writing custom hooks and the interface is straight forward so the clients can use it too.

Johannes – Like Views it’s one of the modules we use on all projects for its awesomeness. Happy to see a major release last year.
Shea – Context brings logic and sense to Drupal. It is what is missing in the default blocks system.

4. Omega
Instead of creating a new theme from scratch or maintaining a custom in-house theme for a new project ImageX Media started using this theme as a base for our client themes.

Ben – Great starting theme with responsive abilities backed in. Makes theming fun even for coders.
Brandon – There is also Plink. The strength of Omega is really Delta, see Delta below.
Johannes – My highlights are that it comes out of the box with a responsive grid layout and it’s HTML 5 compliant. The maintainers put a lot of work into this over 2011.
Trent – The way Omega handles regions has been one of the greatest powers I have come to love about the theme. Being able to add a bunch of regions to the .info file, then using the theme settings to place them in what section of the page you need, then being able to change it on a specific page with Delta, the Omega helper module, is awesome. Omega and Display Suite bring the goals of a CMS to the forefront. Manage the content and layout from the administration back end, while staying exportable. Excellence.
John – Great for getting a responsive design up and running quickly.
Shea – Omega + Delta gives amazing flexibility to developers and administrators through the website UI. The work done to not only provide customizable layouts but responsive themes is impressive.

Omega Theme

5. Delta
Delta allows you, via the Context module to make duplicates of your theme settings for any context on your site. This gives you the ability for alternative layouts as a reaction in Context.

Ben – In combination with Omega a great set of tools to create theme and layout variations.
Brandon – Delta is no longer Omega-only. Extended to all themes and works extremely well together with Context.
Trent – Took a bit to get used to the concept, now I am not looking back. Layouts, grid settings, region placement and more can be set on a per Context basis.
“Shea” – Delta is to Omega as Views is to Drupal

6. Workbench
One of Drupal’s big learning curves is when you teach a content editor to ‘ignore’ all the technical stuff they get forced to see. It can be overwhelming. So Workbench tries to create a tailored interface just for content editors. Then it adds a permissions structure for editing content that matches the organizations structure. And finally Workbench tries to enable a customizable editorial workflow for moderating and publishing content.

Ben – A lot of potential but still not fully ironed out IMHO.
Johannes – It is not a complete solution, but it’s a great start to make the Drupal content editor experience much better than default.
Shea – A starting base for workflows and moderation. There is still much work needed in this module but it is probably the best choice out there for what it does.

7. CCL
The Custom Contextual Links module allows you to add your own links to the contextual drop down widgets of blocks and nodes. Drupal comes by default with contextual links and until now you would have to do some custom coding to customize this. This module gives you a nice UI to make your changes and doesn’t require PHP coding skills.

Ben – I created the CCL module to make it possible to add your own links to the contextual links widgets in Drupal 7
Shea – A somewhat unknown module that provides a simple but extremely useful bit of functionality.

8. Media
Drupal has had a tough time when it comes to managing files and media ‘assets’. Anything from ‘where do you store a file that’s referenced from the database’, ‘how do you control permissions on those files’, ‘what do you do with the file if the node it was attached to gets deleted’ and (not lastly) ‘how come I can’t reference the same file in multiple nodes’. The Media module is the latest attempt at integrating files and media in an easy to use way that makes sense to everyone. In the latest release, Media allows users to attach fields to files as you would to nodes, link to remote assets like YouTube, drag and drop upload, and even integrates with the WYSIWYG module.

Ben – Equal amount of joy and pain.
Brandon – This is awesome, disregard above. Very easy to use, Media library reduces duplicate file uploads.
Shea – I love to hate it. I want everything it has to offer but immediately want to ditch it when it starts throwing up problems. Still in its infancy stage it has the promise to be an amazing addition to Drupal. The problem is that it doesn’t always work.

9. Field Group
Field Group lets you group fields together. Great solution if you want to make horizontal tabs.

Ben – Works great in combination with DS.
Brandon – Should be in core, too key
Trent – Using Field Groups with Display Suite has become the standard for content layout. Being able to setup tabbed content, or just group content sections on a page without having to build a custom block for the styles has made this a must enable for me.
Shea – Useful for organizing fields. Handy but not a necessity.

Field Group

10. Backup and Migrate
A simple module that lets you backup the database and files, stores them on the server, lets you download so you can upload to another site or just keep warm under your pillow. This is a quick and easy way to avoid ruining a site when you want to try something new or just to keep a copy of the important stuff. Never leave home without it!

Johannes – Over the last year, we fell more and more in love with this module and it’s one of the first modules I’ll install for any projects. Besides the features described above it has also has a nice module to integrate with Dropbox.
Shea – Backup and Migrate + Amazon S3 simple storage account rules. Fast, effective, and stable backups that are extremely portable make your site recoverable and speed up the local development to development environment syncing.

Nov 14 2011
Nov 14

Sometimes you get a really good question like: "Hey morten can you come and speak about some cool stuff at Drupalcamp Stockholm" see if theres a thing I can do & do it kinda okay - then its talking for days about cool stuff - The coolest stuff imho in the drupal world is offcourse Display Suite - yup its not the mothership its epic cool 24-7-365!

Display Suite is pretty awesome - and heres why

I have watched the development of display suite (since the evil drupal6 days with hardcoded templates) and are generally very (very) happy about it and the direction is taking us - not so much for the whole, oooh you can drag n drop fields around the node, but because of the quick way that the markup can be changed, from whatever defaults you field.tpl can give you to, predefined superclean rendiring down to the quick fixes where you change the markup elements (wrappers, labels etc) directly in the interface which is sooo goddamn handy when you building sites where youre caring about the markup.

the talk was actually not based on what display suite does (that would take me 3 * 45 minuts presentation to do that) but where Drupal fails when we work with the displays of nodes, how we have locked outself in to design sites in a certain way & how Display Suite helps us all getting out of that whole (the same way that views have changed the way were doing "list of data")

One of the bigger issues I have with the whole node-page-block-field drupal things is when you have a field you want to move out of the node and into the sidebar, it turns into development - from getting the field out of the content array hell "that field that you can grap it you do $node->content[bla bla][foo][whatever][#cleansometing]" then moving it to the sidebar, which then is gonna be a kinda of block thingie - So you suddenly have a template.php file that contains "magic". All this would be okay if we not at the same time had to joggle between Designers that dont want to understand Drupal & crappy browsers that hate us ;). Display Suite breaks down those barriers move a block to a node as a field back n forth no problem Quick n easy for us poor souls that wanna make Drupal sites pretty.

DrupalCamp Stockholm Slides
The slides from the talk in stockholm, afaik it was recorded to but i have no idea of when, where what.

The create of Display Suite walks through all the basic stuff.


Besides of pimping the Display Suite - i also made a Quick pitch for the work were doing now with Drupal8, which you all might know we have a whole rewrap of the markup to support the mobile platforms. If youre interested in helping out from a frontend /designer / developer point of view dont be shy - we really need you :)
But dont worry i will try to gather more frontend peeps to the cause later so youll get you chance ;)
Drupal8html5 mainpage
html5 Groups on d.o


It was cool to be in Stockholm again, hanging out with the swedes poking fun of each others language, food etc (its a danish - swedish national sport) Great to so how the camp are evolving to a truly community event a good nice atmosphere.
How I managed to miss all the session i planned on going to is still a mystery, maybe it was the hallway track & the hunting people down that were nodding when I bitched n moaned over drupals markup, its a secret superpower to spot a frontend developer at a drupalcamp, we have a special look in our eyes ;)

One of the highlight from the camp was the "the Swedish Drupal Awards" where the living screencast John Falk won one of the honors - a trophy the size of my daughter.

Im hoping to be able to swing by next year to (another) sold out event :)

In the future there needs to be made a lifesize trophy given from the (secret) guerrilla army "Frontend United" to drupalistas like @swentel ;)

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web