Drupal image Rotator / Slider modules

This page came about as a result of this post that lists Tabs and Slideshow Modules in the Similar Module Review group. The linked post lists several modules that provide either tabbed content or rotating content.
There are 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).

This comparison page is limited to the latter use case. 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 overview

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

  • Content Glider – Another jQuery plugin for image slider, very easy to use.
  • Dynamic display block – Enables you to create and present blocks of content in a dynamic and attractive way. Uses the jQuery Cycle Plug-in.
  • Views Nivo Slider – a Views style plugin using the Nivo style slider. Drupal 6 version requires imagecache, imagefield and jquery update.
  • Views Slideshow – a Views style plugin using jquery cycle. The Drupal 6-2.0 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: Dynamic display block – a Views slideshow plugin which enables you to present slideshows in an attractive way.
  • 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 and other text fields.
  • 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.
  • Views Carousel – a Views style plugin using the jCarousel jQuery plugin for the rotation, suitable for e.g. a scrollable thumbnail viewer.
  • Ajax Slideshow – Sequential presentation of any of the site nodes, using various effects. The slideshow is ajax-based which means the page load-time is agnostic to the amount of content included.
  • Fancy Slide – create slideshows with thumbnails, descriptions and a selection of transition effects by using the imagecache module and optionally a nodequeue.
  • Media Nivo Slider – Provides the ability to expose the content of a Media Gallery to a Nivo Slider block.
Deprecated modules
  • Coda Slider – A nice jQuery plugin for image slider and support thumbnail navigator. Deprecated – maintainer recommends Content Glider instead.
  • Views Rotator – a Views style plugin using the Cycle jQuery plugin with a small number of options for controlling transition behaviour. Deprecated – maintainer recommends Views Slideshow instead.
  • 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. Deprecated – maintainer recommends Views Slideshow instead.
  • EasySlider – create a list-style view with a block display and the view results are displayed in a carousel style slider. Maintainer recommends Views Slideshows instead.
  • Node Carousel – create carousels of nodes based on nodequeue or custom values using a hook in your own module. Maintainer recommends Views Carousel instead.
  • CCK Multimage – a fork of the abandoned CCK Slideshow module which creates slideshows from multivalue imagefields. Only available for Drupal 5

    Other modules that could be included:

    • Views Accordion – a Views style plugin using the Accordion jQuery plugin

    Other modules won’t be included:

    Module documentation/demo comparison

    Module
    5.x
    6.x
    7.x
    Documentation
    Demo Site

    Dynamic display block
    No
    Yes
    Yes
    ddblock.myalbums.biz
    Handbook page
    README.txt
    http://ddblock.myalbums.biz

    Views Nivo Slider
    No
    Yes
    dev
    Documentation
    http://nivo.dev7studios.com/

    Views Slideshow
    Yes
    Yes
    alpha-1
    Handbook page (5.x only)
    README.txt
    http://drupalhub.org/videos

    Views Slideshow: Dynamic display block
    No
    Yes
    No
    README.txt (V1.x)
    README.txt (V2.x)
    Tutorial (V1.x)
    Tutorial (V2.x)
    http://ddblock.myalbums.biz

    Views Slideshow: ImageFlow
    No
    Yes
    No
    README.txt
    http://finnrudolph.de/ImageFlow

    Slideshow Creator
    No
    Yes
    Yes
    Documentation
    http://wingedhearts.org/grounded/carpetpython

    Featured Content Slider
    Yes
    Yes
    No
    README.txt
    www.iGadgets.be/ (Example site)

    Media Nivo Slider
    No
    No
    Yes
    Documentation
    http://nivo.dev7studios.com/

    Carousel style modules

    Slider
    No
    Yes
    No
    README.txt
    http://jqueryfordesigners.com/demo/coda-slider.html

    Views Carousel
    dev
    dev
    No
    Handbook page
    README.txt
    http://sorgalla.com/jcarousel/

    Ajax Slideshow
    No
    Yes
    No
    dofinity’s page
    README.txt
    news.com

    Fancy Slide
    No
    Yes
    No
    README.txt
    None

    Module feature comparison

    This feature comparison is based on a spreadsheet done by stephthegeek.
    For the purposes of discussion and comparison of these modules, the word tab refers 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
    Pagers with Numbers, prev/next, links, images, custom and scrollable pager
    Image folder, node, nodequeue, blocks, views
    Yes
    Speed, timeout, all jcycle effects, custom, etc.
    15 free ddblock themes, commercial themes available.

    Views Slideshow
    Yes
    Title and teaser of the node
    Output of a View
    No
    Speed, fade effect, sort order
    None

    Views Slideshow: Dynamic display block
    Yes
    Pagers with Numbers, prev/next, links, images, custom and scrollable pager
    Output of a View (Mapped fields)
    Yes
    Speed, timeout, all jcycle effects, custom, etc.
    6 free slideshow themes, commercial themes available.

    Views Slideshow: ImageFlow
    Yes
    Image and Link
    Output of a View (Images only)
    Yes
    Slider, Aspect Ratio, Cursor, Start Position
    None

    Slideshow Creator
    Yes
    Next/Prev
    Images that you manually select
    Yes
    Speed, timeout, all jcycle effects, etc.
    Style with html surrounding the slideshow and with css.

    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

    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

    Ajax Slideshow
    Yes
    Titles, Numbers, Images, Any field brought by views, Prev/Next, Custom
    Any set of nodes or views object (controlled by a view)
    Yes
    transition type, transition speed, slide duration, w/wo navigation, w/wo border, viewport height, content source, w/wo teaser, advanced options.
    node template based

    Fancy Slide
    Yes
    Thumbnails to move to a given slide
    Images from a node or a nodequeue
    Optional
    Slide duration, transition, transition duration, transition direction, manual/automatic advancement
    Defaults provided

    Detailed analysis
    Dynamic display block

    Benefits over other modules:

    • Multiple input possibilities: Images from a folder, node, Nodequeue, Blocks (e.g recent comments), Views
    • 15 example themes available with number pager, prev/next pager, link pager, image pager and image/link and scrollable pager
    • Commercial slideshow 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
    • 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. Multiple pager 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, 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. "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. When tried 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: Dynamic display block

    Benefits over other modules:

    • Mapping of field to slideshow themes. (v2.x)
    • 6 example themes available with number pager, prev/next pager, link pager, image pager and image/link pager and scrollable pager or a combination of these (v1.x – v2.x)
    • Commercial slideshow themes available (v2.x)
    • Example module available with different pager settings (v2.x)
    • Well documented (v1.x – v2.x)
    • Possibility to make fields available to the slideshow themes via preprocess functions (flexible) (v1.x – v2.x)
    • For more information see project page.

    Disadvantages or areas in need of improvement:

    • Ajax loading of content

    Of note:

    • Uses the jQuery Cycle plugin

    In summary:
    Flexible module with several available slideshow layouts. Multiple pager 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 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.
    • Allows slideshows to be placed anywhere within text content by use of an input filter.
    • Allows slideshows to consist of arbitrary images or entire directories of images.

    In summary:
    This module 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?||]

    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. 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:
    There is either a git tagging problem or a lack of adequate documentation: – the jcarousel plugin does not come with this module although it exists in git, and there are no instructions as to where to get it or where to put it. With the plugin in the module directory, Nodecarousel did not do anything. Also there were numerous php notices.

    Ajax Slideshow

    Benefits over other modules:

    • Ajax-based slideshow which means scalability. The slideshow content can grow bigger without negatively impacting the page load-time.
    • Slides can contain any content item (node) rather than images only
    • Content and sequence ease of control due to the utilization of the views module for managing the slide set.
    • Plug & Play – standard installation and the slideshow is up.

    Disadvantages or areas in need of improvement:

    • Need to implement additional out-of-the-box tabs styles.

    Of note:

    • Uses Views and JQuery plugins

    In summary:
    Straightforward, easy to install and manage module that allows sequential presentation of any set of content items. Performance is not dependent on the number of content items selected.

    Fancy Slide

    Features:

    • 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.
    • ‘Pluggable’ transitions to provide the possibility to add further transitions using jQuery.
    • Theme functions exposed to theme developers to build straight into themes.

    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.

    Bottom line

    You often 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)

    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, there are 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)

    Two modules that exemplify these two use cases are well {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.

    There is also a strong 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.

  • Leave a comment