Tripal v1.0 (6.x-1.0)
tripal_bulk_loader.admin.inc File Reference

Go to the source code of this file.

Functions

 tripal_bulk_loader_admin_template ()
 tripal_bulk_loader_admin_manage_templates ()
 tripal_bulk_loader_admin_jobs ()
 tripal_bulk_loader_configuration_form ($form_state=NULL)
 tripal_bulk_loader_configuration_form_submit ($form, $form_state)

Detailed Description

Bulk Loader Administration (Miscellaneous)

Definition in file tripal_bulk_loader.admin.inc.


Function Documentation

tripal_bulk_loader_admin_jobs ( )

Provides a listing of bulk loader jobs and links for administration

Definition at line 120 of file tripal_bulk_loader.admin.inc.

                                         {
  $output = '';
  $num_jobs_per_page = 50;

  $output .= '<p>' . t('Jobs are not automatically submitted to the tripal jobs management
  system when they are first created. Any jobs listed below with a status of "Initialized"
  will not have a Job ID until you go to the bulk loader page and submit the job.') . '</p>';

  $header = array(
    array('data' => 'Job ID', 'field' => 'job_id', 'sort' => 'DESC'),
    array('data' => 'Name', 'field' => 'loader_name'),
    array('data' =>  'Template', 'field' => 'template_name'),
    array('data' =>  'Status', 'field' => 'job_status'),
    array('data' => 'Progress', 'field' => 'progress'),
    '');
  $rows = array();
  $resource = pager_query("SELECT n.*, t.name as template_name, j.progress
    FROM {tripal_bulk_loader} n
    LEFT JOIN {tripal_bulk_loader_template} t ON cast(n.template_id as integer) = t.template_id
    LEFT JOIN {tripal_jobs} j ON n.job_id = j.job_id"
    . tablesort_sql($header),
    $num_jobs_per_page);
  while ($n = db_fetch_object($resource)) {
    $rows[] = array(
      l($n->job_id, 'admin/tripal/tripal_jobs/view/' . $n->job_id),
      l($n->loader_name, 'node/' . $n->nid),
      l($n->template_name, 'admin/tripal/tripal_bulk_loader_template/manage_templates/edit', array('query' => 'template_id=' . $n->template_id)),
      $n->job_status,
      ($n->progress) ? $n->progress . '%' : '',
      l('View', 'node/' . $n->nid) . ' | ' .  l('Edit', 'node/' . $n->nid . '/edit')
    );
  }
  $output .= theme_table($header, $rows);

  $output .= theme('pager');

  return $output;
}
tripal_bulk_loader_admin_manage_templates ( )

Provides a description page and quick links for template management

Definition at line 79 of file tripal_bulk_loader.admin.inc.

                                                     {
  $output = '';

  $output .= '<br /><h3>Quick Links:</h3>';
  $output .= '<ul>'
    . '<li>'
      . t('<a href="@create">Create</a> a new template',
      array('@create' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/create')))
      . '</li>'
    . '<li>'
      . t('<a href="@edit">Edit</a> an existing template',
      array('@edit' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/edit')))
      . '</li>'
    . '<li>'
      . t('<a href="@delete">Delete</a> an existing template',
      array('@delete' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/delete')))
      . '</li>'
    . '<li>'
      . t('<a href="@import">Import</a> a new template',
      array('@import' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/import')))
      . '</li>'
    . '<li>'
      . t('<a href="@export">Export</a> an existing template',
      array('@export' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/export')))
      . '</li>'
    . '</ul>';

  $output .= '<p>' . t('Templates, as the term is used for this module, refer to plans
  describing how the columns in the data file supplied to a bulk loading job map to tables
  and fields in chado. Templates are created independently of bulk loading jobs so that
  they can be re-used. Thus you only need one template to load any number of files of the
  same format.') . '</p>';



  return $output;
}
tripal_bulk_loader_admin_template ( )

Provides a description page and quick links for the bulk loader

Definition at line 11 of file tripal_bulk_loader.admin.inc.

                                             {
  $output = '';

  $output .= '<br /><h3>Quick Links:</h3>';
  $output .= '<ul>'
    . '<li>'
      . t('<a href="@link">Configure settings</a>',
        array('@link' => url('admin/tripal/tripal_bulk_loader_template/configure')))
      . '</li>'
    . '<li>'
      . t('List <a href="@link">Bulk Loader Jobs</a>',
      array('@link' => url('admin/tripal/tripal_bulk_loader_template/jobs')))
      . '</li>'
    . '<li>'
      . t('List <a href="@link">Manage Templates</a>',
      array('@link' => url('admin/tripal/tripal_bulk_loader_template/manage_templates')))
      . '</li>'
      . '<ul>'
      . '<li>'
        . t('<a href="@create">Create</a> a new template',
        array('@create' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/create')))
        . '</li>'
      . '<li>'
        . t('<a href="@edit">Edit</a> an existing template',
        array('@edit' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/edit')))
        . '</li>'
      . '<li>'
        . t('<a href="@delete">Delete</a> an existing template',
        array('@delete' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/delete')))
        . '</li>'
      . '<li>'
        . t('<a href="@import">Import</a> a new template',
        array('@import' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/import')))
        . '</li>'
      . '<li>'
        . t('<a href="@export">Export</a> an existing template',
        array('@export' => url('admin/tripal/tripal_bulk_loader_template/manage_templates/export')))
        . '</li>'
      . '</ul>'
    . '</ul>';

  $output .= '<h3>Module Description:</h3>';
  $output .= '<p>This module provides the ability to create loading templates for any tab-delimited '
    . 'data file allowing it to be loaded into chado. The Loading Templates are a direct mapping '
    . 'between the columns in your file and the columns in chado tables. As such to use this tool '
    . 'you need to be very familar with the chado schema -See '
    . l(t('Chado -Getting Started'), 'http://gmod.org/wiki/Chado_-_Getting_Started')
    . '. The ability to add constants and specify foreign key contraints is also provided '
    . 'in order for the loader to fill chado columns which may be required but are not specified '
    . 'in your input file.</p>';
  $output .= '<br />';

  $output .= '<h3>Setup Instructions</h3>';
  $output .= '<p>After intallation of the bulk loader module, the following tasks should be performed:</p>';
  $output .= '<ol>';
  $output .= '<li><b>Install Theme:</b> In order for Bulk Loading pages to be displayed correctly, '
    .'the contents of the Tripal Bulk Loader theme directory ([drupal root]/sites/all/modules/tripal/tripal_bulk_loader/theme) '
    .'should be moved to the base directory of the Tripal theme ([drupal root]/sites/all/themes/tripal). '
    .'Finally the drupal cache should be cleared for the new theme to take effect -navigate to admin/settings/performance '
    .'and click the Clear Cached Data button.</li>';
  $output .= '</ol>';

  return $output;
}
tripal_bulk_loader_configuration_form ( form_state = NULL)

Definition at line 167 of file tripal_bulk_loader.admin.inc.

                                                                   {
  $form = array();

  $form['space'] = array(
    '#type' => 'fieldset',
    '#title' => t('Enable/Disable Functionality'),
  );

  $form['space']['keep_track_inserted'] = array(
    '#type' => 'checkbox',
    '#title' => t('Keep track of inserted record IDs'),
    '#description' => t('This enables the ability to revert an entire loading job even if '
      .'it completed successfully. Furthermore, it displays the number of records '
      .'successfully inserted into each table.'),
    '#default_value' => variable_get('tripal_bulk_loader_keep_track_inserted', FALSE),
  );

  $form['speed'] = array(
    '#type' => 'fieldset',
    '#title' => t('Possible Speed Improvements'),
  );

  $form['speed']['prepare'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use Prepared Statements'),
    '#description' => t('SQL Prepared Statements allow for SQL queries which will be run '
      .'many times to be parsed, rewritten and planned only once rather then every time '
      .'the query is run. In the case of the bulk loader, this ensures that planning only '
      .'occurs once for each "record" in your bulk loading template.'),
    '#default_value' => variable_get('tripal_bulk_loader_prepare', TRUE),
  );

  $form['speed']['disable_triggers'] = array(
    '#type' => 'checkbox',
    '#title' => t('Delay Constraint Checking during loading job.'),
    '#description' => t('This delays the constraint checking until the end of the
    loading proccess.'),
    '#default_value' => variable_get('tripal_bulk_loader_disable_triggers', TRUE),
  );

  $form['speed']['no_validate'] = array(
    '#type' => 'checkbox',
    '#title' => t('Skip Validation at the Tripal Core API level'),
    '#description' => t('If an error is encountered, the Tripal core API will try
      to provide informative error messages. With this turned off, you will not benifit
      from these more informative error messages; however, your job will load faster
      since it doesn\'t have to do the additional checking before inserting.'),
    '#default_value' => variable_get('tripal_bulk_loader_skip_validation', FALSE),
  );

  $form['speed']['transactions'] = array(
    '#type' => 'radios',
    '#title' => t('Transaction Rollback when an error is encountered'),
    '#options' => array(
      'all' => t('Rollback the last constant set.'
        .'<div class="description"If you added more then one constant set then the
        successfully loaded constant sets will not be rolled back. However, once an error
        is encountered no further constant sets will be loaded either.</div>'),
      'row' => t('Only Rollback the last line of the input file.'
        .'<div class="description">This option may allow you to restart the job after
        fixing the error (manual intervention needed).</div>'),
      'none' => t('Do not use transactions<div class="description">This is not recommended.</div>')
    ),
    '#default_value' => variable_get('tripal_bulk_loader_transactions',   'row')
  );

  $form['speed']['lock'] = array(
    '#type' => 'radios',
    '#title' => t('Lock Type'),
    '#description' => t('The type of lock used by the bulk loading jobs. The lock is '
      .'acquired at the beginning of the job and kept till the end. A lock of the type '
      .'selected will be acquired for every table being inserted into.'),
    '#options' => array(
      'ROW EXCLUSIVE' => t('ROW EXCLUSIVE: The default lock type for insert queries.'),
      'EXCLUSIVE' => t('EXCLUSIVE: Only Select Queries can access the table.'),
      'ACCESS EXCLUSIVE' => t('ACCESS EXCLUSIVE: No other queries can access the table.'),
    ),
    '#default_value' => variable_get('tripal_bulk_loader_lock', 'ROW EXCLUSIVE'),
  );

  $form['submit1'] = array(
    '#type' => 'submit',
    '#value' => t('Save')
  );

  return $form;
}
tripal_bulk_loader_configuration_form_submit ( form,
form_state 
)

A Configuration form for this module (Submit)

Definition at line 258 of file tripal_bulk_loader.admin.inc.

                                                                          {

  variable_set('tripal_bulk_loader_prepare', $form_state['values']['prepare']);
  variable_set('tripal_bulk_loader_disable_triggers', $form_state['values']['disable_triggers']);
  variable_set('tripal_bulk_loader_skip_validation', $form_state['values']['no_validate']);
  variable_set('tripal_bulk_loader_transactions', $form_state['values']['transactions']);
  variable_set('tripal_bulk_loader_lock', $form_state['values']['lock']);

  variable_set('tripal_bulk_loader_keep_track_inserted', $form_state['values']['keep_track_inserted']);

}
 All Classes Files Functions Variables