Showcase the most popular content across your Drupal website and engage your audience.

Ready to Use

The module is pre-packaged with several services including:

  • Drupal - Most Viewed pages (using Statistics module)
  • Drupal - Most Commented pages (from simple database query)
  • Google Analytics - Most Viewed pages
  • - Most Shared pages
  • - Most Commented pages

The system defines Drupal hooks to allow new services to be created, which can pull data from third party providers or internally from Drupal.  The system also provides an API to help service plugins normalize their results and exclude certain pages, as configured by the administrator.

Themeable User Interface

The module uses cookies to keep track of the user's filters, so the current state is preserved across every page.  The module uses AJAX to reload its results when the user changes the filters.

By default the module comes with three styles ready to use:

  • Full styling - for when you'd like the widget to look good right out of the box.
  • Basic styling - for when you'd like some default layout styles but plan to override the colors, themes, etc.
  • No styling - for user interface experts who wish to completely customize the look and feel of the module.

You can override the themes used to render each component:

  • The overall block template (and page template when javascript is disabled).
  • The tabs of available services.
  • The tabs of available intervals.
  • The list of most popular items.
  • Each most popular item (so you can add images, publication date, etc).
  • The list when there are no items to display.

You can also override the Javascript options to:

  • Change the JQuery selectors targeting:
    • Drupal Most Popular block.
    • Tabs of available services.
    • Tabs of available intervals.
    • List of most popular content.
  • Change the CSS class to attach to the selected service and interval.
  • Change the transition animations and behaviors when the content pane is reloading:
    • Change the animations used to hide the previous content and show the new content.
    • Enable or disable a throbber which appears while the new content is loaded.

Drupal Administration

An administrator can quickly control options and features through the Drupal administration interface:

  • Create any number of Most Popular widget blocks, displaying any combination of services and intervals.
  • Customize the maximum number of results to display for each block.
  • Show or hide the number of page hits for most popular items.
  • Normalize the page URLs that are returned from external services:
    • Add multiple domains or base URLs.
    • Exclude certain pages from the most popular results.
  • Customize the intervals over which filtering is available, the label for each interval and the order in which they are presented.
  • Customize which services are available, the label for each service and the order in which they are presented.
    • Configure each service, provide login credentials if necessary, and specify how often the service should retrieve its data.
    • Restrict the entities and bundles that each service can display.

Scalability and Performance

Many third party providers specify quotas limiting how many times you can query their service within a certain period of time.  With the Drupal Most Popular module, you can specify a different wait period for each of the intervals over which each service is to receive data. For example, you likely want to refresh data for the past 24 hours more frequently than data for the past year.  Each service can choose to specify defaults based on the currently-configured filter intervals.

Data is retreived when the Drupal cron job runs and is cached locally.  The Drupal Most Popular module keeps track of the last time a service was run and does not request data from that service again until the configured refresh interval has passed.  However, the administrator can choose to expire all the data manually and retrieve it again immediately.

Additional Notes

The Drupal Most Popular module is highly customizable, so you’re not limited to the features above.  If you’d like to add a new feature you are welcome to do so.  For additional details, please read the documentation.

New Features in Drupal 7

A number of new features were added in the Drupal 7 version. Here is a summary:

Multiple blocks

You can now configure any number of Most Popular blocks, and place each one anywhere on your site using the standard block administration UI. You must now define services and intervals for each block. You must also specify how many results each block should return.

Remote blocks

You can now setup one Drupal site to display the most popular content from a related site, to allow you to cross-promote between the two sites.

To set this up, you need to add the remote site's database connection to your site's settings file. When you create a remote block, you will choose which database connection it uses, and the ID of the block in the remote system. All other configurations of that block happen on the remote system

Multiple instances of any service

You can now configure any number of instances of any analytics service. This allows you to add the same service to multiple Most Popular blocks, or even to add one service multiple times to the same block, but restricted in different ways.

Fully entity support

You can restrict each instance of each service to only display results of a particular entity and bundle type, using the entity module. This gives you access to display any content on your site. You are no longer restricted to just nodes, and you can also limit a particular service by content type.

New Services in Drupal 7

In addition, we have added some additional analytics integrations. Most Shared

Previously, you could only get the most emailed content through the API. They have now expanded the API to include all sharing services, and the Most Popular integration has been updated accordingly.

When you configure the service, you can now select which of the many sharing services you would like analytics for. We have provided some by default (Email, Print, Facebook, Google+, etc), but you can add more options by implementing hook_mostpopular_addthis_service_options_alter(). Most Commented

If you are using to handle your site comments, you can now include the Most Commented metrics in your Most Popular blocks.

Project information