adding new tables

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

adding new tables

Sofia Robb
Hello,

I am having some trouble getting stated writing my first template script from scratch using custom database tables that I added. I hope someone can point me in the right direction.

I added a couple of custom tables through the "Custom Table" interface.
I added these tables to the "Views Integration"

I now would like to create a new pane in the feature page using these tables. I followed the instruction in new pane tutorial, and now I am trying to write my template script. I get an error I think with my chado_expand_var function. At the moment my tables have no data in them.

Code:

<?php
$feature = $variables['node']->feature;
$options = array('return_array' => 1);

$feature = chado_expand_var($feature, 'table' , 'feature_grp' , $options);


Error:
Notice: Undefined index: primary key in chado_generate_var() (line 126 of /var/www/html/sites/all/modules/tripal/tripal_core/api/tripal_core.chado_variables.api.inc).


I have include my custom table and integration view of my grp and feature_grp tables below

Thank you for you time,
Sofia



############## Custom Table "Grp" ####################
grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'grp',
  'fields' => 
  array (
    'grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'uniquename' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => true,
    ),
    'name' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => false,
    ),
    'type_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'indexes' => 
  array (
    'grpModule_grp_id_idx1' => 
    array (
      0 => 'grp_id',
    ),
    'grpModule_type_id_idx2' => 
    array (
      0 => 'type_id',
    ),
  ),
  'foreign keys' => 
  array (
    'cvterm' => 
    array (
      'table' => 'cvterm',
      'columns' => 
      array (
        'type_id' => 'cvterm_id',
      ),
    ),
  ),
)



############# View Intergration "Grp" ################# 

