Comparison of Rotator / Slider modules

Last modified: June 15, 2009 - 00:48

This page came about as a result of this post in the Duplicated Modules Hall of Shame group. The linked post lists several modules that provide either tabbed content or rotating content. I see two general use cases here:

  • A device to provide access to large amounts of regular site content from one area of the page (tabbed content).
  • A device to showcase featured content, often on the home page, in an eye-catching manner (rotating /sliding content).

I am limiting this comparison page to the latter use case. My own module, Quick Tabs, was included in the original list linked to above, but as it does not provide any real rotator or slideshow type functionality, I am leaving it out here. It is open to discussion whether the ideal eventual outcome of any consolidation between the best features of the best of the modules would be a package that includes both types of feature.

Available Modules

There are many modules that provide some sort of slideshow / rotator functionality.

  • Dynamic display block - Enables you to create and present blocks of content in a dynamic way. Uses the jQuery Cycle Plug-in.
  • Views Rotator - a Views style plugin using the Cycle jQuery plugin with a small number of options for controlling transition behaviour.
  • Views Cycle - a Views style plugin using the Cycle jQuery plugin, with an option for tabs, several transition effect options and other transition behavior settings.
  • Views Slideshow - a Views style plugin using its own JavaScript for the rotation, also including a tabs option and a small number of transition behavior options. The Drupal 6 (dev) version is an extensible API that allows other cycles, rotators, and carousels to plug into the module, so they don't need to recreate the Views functionality.
  • Views Slideshow: ImageFlow - offers an ImageFlow option to Views Slideshow, similar to Apple's CoverFlow.
  • Slideshow Creator - adds an input format filter to allow you to add slideshow creation code to the body of a node. This module has been deprecated
  • Featured Content Slider - select nodes based on content type and create up to 3 blocks of featured content.
  • Slider - create a "slider" content type with a multi-value nodereference field to create carousel-style sliders of the referenced nodes.
  • EasySlider - create a list-style view with a block display and the view results are displayed in a carousel style slider.
  • Node Carousel - create carousels of nodes based on nodequeue or custom values using a hook in your own module.
  • Views Carousel - a Views style plugin using the jCarousel jQuery plugin for the rotation, suitable for e.g. a scrollable thumbnail viewer.

Other modules that I should probably include here when I have time:

Other modules that I will not be looking at:

  • Couloir Slideshow - this seems more like a Lightbox gallery type solution... without the Lightbox.
  • Frontpage Slideshow - this requires a paid 3rd party library.
  • CCK Multimage - a fork of the abandoned CCK Slideshow module which creates slideshows from multivalue imagefields. Only available for Drupal 5

Overview

Module Overview

Module 5.x 6.x Documentation Demo Site Last Update
Dynamic display block No Yes ddblock.myalbums.biz
Handbook page
README.txt
http://ddblock.myalbums.biz 2009-Feb-26
Views Rotator Yes Yes README.txt http://malsup.com/jquery/cycle/ 2008-Dec-16
Views Cycle No Yes README.txt http://malsup.com/jquery/cycle/ 2009-Mar-20
Views Slideshow Yes Yes Handbook page (5.x only)
README.txt
http://drupalhub.org/videos 2009-Mar-30
Views Slideshow: ImageFlow No Yes README.txt http://finnrudolph.de/ImageFlow 2009-Mar-30
Slideshow Creator No Yes Handbook page
README.txt
http://www.malsup.com/jquery/cycle/ Deprecated
Featured Content Slider Yes Yes README.txt www.iGadgets.be/ (Example site) 2009-Jan-10
Carousel style modules
Slider No Yes README.txt http://jqueryfordesigners.com/demo/coda-slider.html 2009-Mar-06
EasySlider dev dev README.txt http://mulpo.com/ 2009-Feb-04
Views Carousel dev dev Handbook page
README.txt
http://sorgalla.com/jcarousel/ 2008-Dec-16
Node Carousel Yes dev README.txt http://sorgalla.com/jcarousel/ 2008-Apr-19

Feature Overview

This feature comparison is based on a spreadsheet done by stephthegeek.
For the purposes of discussion and comparison of these modules I'm going to use the word tab to refer to "the bit that you click on to switch to the next piece of content" - in many of the rotator modules this is refered to as a thumbnail.

Module Tabs Tab content Main content Nav links Behaviour options Styles included
Dynamic display block Yes Numbers, prev/next, links, images, custom Image folder, node, nodequeue, blocks, views Yes Speed, timeout, all jcycle effects, custom, etc. 5 ddblock themes included, commercial themes available
Views Rotator No Output of a View Optional Speed, pause on hover None
Views Cycle Yes Choose a field from your View Output of a View No Speed, numerous effects, event trigger One skin provided
Views Slideshow Yes Title and teaser of the node Output of a View No Speed, fade effect, sort order None
Views Slideshow: ImageFlow Yes Image and Link Output of a View (Images only) Yes Slider, Aspect Ratio, Cursor, Start Position None
Slideshow Creator No Images that you manually select No None None
Featured Content Slider Yes Numbers Nodes of a chosen type Yes Animation speed, animation direction None
Carousel style modules
Slider Yes Node titles Nodes from a multi-value CCK noderef field Yes None None
EasySlider No Output of a View Yes None None
Views Carousel No Output of a View Yes Speed, orientation, easing effect Two skins provided
Node Carousel No Based on nodequeue or custom content Optional Speed, orientation None

Detailed Analysis

Dynamic display block

Benefits over other modules:

  • Multiple input possibilities: Images from a folder, node, Nodequeue, Blocks (e.g recent comments), Views
  • 5 example themes available with number pager, prev/next pager, link pager, image pager and image/link pager
  • Commercial themes available
  • Examples available of different settings
  • Well documented
  • In advanced slideshows you make fields available to the ddblock themes via preprocess functions (flexible)

Disadvantages or areas in need of improvement:

  • Ajax loading of content
  • Support for more jquery plugins as output
  • Not available as views style plugin
  • In advanced slideshows you have to make fields available to the ddblock themes via preprocess functions

Of note:

  • Uses the jQuery Cycle plugin

In summary:
Flexible module with multiple input options. Most needed settings of jQuery Cycle plugin configurable in configuration page, otherwise you can use custom jQuery Cycle plugin settings field to set other settings. Can work together with jQuery Easing plugin. For tabbed content easy to combine with Quicktabs module.

Views Rotator

Benefits over other modules:

  • Simple to install (doesn't require downloading a plugin as it's included in the module)
  • Very clean and smooth UX
  • This useful feature is achieved in very few lines of code - the module files are few and short.

Disadvantages or areas in need of improvement:

  • The options are very limited.
  • It includes the jQuery Cycle plugin at the start of its own js file, which seems less than ideal to me - but given that there currently is no real solution for jQuery Plugin management in Drupal as yet, it's probably no worse than any other way of doing it.

Of note:

  • This is a Views style plugin
  • Uses the jQuery Cycle plugin

In summary:
This is quite a minimalist approach to the rotating Views idea. There are no transition effect options and - most significantly - no tabs. Otherwise, it is a very clean solution.

Views Cycle

Benefits over other modules:

  • Optional tabs that can be configured to hold the output of any field from your View.
  • Offers all the transition effects that come with the full jQuery Cycle plugin as options
  • If using tabs, you can choose whether the transition happens on hover or click of the tabs.
  • Straight-forward configuration

Disadvantages or areas in need of improvement:

  • Need to download the jQuery Cycle plugin separately, which some may find awkward.
  • No prev/next links
  • The skin that's provided with the module is quite buggy. Also, regardless of skin option, the output behaves strangely with regard to the ordered/unordered list of the main content - the first item gets its bullet or number displayed and the others don't.

Of note:

  • This is a Views style plugin
  • Uses the jQuery Cycle plugin

In summary:
Views Cycle is a pretty powerful variation on the rotatable Views theme. The configurable tabs are a huge plus. Unfortunately they don't as yet work with combined fields - see this issue.

Views Slideshow

Benefits over the other modules:

  • Extensible API
  • Has an option for tabs
  • Seems like it is highly configurable for different use cases.

Disadvantages or areas in need of improvement:

  • Configuration options are quite confusing
  • Lacking the generous selection of transition effects that Views Cycle provides, this module only provides fade or nothing, though that's probably enough for most people's needs. (However, as future plugins to Views Slideshow are made available, this should be alleviated.)
  • Tab content is not configurable

Of note:

  • This is a Views style plugin
  • Uses its own js for the rotation
  • Has an API that allows other plugins to extend the functionality

In summary:
This module seems a little rough around the edges and could do with some clearer directions on the configuration screen. I didn't know what I should set things to at first as I didn't understand what the options meant. I played around with the settings a bit and realised that "Slideshow Mode: Thumbnail hover" means that you can have tabs that trigger the rotation, they do this on hover, and they contain the title and teaser of the node. Except that when I tried it with a View that was outputting just title and an imagefield, the thumbnails contained the title and the imagefield and the rotating content consisted of title and teaser, which is not the expected behaviour. There's also a "Mouse hover" option which has one single radio button, "hover", but it seems there would be other options if the "Hover Intent" module were installed and enabled. Overall, highly configurable but not a very intuitive interface.

Views Slideshow: ImageFlow

Benefits over other modules:

  • Implements a CoverFlow-like slideshow
  • Uses the API offered by Views Slideshow and Drupal.behaviors, so it's lightweight

Disadvantages or areas in need of improvement:

  • Requires a third-party JavaScript plugin, which has a small fee for commercial uses
  • The "reflection" option normally offered by the plugin is not currently available

Slideshow Creator

Of note:

  • Uses jQuery Plugin module to add the Cycle plugin.

In summary:
This module is a very rudimentary solution to the slideshow idea. It involves creating a new input format so that you can place code like this into your node body:

[slideshow: 2, img=|http://drupal.org/sites/all/themes/bluebeach/logos/drupal.org.png|drupal.org|Drupal|The ultimate CMS. Download it now!|Drupal|, img=|http://www.mysql.com/common/logos/mysql_100x52-64.gif|http://www.mysql.com|MySQL|Free and reliable SQL server and client.|_self|, dir=|files/|yes||Generic Photos|Aren't they great?||]

With the other options out there I woudn't see much point in using something like this.

Featured Content Slider

Of note:

  • Creates up to 3 blocks of sliding nodes
  • Uses its own js code which is not jQuery

In summary:
This pulls nodes of a given type into a slider block. You can create up to 3 blocks using different node types for each. The JavaScript code suggests there is ajax loading functionality but I did not manage to see this in action. Also, the js code is needlessly bulky as it does not leverage jQuery at all, never mind jQuery plugins. Otherwise, a fairly smooth UX.

Slider

Of note:

  • Uses its own js in conjunction with jQuery.scroll.js to achieve a carousel effect.

In summary:
There's a fair bit of set-up involved here to create a slideshow and it's based on CCK multi-value nodereference fields. Not very flexible.

Easy Slider

Of note:

  • Uses the Easy Slider jQuery plugin, which ships with the module.

In summary:
Very similar to Slider, except that it works with Views.

Views Carousel

Benefits over the other modules:

  • Easy set-up
  • Provides good basic styles

Disadvantages or areas in need of improvement:

  • Easing effect option is a textfield with directions sending user to a jQuery docs page for options; one has to scroll down and search to eventually find this: 'There are two built-in values, "linear" and "swing".' - one would expect more options when being sent all the way to another site to find out what they are.

Of note:

  • This is a Views style plugin
  • Uses the jCarousel jQuery plugin

In summary:
A good, clean UI with straight-forward configuration options, an exemplary implementation of the jCarousel jQuery plugin for Drupal sites.

Node Carousel

Benefits over the other modules:

  • Apparently has an AJAX option (untested)

Disadvantages or areas in need of improvement:

  • The module is not well maintained and the documentation is out of date.
  • No functional 6.x version available - looks like development simply stopped on this before it was ready
  • No Views integration

Of note:

  • Works with Nodequeue
  • Uses the jCarousel jQuery plugin

In summary:
I spent a lot of time trying to get this to work in 6.x. There is either a cvs tagging problem or a lack of adequate documentation: - the jcarousel plugin does not come with this module although it exists in CVS, and there are no instructions as to where to get it or where to put it. I stuck the plugin into the module directory and still my Nodecarousel did not do anything. Also there were numerous php notices.

Bottom line

I keep coming across remarks like this in project descriptions and issue queues:
- "EasySlider is being developed into a views plugin"
- "I'm thinking of rejiggering it as a views extension" (Nodecarousel)
- "I am planing its integration with Views" (Featured Content Slider)
and feel like shouting "Somebody STOP THEM!!!!" Seriously, there has already been so much duplicated effort here, it's time for that to stop and for some consolidation to happen. Within the somewhat broad use case of eye-catching, rotating content, I see at MOST two distinct use cases, meaning justification for at MOST two modules here:

  1. Passive User: throw featured content at them while they're on your front page
  2. Active User: allow users to navigate / scroll through content to find what they're looking for (e.g. thumbnail images in a gallery)

The modules that I think best exemplify these two use cases are {Views Cycle OR Views Rotator} and Views Carousel respectively. There's no reason why features from Views Rotator / Views Cycle / Views Slideshow couldn't be incorporated into one module and likewise with all the carousel/slider-type modules for the latter use case.

My exploration of these modules also highlighted for me the dire need for a standard way of including jQuery plugins, as per this thread. Wouldn't it be awesome if you could just choose "jQuery plugin" as your Views style and then in the settings for that style you would choose which plugin to use, e.g. Cycle, Accordion or Carousel. Of course there are different config options for each of those but... maybe getting closer to that ideal isn't too wacky an idea.

Multi-lingual Sites

tryitonce - June 22, 2009 - 10:29

I found this page traing to get slideshows to work on my multi-lingual sites.

After getting slideshow_creator to work on the basis of the book by Mark Nobel (Drupal 6 Site builder Solutions) I realised this module was not working on a mulit-lingual site and then I found it was no longer supported.

Next came ddblock - http://drupal.org/project/ddblock - but it it also not working across language switching.

It might be useful to add a column in the comparison table for the "Multi-lingual Sites".

Next I will try - http://drupal.org/project/views_slideshow .... fingers crossed ...

Multi-lingual Dynamic display block slideshow

ppblaauw - July 1, 2009 - 03:57

Have a look at the issue: Multilingual settings are not saved in the issue queue of the dynamic display block module for more information how to set up multi-lingual slideshows with the dynamic display block module.

There are several multi-lingual sites on the internet using the dynamic display block slideshows successfully.

views_rotator going away

Crell - July 23, 2009 - 20:13

views_rotator is going to be folded into views_cycle for Drupal 6. So that's at least one fewer too many options. :-)

Thank you very much for this

cookiesunshinex - August 3, 2009 - 04:37

Thank you very much for this article.

I was searching for what you describe as a "passive user" type block to add to my home page so to automatically scroll through featured content.

This post has really made sense of what is out there.

I wish there were more cases of this kind of information on drupal.org because there are getting to be so many modules out there that the most consuming part of developing a site in Drupal is characterized as either wading through the modules available to accomplish a task or the theming of the site.

I also wish there were more video examples of what a module does or how it works.

I tried many but can't get any to work

wwwoliondorcom - August 12, 2009 - 06:55

I tried many but can't get any to work

Hello,

Please can you just tell which module is supposed to be the EASIEST to setup and use and that will work on any browser?

I tried many and failed with all, so please can you just give me one name so that I feel super retarded if I can't get it to work? :-)

It should really be the easiest but reliable, as it's not for fun but just to show pictures of an Ubercart products catalog.

Thanks a lot.

Hi there, from a book I

tryitonce - August 12, 2009 - 08:14

Hi there,

from a book I learned about setting up "Slideshow Creator". It is not maintained any more, but it is working and is running still on www.sds-i.com for one of clients.

Otherwise we use Views Rotator and Views Slideshow - but you need CCK for that and understand Blocks and Views.

Slideshow Creator needs to have the images in the right location and you need to set the Input Format correctly - then all you need is to enter the syntax in any block or page and remember to activate the right Input format.

This might still be a good way to get a slide show going.

Using the other two modules I came across this problem - Setting a Fixed Height in a Slide Show - http://drupal.org/node/194672#comment-1851616.

Hope this helps -

I would suggest adding two

druplicate - September 15, 2009 - 02:24

I would suggest adding two very important attributes to the comparison, SEO friendliness, and graceful degradation in the absence of javascript.

Ddblock for example, is SEO friendly (whereas most people know that Flash is generally not), but does not work at all with javascript disabled, although it's being considered (http://drupal.org/node/396892) for a future version.

Usually you can get around this limitation by sniffing if js is disabled in the browser, and then using a different template altogether or just providing alternate functionality within your template. It may seem clunky but that's the only way I know around the issue at the moment.

Surprisingly, Drupal doesn't seem to have focused on the issue of javascript degradation much in the past, though it is being actively discussed for D7. Even the seemingly simple collapsible fieldsets in CCK forms do not degrade gracefully, in fact they don't work at all (collapsed sets won't open).

I've seen endless discussions about how many people actually disable js with numbers cited between 85% and 99% as reported by various sources, but ultimately you have to take stock of who your typical visitor is. Then of course there's the whole issue of accessibility with screen readers for the blind, and other similar issues.

New module on list

chris.cohen - September 21, 2009 - 08:32

With regard to adding the Fancy Slide module to the list above, I was requested to add this information by VeryMisunderstood:

Available Modules section

  • Fancy Slide - create slideshows with thumbnails, descriptions and a selection of transition effects by using the imagecache module and optionally a nodequeue.

Module Overview

  • Module: Fancy Slide
  • 5.x: No
  • 6.x: Yes
  • Documentation: README.txt
  • Demo Site: none
  • Last Update: 2009-Sep-11

Features Overview

  • Module: Fancy Slide
  • Tabs: Yes
  • Tab content: Thumbnails to move to a given slide
  • Main content: Images from a node or a nodequeue
  • Nav links: Optional
  • Behaviour options: Slide duration, transition, transition duration, transition direction, manual/automatic advancement
  • Styles included: Defaults provided

Detailed Analysis

Fancy Slide

Benefits over other modules:

  • Input from either a single node or from a nodequeue.
  • Large number of settings.
  • Integrates with imagecache to resize images automatically.
  • Control bar with automatic thumbnails and image descriptions.
  • Well documented.
  • 'Pluggable' transitions to provide the possibility to add further transitions using jQuery.
  • Theme functions exposed to theme developers to build straight into themes.

Disadvantages or areas in need of improvement:

  • No views integration.

In summary:

An early but stable slideshow module that aims to provide a nicer, fancier interface to the end user than other offerings, while maintaining an array of customisation options. More work is needed to bring views integration to the module.

 
 

Drupal is a registered trademark of Dries Buytaert.