Grid

The grid can be configured to show custom node columns. The 'DC' (Display Columns) config can be specified in:

  • Virtual nodes
  • Real nodes in sys_cfg column of 'objects' mysql table
  • Template config: applies to all descendant objects of such template
  • TODO: custom code via event handler

Sorting

If "solr_column_name" is specified in a DC field, then sorting is done in SOLR, otherwise the sorting is done serverside in PHP.

Notice: Even if a template field is indexed in SOLR, you SHOULD explicitly specify "solr_column_name" in DC config (before search is performed, CB doesn't know the template of objects in result set)

SOLR sorting is the correct way because it sorts the full result set. PHP sorting is applied to fetched search results, and it doesn't contain all records (only a list of 25-50 records). If result set has several pages, PHP sorting will not work nicely.

DC configuration

The columns are configured in JSON using 'DC' key:

{
    "col_name": {
        "solr_column_name": "name",
        "title": "Col Title",
        "width": 70,   // width in pixels
        "extjs_cfg": val  // options for ExtJS grid column

  }
}

If "col_name" is found in displayed objects, then column configuration is used from template field definition. Usually you'll specify 'DC' without additional column settings:

{
    "col_name1": {},
    "col_name2": {},
    "col_name3": {}
  }
}

Custom columns for a node

DC is specified in field 'cfg' of 'tree' mysql table for the node.

{
  "DC": {
    "nr": {}
    ,"case_type": {}
    ,"statut": {}
    ,"substatut": {}
    ,"interview_personne": {}
    ,"requerant_type": {}
    ,"victim_province": {}
  }
}

Custom columns for a template type

Specified in 'Config' field direcly in CB

Custom columns for a virtual folder plugin

Specified in plugin configuration: 'treeNodes' row in mysql 'config' table:

{
    ,"CasesByLawyers": {
      "pid": 1
       ,"class": "core\\TreeNode\\CasesByLawyers"
       ,"DC": {
           "nr": {
               "solr_column_name": "reg_nr"
           },
           "other_sender_fullname": {}
       }
    }

    ,"MyCases": {
      "pid": 1
       ,"class": "core\\TreeNode\\MyCases"
       ,"DC": {
           "nr": {"solr_column_name": "reg_nr"},
           "other_sender_fullname": {}
       }

    }
}

System columns

The list of CB system columns, use them in DC without additional configuration (although it's possible to specify 'width' and other options):

Column Description
nid object ID
name Object title, with icon
path
case Title of the case
date
size filesize
cid Creator
oid Owner
uid Updater
did User that deleted the object (used in TrashBin)
comment_user_id The last user that commented the object
cdate Creation date
udate Updated date
ddate Deletion date
comment_date Most recent DateTime when object commented
date_end Due date of a task?
task_u_assignee Assigned user in a task
task_u_all List of users linked to the task
task_d_closed Date task has been closed
task_status
task_u_started
task_u_ongoing
task_u_done
task_u_blocker
Copyright (C) KETSE, HURIDOCS