array (
  'table' => 'grp',
  'name' => 'Chado Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '1',
  'fields' => array (
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'uniquename' => array (
      'name' => 'uniquename',
      'title' => 'Uniquename',
      'description' => 'Uniquename',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'name' => array (
      'name' => 'name',
      'title' => 'Name',
      'description' => 'Name',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'type_id' => array (
      'name' => 'type_id',
      'title' => 'Type Id',
      'description' => 'Type Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_cvterm',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'cvterm' => array (
          'cvterm_id' => array (
            'table' => 'cvterm',
            'field' => 'cvterm_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)



############## Custom table feature_grp ############# 
feature_grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'feature_grp',
  'fields' => 
  array (
    'feature_grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'grp_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
    'feature_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'foreign keys' => 
  array (
    'feature' => 
    array (
      'table' => 'feature',
      'columns' => 
      array (
        'feature_id' => 'feature_id',
      ),
      'grp' => 
      array (
        'table' => 'grp',
        'columns' => 
        array (
          'grp_id' => 'grp_id',
        ),
      ),
    ),
  ),
)


########## Views integration feature_grp ################
array (
  'table' => 'feature_grp',
  'name' => 'Chado Feature Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '0',
  'fields' => array (
    'feature_grp_id' => array (
      'name' => 'feature_grp_id',
      'title' => 'Feature Grp Id',
      'description' => 'Feature Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'grp' => array (
          'grp_id' => array (
            'table' => 'grp',
            'field' => 'grp_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
    'feature_id' => array (
      'name' => 'feature_id',
      'title' => 'Feature Id',
      'description' => 'Feature Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'feature' => array (
          'feature_id' => array (
            'table' => 'feature',
            'field' => 'feature_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)



------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal
Reply | Threaded
Open this post in threaded view
|

Re: adding new tables

adf_ncgr
Hi Sofia-
I am probably not the best person to answer your question, but it looks to me as though you haven't
actually set an explicit primary key for either of your tables in the schema definitions. The error
message suggests this is the problem, and when I look at one of the custom tables we have defined
in our instance I see I block like this:
  'primary key' => 
  array (
    0 => 'gene_id',
  ),


which you appear to be missing in what you've presented. Not sure this is the right direction, but it seems likely.
Others with more expertise should feel free to correct me and set you in a better direction if this is in fact a red
herring...

hope it helps

Andrew


On 5/17/16 2:37 PM, Sofia Robb wrote:
Hello,

I am having some trouble getting stated writing my first template script from scratch using custom database tables that I added. I hope someone can point me in the right direction.

I added a couple of custom tables through the "Custom Table" interface.
I added these tables to the "Views Integration"

I now would like to create a new pane in the feature page using these tables. I followed the instruction in new pane tutorial, and now I am trying to write my template script. I get an error I think with my chado_expand_var function. At the moment my tables have no data in them.

Code:

<?php
$feature = $variables['node']->feature;
$options = array('return_array' => 1);

$feature = chado_expand_var($feature, 'table' , 'feature_grp' , $options);


Error:
Notice: Undefined index: primary key in chado_generate_var() (line 126 of /var/www/html/sites/all/modules/tripal/tripal_core/api/tripal_core.chado_variables.api.inc).


I have include my custom table and integration view of my grp and feature_grp tables below

Thank you for you time,
Sofia



############## Custom Table "Grp" ####################
grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'grp',
  'fields' => 
  array (
    'grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'uniquename' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => true,
    ),
    'name' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => false,
    ),
    'type_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'indexes' => 
  array (
    'grpModule_grp_id_idx1' => 
    array (
      0 => 'grp_id',
    ),
    'grpModule_type_id_idx2' => 
    array (
      0 => 'type_id',
    ),
  ),
  'foreign keys' => 
  array (
    'cvterm' => 
    array (
      'table' => 'cvterm',
      'columns' => 
      array (
        'type_id' => 'cvterm_id',
      ),
    ),
  ),
)



############# View Intergration "Grp" ################# 

array (
  'table' => 'grp',
  'name' => 'Chado Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '1',
  'fields' => array (
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'uniquename' => array (
      'name' => 'uniquename',
      'title' => 'Uniquename',
      'description' => 'Uniquename',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'name' => array (
      'name' => 'name',
      'title' => 'Name',
      'description' => 'Name',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'type_id' => array (
      'name' => 'type_id',
      'title' => 'Type Id',
      'description' => 'Type Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_cvterm',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'cvterm' => array (
          'cvterm_id' => array (
            'table' => 'cvterm',
            'field' => 'cvterm_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)



############## Custom table feature_grp ############# 
feature_grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'feature_grp',
  'fields' => 
  array (
    'feature_grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'grp_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
    'feature_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'foreign keys' => 
  array (
    'feature' => 
    array (
      'table' => 'feature',
      'columns' => 
      array (
        'feature_id' => 'feature_id',
      ),
      'grp' => 
      array (
        'table' => 'grp',
        'columns' => 
        array (
          'grp_id' => 'grp_id',
        ),
      ),
    ),
  ),
)


########## Views integration feature_grp ################
array (
  'table' => 'feature_grp',
  'name' => 'Chado Feature Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '0',
  'fields' => array (
    'feature_grp_id' => array (
      'name' => 'feature_grp_id',
      'title' => 'Feature Grp Id',
      'description' => 'Feature Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'grp' => array (
          'grp_id' => array (
            'table' => 'grp',
            'field' => 'grp_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
    'feature_id' => array (
      'name' => 'feature_id',
      'title' => 'Feature Id',
      'description' => 'Feature Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'feature' => array (
          'feature_id' => array (
            'table' => 'feature',
            'field' => 'feature_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)




------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j


_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal

-- 
...all concepts in which an entire process is semiotically concentrated
elude definition; only that which has no history is definable.

Friedrich Nietzsche

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal
Reply | Threaded
Open this post in threaded view
|

Re: adding new tables

Sofia Robb
Hi Andrew,

Yes!! Thank you!! That was EXACTLY it! No red herring.

Sofia



On Tue, May 17, 2016 at 7:59 PM, Andrew Farmer <[hidden email]> wrote:
Hi Sofia-
I am probably not the best person to answer your question, but it looks to me as though you haven't
actually set an explicit primary key for either of your tables in the schema definitions. The error
message suggests this is the problem, and when I look at one of the custom tables we have defined
in our instance I see I block like this:
  'primary key' => 
  array (
    0 => 'gene_id',
  ),


which you appear to be missing in what you've presented. Not sure this is the right direction, but it seems likely.
Others with more expertise should feel free to correct me and set you in a better direction if this is in fact a red
herring...

hope it helps

Andrew



On 5/17/16 2:37 PM, Sofia Robb wrote:
Hello,

I am having some trouble getting stated writing my first template script from scratch using custom database tables that I added. I hope someone can point me in the right direction.

I added a couple of custom tables through the "Custom Table" interface.
I added these tables to the "Views Integration"

I now would like to create a new pane in the feature page using these tables. I followed the instruction in new pane tutorial, and now I am trying to write my template script. I get an error I think with my chado_expand_var function. At the moment my tables have no data in them.

Code:

<?php
$feature = $variables['node']->feature;
$options = array('return_array' => 1);

$feature = chado_expand_var($feature, 'table' , 'feature_grp' , $options);


Error:
Notice: Undefined index: primary key in chado_generate_var() (line 126 of /var/www/html/sites/all/modules/tripal/tripal_core/api/tripal_core.chado_variables.api.inc).


I have include my custom table and integration view of my grp and feature_grp tables below

Thank you for you time,
Sofia



############## Custom Table "Grp" ####################
grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'grp',
  'fields' => 
  array (
    'grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'uniquename' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => true,
    ),
    'name' => 
    array (
      'type' => 'varchar',
      'length' => '1025',
      'not null' => false,
    ),
    'type_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'indexes' => 
  array (
    'grpModule_grp_id_idx1' => 
    array (
      0 => 'grp_id',
    ),
    'grpModule_type_id_idx2' => 
    array (
      0 => 'type_id',
    ),
  ),
  'foreign keys' => 
  array (
    'cvterm' => 
    array (
      'table' => 'cvterm',
      'columns' => 
      array (
        'type_id' => 'cvterm_id',
      ),
    ),
  ),
)



############# View Intergration "Grp" ################# 

array (
  'table' => 'grp',
  'name' => 'Chado Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '1',
  'fields' => array (
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'uniquename' => array (
      'name' => 'uniquename',
      'title' => 'Uniquename',
      'description' => 'Uniquename',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'name' => array (
      'name' => 'name',
      'title' => 'Name',
      'description' => 'Name',
      'type' => 'varchar',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_string',
        ),
        'field' => array (
          'name' => 'views_handler_field',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_string',
        ),
      ),
      'joins' => array (
      ),
    ),
    'type_id' => array (
      'name' => 'type_id',
      'title' => 'Type Id',
      'description' => 'Type Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'tripal_views_handler_filter_select_cvterm',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'cvterm' => array (
          'cvterm_id' => array (
            'table' => 'cvterm',
            'field' => 'cvterm_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)



############## Custom table feature_grp ############# 
feature_grp
TABLE FIELD DEFINITIONS
array (
  'table' => 'feature_grp',
  'fields' => 
  array (
    'feature_grp_id' => 
    array (
      'type' => 'serial',
      'not null' => true,
    ),
    'grp_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
    'feature_id' => 
    array (
      'type' => 'int',
      'not null' => true,
    ),
  ),
  'foreign keys' => 
  array (
    'feature' => 
    array (
      'table' => 'feature',
      'columns' => 
      array (
        'feature_id' => 'feature_id',
      ),
      'grp' => 
      array (
        'table' => 'grp',
        'columns' => 
        array (
          'grp_id' => 'grp_id',
        ),
      ),
    ),
  ),
)


########## Views integration feature_grp ################
array (
  'table' => 'feature_grp',
  'name' => 'Chado Feature Grp',
  'type' => 'chado',
  'description' => ' ',
  'priority' => '-10',
  'base_table' => '0',
  'fields' => array (
    'feature_grp_id' => array (
      'name' => 'feature_grp_id',
      'title' => 'Feature Grp Id',
      'description' => 'Feature Grp Id',
      'type' => 'serial',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
      ),
    ),
    'grp_id' => array (
      'name' => 'grp_id',
      'title' => 'Grp Id',
      'description' => 'Grp Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'grp' => array (
          'grp_id' => array (
            'table' => 'grp',
            'field' => 'grp_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
    'feature_id' => array (
      'name' => 'feature_id',
      'title' => 'Feature Id',
      'description' => 'Feature Id',
      'type' => 'int',
      'handlers' => array (
        'filter' => array (
          'name' => 'views_handler_filter_numeric',
        ),
        'field' => array (
          'name' => 'views_handler_field_numeric',
        ),
        'sort' => array (
          'name' => 'views_handler_sort',
        ),
        'argument' => array (
          'name' => 'views_handler_argument_numeric',
        ),
      ),
      'joins' => array (
        'feature' => array (
          'feature_id' => array (
            'table' => 'feature',
            'field' => 'feature_id',
            'handler' => 'views_join',
          ),
        ),
      ),
    ),
  ),
)




------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j


_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal

-- 
...all concepts in which an entire process is semiotically concentrated
elude definition; only that which has no history is definable.

Friedrich Nietzsche

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal



------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal