A module to refresh a view after a specified time interval or when triggered by an event. Includes advanced options to avoid reloading the whole view, and to avoid causing a full Drupal bootstrap at each refresh.
Suitable for usage on liveblogs, activity streams, comment lists, and any other view where new items are frequently added.
HOWTO: Basic autorefresh
- Create a new page view
- Add a new header of type Global: Autorefresh
- Set the interval time to 5000ms
- Save the view and open its page
- In a second browser tab, add a new content that fits the view's criteria
- See the new content in the view!
HOWTO: Incremental refresh
Use incremental refresh when you don't want to reload the whole view at each refresh. This is handy if rendering the view items needs further client-side work, like reloading a YouTube video.
- Create a new page view
- Add a second page display with:
- A different path
- A distinctive name like "Incremental Page"
- A contextual filter of type Content: Post date (with operator)
- In your original page, add a new header of type Global: Autorefresh with:
- Set the interval time to 5000ms
- Check Use a secondary view display to incrementally insert new items only
- In Secondary display, select the second page you created above
- Save the view and open its page
- In a second browser tab, add a new content that fits the view's criteria
- See the new content in the view!
HOWTO: Using a ping script
Using a ping script is essential for production environments, to avoid a full Drupal bootstrap at each refresh.
- Create a new page view
- Copy the file ping.php.example to your Drupal root folder and rename it as ping.php
- Edit ping.php such that
DRUPAL_ROOTpoints to your Drupal root, and adjust the query:
$result = $db->query("SELECT count(nid) FROM node WHERE created > $timestamp");to reflect your view's generated SQL query. Make sure to keep the
createdcondition in the query. - Add a new header of type Global: Autorefresh with:
- Set the interval time to 5000ms
- Check Use a ping url
- In Path to the ping script, enter
ping.php - Save the view and open its page
- In a second browser tab, add a new content that fits the view's criteria
- See the new content in the view!
HOWTO: Using Node.js and Rules
Using Node.js integration and Rules to avoid polling the server at regular intervals.
- Enable Node.js integration (latest 7.x-1.x-dev), apply this patch and start the node.js server
- Enable Rules
- Create a new page view with a secondary display as in the incremental HOWTO
- Instead of specifying a time interval, check Use Node.js to refresh the view instead of interval pings
- Save the view
- Add a new rule that is triggered by the event corresponding to your use case, e.g. Node: After saving new content
- Add the action Autorefresh a View through Node.js to your rule, selecting the view display that corresponds to your primary display
- Open the view's page
- In a second browser tab, add a new content that fits the view's criteria
- See the new content in the view!
Project information
Unsupported
Not supported (i.e. abandoned), and no longer being developed. Learn more about dealing with unsupported (abandoned) projectsNo further development
No longer developed by its maintainers.691 sites report using this module
- Created by infojunkie on , updated
Stable releases for this project are covered by the security advisory policy.
There are currently no supported stable releases.



