Comparison between Display Suite and Panels
People ask us how Display Suite compares to Panels. One important fact is clear: we never created this module to be a competitor or replacement for panels, in fact, most of the maintainers don't have much experience with panels at all. Somehow, features are overlapping though.
See the original post about this topic (this also compares the modules with the Context module).
- Both are great; DS is easier out of the box but Panels is more flexible
- Views arguments can be passed in Panels node variants
- With panels you can create node regions in any configuration through the UI, display suite starts you off with 5 regions, good enough for me. With panels you need to create those 5 regions on your own if you want to be able to alter sizes... That's too much clicking. DS wins out with convention over configuration.
- The CSS altering features in DS is much easier to deal with through the UI than with Panels. Panels can also assign CSS, but it just takes too many clicks to get to where Panels gives you a huge level of layout control and localised or globalised CSS styling.
- The drag and drop features of the DS admin UI is much much preferable to the add one by one method panels uses to assign blocks. Adding 10 blocks for each page in panels is extremely annoying, and extremely easy in DS.
- DS has build modes, which can produce different versions of the display for different situations, ie, full node, teaser, search. Can panels do the same? There is no confirmation, if someone knows, let us know.
With BC Panels Bonus you can use mini panels as build modes. You have also a view implementation to use this build modes. - A huge difference is that DS/ND does not affect data-entry. For many sites, how good (aka professional) data-entry forms look is just as important as how the data is displayed. eCommerce websites are a particular case in point. Moreover, often it is more intuitive for users if the node display is the same as the node data-capture form - i.e. just a read-only version of it. Because DS/ND only focuses on display, web designers have two forms to think about and work on.
- Panels offer a level of re-useability in the form of mini-panels - which can be embedded in any number of panels - this is useful also for branding.
- Panels is heavier in terms of your effort required to achieve the required result. That is to say, there is a steeper and steepish learning curve, and more options means more decisions - aka mouse-clicks.
- DS/ND is quicker to implement a much smaller set of data display-only layouts.
- There is one big caveat: you may be lucky and find DS/ND does what you want, and quickly. On the other hand you may realise that you cannot achieve what you want to achieve, scrap all your work with it, and switch to Panels...
- Panels is a superset of DS/ND.
- Panels has Variants. Those are not directly equivalent to build modes, but much more flexible. You can have a different variant per user, per language, et cetera
- Panels can do all the display-what-where things that DS does, and it does this in a more general (and complex) way. What Panels does not do is providing build modes.
- Panels can load contextual information from other parts of Drupal, which can be used in the content panes.
- Panels has variants and visibility rules.
- Panels has darn good caching mechanisms.
- Display suite adds custom build modes to nodes (and other entities), as well as exposing the existing build modes.
Some thoughts we - the maintainers - can't confirm and want to handle with care. It's likely that we're going to investigate this ourselves somewhere in the future so we can add some technical documentation to this statements.
- Panels is heavier in terms of CSS (aka browser load)
- Panels is heavier in terms of server load (page rendering)
- The HTML rendering is different (simple vs complex)
I would say that these are the properties that really tell Panels and Display suite apart -- and also shows that you can use them side by side to add extra kick-ass functionality on your site.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion