Creating nodes with Views Bulk Operations This seems like it would be a common application but not sure if it is doable.  I have a view (d7, views3) that is displaying fields in views bulk operation format from a content type (call it general).  For each row the user selects, I want to create a node of a separate content type (call it userspecific) made up of the user id and some of the fields from the general content type.  Is this something that is possible using VBO ??
This can be done using views bulk operations. But you may have to implement hook_actions_info in a custom module to create an action and the use that action in the views bulk operation.

Following code illustrates the process.

function custom_test_action_info(){
  return array(
    'custom_test_create_new_node' =&gt; array(
      'type' =&gt; 'node',
      'label' =&gt; t('Create New Page'),
      'configurable' =&gt; FALSE,
      'triggers' =&gt; array('any'),
    ),
    );
}

function custom_test_create_new_node($node, $context = array()){
  global $user;
  $page_node = new stdClass();
  $page_node-&gt;type = 'page';
  $page_node-&gt;status = 1;
  $page_node-&gt;title = $node-&gt;title;
  $page_node-&gt;field_body[LANGUAGE_NONE][0]['value'] = $node-&gt;field_body[LANGUAGE_NONE][0]['value'];
  $page_node-&gt;uid = $user-&gt;uid;
  node_save($page_node);
}


After saving this code flush the drupal cache and the views bulk operations form will have the action available.



After saving the view you will get the operation available in the views bulk operation page.



select a node and then execute the operation and you will have a new basic page created.

i am attaching an export of the view which i created you can import this view in your system and give a try to understand the workflow.

Export code of the view:

$view = new view();
$view-&gt;name = 'test_vbo_node_creation';
$view-&gt;description = '';
$view-&gt;tag = 'default';
$view-&gt;base_table = 'node';
$view-&gt;human_name = 'Test VBO node creation';
$view-&gt;core = 7;
$view-&gt;api_version = '3.0';
$view-&gt;disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view-&gt;new_display('default', 'Master', 'default');
$handler-&gt;display-&gt;display_options['title'] = 'Test VBO node creation';
$handler-&gt;display-&gt;display_options['use_more_always'] = FALSE;
$handler-&gt;display-&gt;display_options['access']['type'] = 'perm';
$handler-&gt;display-&gt;display_options['cache']['type'] = 'none';
$handler-&gt;display-&gt;display_options['query']['type'] = 'views_query';
$handler-&gt;display-&gt;display_options['exposed_form']['type'] = 'basic';
$handler-&gt;display-&gt;display_options['pager']['type'] = 'full';
$handler-&gt;display-&gt;display_options['pager']['options']['items_per_page'] = '10';
$handler-&gt;display-&gt;display_options['style_plugin'] = 'default';
$handler-&gt;display-&gt;display_options['row_plugin'] = 'fields';
/* Field: Content: Title */
$handler-&gt;display-&gt;display_options['fields']['title']['id'] = 'title';
$handler-&gt;display-&gt;display_options['fields']['title']['table'] = 'node';
$handler-&gt;display-&gt;display_options['fields']['title']['field'] = 'title';
$handler-&gt;display-&gt;display_options['fields']['title']['label'] = '';
$handler-&gt;display-&gt;display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler-&gt;display-&gt;display_options['fields']['title']['alter']['ellipsis'] = FALSE;
/* Field: Content: Body */
$handler-&gt;display-&gt;display_options['fields']['body']['id'] = 'body';
$handler-&gt;display-&gt;display_options['fields']['body']['table'] = 'field_data_body';
$handler-&gt;display-&gt;display_options['fields']['body']['field'] = 'body';
/* Field: Bulk operations: Content */
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations';
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['table'] = 'node';
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations';
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0';
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1;
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['vbo_settings']['force_single'] = 0;
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['vbo_settings']['entity_load_capacity'] = '10';
$handler-&gt;display-&gt;display_options['fields']['views_bulk_operations']['vbo_operations'] = array(
  'action::node_assign_owner_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::custom_test_create_new_node' =&gt; array(
    'selected' =&gt; 1,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::views_bulk_operations_delete_item' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::views_bulk_operations_delete_revision' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::views_bulk_operations_script_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 1,
    'label' =&gt; 'Create a new node',
  ),
  'action::node_make_sticky_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_make_unsticky_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::views_bulk_operations_modify_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
    'settings' =&gt; array(
      'show_all_tokens' =&gt; 1,
      'display_values' =&gt; array(
        '_all_' =&gt; '_all_',
      ),
    ),
  ),
  'action::views_bulk_operations_argument_selector_action' =&gt; array(
    'selected' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
    'settings' =&gt; array(
      'url' =&gt; '',
    ),
  ),
  'action::node_promote_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_publish_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_unpromote_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_save_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::system_send_email_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_unpublish_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
  'action::node_unpublish_by_keyword_action' =&gt; array(
    'selected' =&gt; 0,
    'postpone_processing' =&gt; 0,
    'skip_confirmation' =&gt; 0,
    'override_label' =&gt; 0,
    'label' =&gt; '',
  ),
);
/* Sort criterion: Content: Post date */
$handler-&gt;display-&gt;display_options['sorts']['created']['id'] = 'created';
$handler-&gt;display-&gt;display_options['sorts']['created']['table'] = 'node';
$handler-&gt;display-&gt;display_options['sorts']['created']['field'] = 'created';
$handler-&gt;display-&gt;display_options['sorts']['created']['order'] = 'DESC';
/* Filter criterion: Content: Published */
$handler-&gt;display-&gt;display_options['filters']['status']['id'] = 'status';
$handler-&gt;display-&gt;display_options['filters']['status']['table'] = 'node';
$handler-&gt;display-&gt;display_options['filters']['status']['field'] = 'status';
$handler-&gt;display-&gt;display_options['filters']['status']['value'] = 1;
$handler-&gt;display-&gt;display_options['filters']['status']['group'] = 1;
$handler-&gt;display-&gt;display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler-&gt;display-&gt;display_options['filters']['type']['id'] = 'type';
$handler-&gt;display-&gt;display_options['filters']['type']['table'] = 'node';
$handler-&gt;display-&gt;display_options['filters']['type']['field'] = 'type';
$handler-&gt;display-&gt;display_options['filters']['type']['value'] = array(
  'article' =&gt; 'article',
);

/* Display: Page */
$handler = $view-&gt;new_display('page', 'Page', 'page');
$handler-&gt;display-&gt;display_options['path'] = 'test-vbo-node-creation';