Difference between revisions of "Configuring file registration"

From ARK
Jump to: navigation, search
Line 1: Line 1:
First set two settings in the settings.php
+
In order to utilise the new dataclass of 'file' there are a few changes that need to be made to your currently existing database and also the config files.
 +
 
 +
First set the registered files directory in the settings.php. This directory needs to exist and be writeable by the www user.
 +
 
 +
  // FILES
 +
 
 +
  $registered_files_dir = $ark_server_path . '/data/files/';
  
  $file_upload_dir = $ark_dir . '/data/upload/';
 
  $file_registration_dir = $ark_dir . '/data/registered/';
 
  
 
Now add a field to handle the files in field_settings.php
 
Now add a field to handle the files in field_settings.php
 +
 +
  //FILE FIELDS
  
 
   $conf_field_file =
 
   $conf_field_file =
 
     array(
 
     array(
 
         'dataclass' => 'file',
 
         'dataclass' => 'file',
         'classtype' => 'recflag',
+
         'classtype' => 'file',
         'alias_tbl' => 'cor_lut_attributetype',
+
         'alias_tbl' => 'cor_lut_file',
         'alias_col' => 'attributetype',
+
         'alias_col' => 'id',
         'alias_src_key' => 'recflag',
+
         'alias_src_key' => '1',
 
         'alias_type' => '1',
 
         'alias_type' => '1',
 
         'editable' => TRUE,
 
         'editable' => TRUE,
 
         'hidden' => FALSE,
 
         'hidden' => FALSE,
         'add_validation' => $attr_add_validation,
+
         'add_validation' => $file_add_validation,
         'edt_validation' => $attr_edt_validation
+
         'edt_validation' => $file_edt_validation
 +
  );
 +
 
 +
As you have stated in the above field settings that you will be usinf the file_add and edt validation - you need to set those up in your vd_settings.php
 +
 
 +
  // file - request and chkSet
 +
  $file_vd_file =
 +
    array(
 +
        'rq_func' => 'reqMulti',
 +
        'vd_func' => 'chkSkipBlank',
 +
        'var_name' => 'file',
 +
        'lv_name' => 'dyn_field',
 +
        'var_locn' => 'request'
 
   );
 
   );
 +
  // file - request and chkSet
 +
  $file_vd_requiredfile =
 +
    array(
 +
        'rq_func' => 'reqMulti',
 +
        'vd_func' => 'chkSet',
 +
        'var_name' => 'file',
 +
        'lv_name' => 'dyn_field',
 +
        'var_locn' => 'request'
 +
  );
 +
  // 4 - Compound items
 +
  // itemkey - request and chkSet
 +
  $file_vd_key =
 +
    array(
 +
        'rq_func' => 'reqMulti',
 +
        'vd_func' => 'chkSet',
 +
        'var_name' => 'itemkey',
 +
        'lv_name' => 'item_key',
 +
        'var_locn' => 'live'
 +
  );
 +
  // file - request and chkSet
 +
  $file_vd_val =
 +
    array(
 +
        'rq_func' => 'reqItemVal',
 +
        'vd_func' => 'chkSet',
 +
        'var_name' => 'itemval',
 +
        'lv_name' => 'itemval',
 +
        'var_locn' => 'request',
 +
        'req_keytype' => 'auto',
 +
        'ret_keytype' => 'cd'
 +
  );
 +
  // add file default validation group
 +
  $file_add_validation =
 +
    array(
 +
        $vd_cre_on,
 +
        $vd_log,
 +
        $vd_ste_cd,
 +
        $vd_cre_by,
 +
        $file_vd_file,
 +
        $file_vd_key,
 +
        $file_vd_val,
 +
        $vd_lang
 +
  );
 +
  // edt file default validation group
 +
  $file_edt_validation =
 +
    array(
 +
        $vd_cre_on,
 +
        $vd_log,
 +
        $vd_ste_cd,
 +
        $vd_cre_by,
 +
        $file_vd_file,
 +
        $file_vd_key,
 +
        $file_vd_val,
 +
        $vd_frag_id,
 +
        $vd_lang
 +
  );
 +
  
 
Finally add the field to the conf_register array in the mod_settings file, for example:
 
Finally add the field to the conf_register array in the mod_settings file, for example:

Revision as of 13:13, 26 June 2008

In order to utilise the new dataclass of 'file' there are a few changes that need to be made to your currently existing database and also the config files.

First set the registered files directory in the settings.php. This directory needs to exist and be writeable by the www user.

 // FILES
 $registered_files_dir = $ark_server_path . '/data/files/';


Now add a field to handle the files in field_settings.php

 //FILE FIELDS
 $conf_field_file =
   array(
       'dataclass' => 'file',
       'classtype' => 'file',
       'alias_tbl' => 'cor_lut_file',
       'alias_col' => 'id',
       'alias_src_key' => '1',
       'alias_type' => '1',
       'editable' => TRUE,
       'hidden' => FALSE,
       'add_validation' => $file_add_validation,
       'edt_validation' => $file_edt_validation
 );

As you have stated in the above field settings that you will be usinf the file_add and edt validation - you need to set those up in your vd_settings.php

 // file - request and chkSet
 $file_vd_file =
   array(
       'rq_func' => 'reqMulti',
       'vd_func' => 'chkSkipBlank',
       'var_name' => 'file',
       'lv_name' => 'dyn_field',
       'var_locn' => 'request'
 );
 // file - request and chkSet
 $file_vd_requiredfile =
   array(
       'rq_func' => 'reqMulti',
       'vd_func' => 'chkSet',
       'var_name' => 'file',
       'lv_name' => 'dyn_field',
       'var_locn' => 'request'
 );
 // 4 - Compound items
 // itemkey - request and chkSet
 $file_vd_key =
   array(
       'rq_func' => 'reqMulti',
       'vd_func' => 'chkSet',
       'var_name' => 'itemkey',
       'lv_name' => 'item_key',
       'var_locn' => 'live'
 );
 // file - request and chkSet
 $file_vd_val =
   array(
       'rq_func' => 'reqItemVal',
       'vd_func' => 'chkSet',
       'var_name' => 'itemval',
       'lv_name' => 'itemval',
       'var_locn' => 'request',
       'req_keytype' => 'auto',
       'ret_keytype' => 'cd'
 );
 // add file default validation group
 $file_add_validation =
   array(
       $vd_cre_on,
       $vd_log,
       $vd_ste_cd,
       $vd_cre_by,
       $file_vd_file,
       $file_vd_key,
       $file_vd_val,
       $vd_lang
 );
 // edt file default validation group
 $file_edt_validation =
   array(
       $vd_cre_on,
       $vd_log,
       $vd_ste_cd,
       $vd_cre_by,
       $file_vd_file,
       $file_vd_key,
       $file_vd_val,
       $vd_frag_id,
       $vd_lang
 );


Finally add the field to the conf_register array in the mod_settings file, for example:

 $conf_register =
   array(
       'view_state' => 'max',
       'edit_state' => 'edit',
       'sf_title' => 'register', //appears in the titlebar of the subform (mk nname)
       'sf_html_id' => 'sph_cd_register', //the form id tag (must be unique)
       'script' => 'php/data_entry/register.php',
       'op_label' => 'save',
       'op_input' => 'save',
       'op_reg_mode' => 'sgl',
       'op_no_rows' => 15,
       'fields' => 
           array(
               $conf_field_itemkey,
               $conf_field_short_desc,
               $conf_field_cxtxmi,
               $conf_field_takenby,
               $conf_field_takenon,
               $conf_field_file,
               $conf_reg_op
       )
 );