In Drupal, can you modify the author of all nodes of type 'Story' whose title contains the word 'News:' to be user 'editor', without going through each node manually (or programmatically) ?
Before Views Bulk Operations (VBO for friends), you couldn't.
VBO builds upon existing modules and APIs to perform the useful function of mass-editing nodes, users, comments, or any other Drupal object. It reuses the incredibly powerful query builder Views to list the nodes of interest, and it reuses the Actions API to allow users to apply operations upon all selected nodes at once.
A scenario: Administering a workflow
You've built a recruitment site that defines a content type "Applicant" and a workflow "Recruitment" that takes the applicant through several stages, from "application received" to "hired" or "rejected".
Later on in the lifecycle of your site, you discover that you need to add a new stage to the workflow. All existing applications that are "waiting for feedack" should first go to "applicant contacted". But you already have hundreds of applications and you don't want to go through every single one of them!
To do so, you quickly build a new view that lists nodes of type Applicant whose current workflow state is "waiting for feedback". This is standard Views stuff. But when you declare the Style of that view to be "Bulk Operations", you are now shown a checkbox in front of each result, allowing you to select the nodes you want, and then apply the operation called "Change workflow state of post to new state" to the nodes that you selected.
Where do actions come from?
The perceptive reader will notice that without actions that do what you need, VBO is pretty much useless. That's true! Thankfully, most modules that provide new functionality, such as Workflow, Flag, Organic Groups, Nodequeue, etc., also package their functionality as actions. VBO merely lists existing actions to let you apply them on selected nodes. You can also write your own actions that will automatically be listed by VBO by virtue of being found by Drupal.
- VBO works with any object type supported by Views: nodes, users, comments, etc. Since Views allows for custom types to be defined, VBO also does the same.
- VBO provides security features to prevent unauthorized users from modifying nodes they're not allowed to. Admins can set permissions on individual actions to limit the set of actions that can be seen by different user groups. VBO also respects node access permissions by limiting the view results to nodes that can actually be modified.
- VBO can work with Batch API to provide visual feedback and avoid timeouts on large selections. It also works with the Job queue module to perform the operations during cron runs.