Dictionary attributes

Dictionary attributes alter the behavior of the table or element that the dictionary record describes. Administrators can add or modify dictionary attributes.

Adding an Attribute

To add an attribute to a table or field, navigate to the System Dictionary record for the Dictionary entry, and add the attribute to the Attributes field. Attributes are comma-separated; if attributes already exist on a dictionary record, add a comma, with no spaces, before adding a new attribute.

For an attribute that accepts true/false values:
  • To specify a value of true, you can either enter attribute or attribute=true.
  • To specify a value of false, you can either ensure that the attribute does not appear or enter attribute=false. To maintain values during upgrades, do not remove an attribute that is on a table by default.

Maintaining Attribute Values for Upgrades

If you remove an attribute that is part of the base system, it is automatically restored during an upgrade. To prevent upgrades from changing the desired behavior of your system, leave the attribute on the table or field, but set its value as desired.

For example, if a field has the attribute knowledge_search=true by default, do not remove the attribute to set it to false; rather set it to knowledge_search=false.

Available attributes

Table 1. Available dictionary attributes
Name Value Target Element Description
allow_null true/false field_name field If present or true, allows entering "None" as the field
allow_references true/false field_name field If true, a tree is displayed to select from that includes reference fields so you can dot-walk.
approval_user name of field containing the user(s) for the approval type this field represents integer field The fields of the table are used to perform the lookup using a matcher. Approvals are specified as fields in the table that have an attribute of approval_user=<field_name>, where <field_name> indicates the field in the table that contains the users for this approval type. Fields with this attribute contain an integer value that indicates the sequence for the approvals. All approval fields with the same sequence number indicate that multiple approvals are required before continuing. Approvals are requested in the order of the sequence numbers. For example, all approvals with sequence number 100 must be approved before approvals with sequence number 200 are requested.
attachment_index true/false any table If true, attachments on the table are indexed for search purposes. See Enable Attachment Indexing.
barcode true/false string field Allows a string field in the Native mobile app to access a mobile device's camera to scan and process a bar code.
base_table name of base table type table_name field A table_name field allows the user to choose any table derived from the table specified by this attribute. By default, the base table itself is also included in the choice list (but see skip_root to turn off this behavior).
calendar_elements list of field names, separated by semicolons (";") any calendar event table Specifies a list of fields to be used when constructing the description of a calendar event. If not specified, the usual display name plus short description are used.

The calendar_elements attribute does not support derived (dot-walked) fields.

collection_interval interval specified as "HH:MM:SS" (like "01:02:30" for one hour, two minutes, and thirty seconds) collection field Specifies the interval of metrics collection.
close_states inactive state integer values task state field Used by the TaskStateUtil API - identifies the list inactive state values delimited by semicolons (;)
critical true/false any field in the apm_application table Defines fields that are critical information about an application. This allows tracking the entry of critical information.
current_location true/false string field Allows a string field in the Native mobile app to access the GPS location of a mobile device.
disable_execute_now true/false any table derived from sys_auto If present or true, disables the usual Execute Now button. This is used by applications using schedules (such as Discovery) to substitute their own more appropriate action.
default_rows integer value mulitext fields Sets the default number of rows in a multitext field.
default_close_state state integer value task state field Used by the TaskStateUtil API - identifies the default close state value for a task table
default_work_state state integer value task state field Used by the TaskStateUtil API - identifies the default working state value for a task table
detail_row name of field to display in detail row any table Displays the value of the specified field as a detail row for each record in the list view. UI15 is required to use this attribute.
Note: If different detail_row attributes are defined for a parent table and a child table, the system uses the child table attribute.
email_client true/false any table If present or true, causes an icon (an envelope) to appear in the more options menu in the form header. If clicked, a popup email client appears.
exclude_auto_recovery true/false any table Disables automatic recovery of draft records for this table and its extensions.
extensions_only true/false any table Table should only have records in tables that extend it. For example, the Task table has this attribute because you would create incident, problem, change records and not task records.
field_list_selector true/false any glide_list Allows the user to select a field from the dependent table (or current if dependent is not specified). This is used in some workflow activities.
field_decorations UI Macro name list, separated by semicolons (";") most fields (except multi-line text fields) Similar to ref_contributions, causes the named UI macro to be invoked when the field is rendered on a form.
format format name any numeric field Specifies a named format to use instead of the standard numeric formatting. Options are:
  • glide_duration: formats a time specified in milliseconds as ddd hh:mm:ss.
  • none: disables automatic number formatting (for example, changes 2,500 to 2500).
fv table name; field name; sys_id field_value field This uses the three values to set the display of the field_value field.
glide.db.oracle.ps.query true/false any table If present and false, prevents the use of Oracle prepared queries on the table.
global_visibility true/false any table with a sys_domain column If present or true, makes this table visible globally even if there are domain restrictions (that is, the sys_domain field has a value).
hasLabels true/false any table If present or true, marks this table as being the target of a label at some point. This attribute can be set manually, but it is set automatically whenever a label is generated. When true, the label engine will run on any change to the table, updating the labels as needed.
hasListeners true/false any table If present or true, marks this table as available for listeners to get events (insert, update, delete) on.
hasWorkflow true/false any table Tells the workflow engine to listen for changes to the table, firing events to a workflow when a record associated with a particular workflow has changed.
html_sanitize true/false any field If present or true, HTML sanitization is enabled for the selected field.
icons name of JavaScript class any workflow field Specifies a JavaScript class that produces workflow icons.
image relative path of image file any table Specifies an image file to be used when the table is used in a module or BSM map. This specification overrides the icons that would otherwise be used for the table.
include_container_types true/false any internal_type field Causes the field to render with container (split) types as well other types.
iterativeDelete true/false any table If present or true, forces all row deletes to be executed iteratively. Otherwise, some deletes may be performed using a more efficient bulk method.
knowledge_custom name of JavaScript function any field Specifies a JavaScript function to implement a custom knowledge search (see knowledge_search).
knowledge_search true/false string fields If present or true, causes a knowledge search icon (a small book) to appear next to the field. Clicking this icon launches a pop-up window for searching the knowledge base, unless a custom knowledge search function has been specified (see knowledge_custom).
largeTable true/false any table If present or true, marks this table as "large" for the purpose of preventing table locking with specific MySQL database operations (adding/removing a column/index, compacting a table). Without this attribute (or the smallTable attribute), whether a table is large is determined by the glide.db.large.threshold property, or the default value of 5,000.
listen true/false any field If present or true, causes a call to a JavaScript function named <tableName>_<fieldName>Listen, or globalListen if that function does not exist. The function is called with arguments (tableName, fieldName, oldValue, newValue).
live_feed true/false any field If present or true, creates a toggle option on the activity formatter header for incidents, tasks, and problems. The toggle provides the choice between the Live Feed for that record (also known as a document feed) or the activity formatter fields already in use. See Activity formatter for more details.
long_label true/false any field Long or short labels refer to the label that is displayed for reference fields on a form. For example, if the field contains the caller’s email address, the long label would be Caller Email while the short label would just be Email. Usually the placement of the field on the form makes it clear what the field represents. The global property (glide.short.labels) is used to specify the type of labels that are displayed for all reference fields on any form. This global property can be overridden for any field by setting the short_label=true or long_label=true attribute for the field in the Dictionary.
maintain_order true/false any glide_list If present or true, displays the up/down arrow order buttons to the right of the list of selected items.
mode_toggler true/false any composite_name field If present or true, causes a name mode toggle icon (a small right-pointing triangle) to appear to the right of the label. Clicking this icon causes the field's rendering to change from a text field accepting <tablename>.<fieldname> to a pair of reference choice boxes (one for the table, the other for the field). The latter is the default.
model_class binary Java class name any field of type glide_var Specifies a model variable within Java code. The model must have a class that implements the IVariablesModel interface.
model_field see description any field of type glide_var Identifies a reference field in the record that has the model defined for it. For example, a workflow activity is associated with an activity definition. The activity definition has a related list of questions that make up the model for that activity definition. By using the activity_definition as the model_field for the activity, the model for the workflow activity is built by reading the questions that are defined for the referenced activity definition.
nibble_size positive integer any table affected by the table cleaner. Specifies the maximum number of records the table cleaner can delete in a single operation. The default value for this attribute is 250.
nibble_sleep true/false any table affected by the table cleaner. If false, causes the table cleaner to perform cleanup operations without a pause between each operation.
no_attachment true/false any table If present or true, prevents the attachment icon (a paperclip) from appearing on the form header.
no_attachments true/false any table If present or true, attachments will not be checked for and deleted when a record from this table is deleted. Meant for high-activity tables that never have attachments.
no_audit true/false any table If present or true, this field will not be audited, even if the table is being audited.
no_audit_delete true/false any table If present or true, a sys_audit_delete record will never be created when a record from this table is deleted. Meant for high-activity tables that never need sys_audit_delete information.
no_auto_map true/false any table If true, this field will not be mapped during an import set. This is primarily used for LDAP imports.
no_email true/false any glide_list field referencing sys_user If present or true, the email box is removed from the glide_list field like the Watch list field.
no_multiple true/false any glide_list field Hides the select multiple icon.
no_optimize true/false any table affected by the table cleaner. If present or true, prevents the MySQL table compaction operation from running on the specified table. The table compaction operation normally runs after the table cleaner deletes at least 50% of the data in the specified table.
no_separation true/false any table If present or true, marks this table as not participating in domain separation.
no_text_index true/false any field on a text indexed table If a table is text indexed, the no_text_index attribute on a field will prevent this field from being included in the text index.
no_truncate true/false any string field In a list view, shows the entire text value of the multi-text value in a list, without truncating it. Without this attribute the string is truncated based on the UI property Number of characters displayed in list cells which is 40 by default.
no_update true/false table Is true for tables in which records are inserted or deleted but not updated. Prevents the system from creating sys_mod_count, sys_updated_by, sys_updated_on fields in the table when it is created. Does not stop the table from being updated. This attribute is used to save space on high volume system tables, such as syslog and sys_audit.
no_view true/false any glide_list field Hides the view selected item icon.
onlineAlter true/false any table Tables with the onlineAlter attribute perform MySQL database operations using online schema changes. Online schema changes provides a lock-free table upgrade when adding, modifying, or removing columns and when adding or dropping indexes. Without online schema changes, these changes to the database lock write access during execution. Online schema changes use additional system resources. Oracle databases do not lock tables by default and do not use online schema changes.
order numeric value model variable fields Used internally only (for model variables).
popup_processor binary Java class name any field or table Specifies a custom popup processor for processing the field (or all fields in a table).
readable true/false any conditions field When true, causes the conditons field to be rendered in any list view as a human-readable condition (instead of the encoded query actually stored in the database). The form view for this field is unaffected.
ref_ac_columns list of field names separated by semi-colons any reference field with an auto completer (see ref_auto_completer) Specifies the columns whose display values should appear in an auto completion list in addition to the name. See the cmdb_ci field (Configuration Item) on the Incident form for a working example.
ref_ac_columns_search true/false any reference field with an auto completer (see ref_auto_completer) Causes auto-complete to work with all fields specified in the ref_ac_columns attribute. This overrides the default behavior, which searches only the display value column. See Configure auto-complete to match text from any reference field.
ref_ac_display_value true/false any reference field with an auto completer (see ref_auto_completer) Causes the reference field to hide a the display value column so that auto-complete only matches text from the columns listed in the ref_ac_columns attribute. This feature requires the use of the AJAXTableCompleter class and the ref_ac_columns, ref_ac_columns_search, and ref_ac_display_value attributes. See Remove the display value column.
ref_ac_order_by field name any reference field with an auto completer (see ref_auto_completer) Specifies the column that will be used to order the auto completion list.
ref_auto_completer JavaScript class name any reference field (can be applied to a table to affect all reference fields on the table.) Specifies the name of a JavaScript class (client side) that creates the drop-down auto completion choices. Valid class values include:
  • AJAXReferenceCompleter: Displays matching auto-complete choices as a drop-down choice-list. The list only displays the reference table's display value column. Reference fields automatically use this class if there is no other auto-completion class specified.
  • AJAXTableCompleter: Displays matching auto-complete choices as rows in a table. The table displays the reference table's display value column and any columns listed in the ref_ac_columns attribute.
  • AJAXReferenceChoice: Displays matching auto-complete choices as a drop-down choice-list. The list only displays the reference table's display value column. Furthermore, the list only displays up to 25 matching choices. If there are more than 25 auto-complete choices, the reference field instead displays the choices with the AJAXTableCompleter class.

For more information, see Auto-complete for reference fields.

ref_contributions UI Macro name list, separated by semicolons (";") any reference field Causes the named UI macro to be invoked when the field is rendered on a form.
ref_list_label label text any table Specifies the title to use in a list banner.
ref_qual_elements field name list, separated by semicolons (";") any reference field with a reference_qual field Specifies a list of fields to be sent back to the server in order to get an updated reference.
ref_sequence list of fields in referenced table, separated by top hats ("^") any reference field Specifies the fields in the referenced table that should be used to order the choice list. This works like an ORDER BY clause in SQL, with each element in ascending order.
reference_types list of valid reference types that are clickable separated by semicolons (";") field_name field Limits the reference fields that are displayed in the tree to the specified types.
remoteDependent name of database and table (like "model.matcher") any script field Defines the remote (such as, in another database) table that the script depends on.
repeat_type_field field name a repeat count field for schedule rotation Specifies the field that contains the repeat type (daily, weekly, monthly, or yearly).
restrictTo field name (including indirect, dot-walked field references) any conditions field Specifies the field that contains the comma-separated list of fields that the conditions should be restricted to using.
ro_collapsible true/false any multi-line field If present or true, causes an icon (either a "+" or a "-") to appear next to the field's label, allowing the field itself to be expanded or collapsed.
scale integer decimal field Sets the number of decimal places to use on the Decimal field type. The default is 2. This is applied to the Max Length of the field.
Note: Increase the Max Length to a value greater than 15 to increase this attribute.
script a function that returns the contents of the field any slushbucket field Allows you to write a script to define what will be loaded into the slushbucket field.
short_label true/false any field Long or short labels refer to the label that is displayed for reference fields on a form. For example, if the field contains the caller’s email address, the long label would be Caller Email while the short label would just be Email. Usually the placement of the field on the form makes it clear what the field represents. The global property (glide.short.labels) is used to specify the type of labels that are displayed for all reference fields on any form. This global property can be overridden for any field by setting the short_label=true or long_label=true attribute for the field in the dictionary.
show_all_tables true/false document ID fields Allows users to select documents from system tables. For example, sys_script or sys_user. By default, users cannot select records from system tables.
show_condition_count true/false condition fields Enables or disables the condition count widget to preview how many records would be returned by a set of conditions. See Add the condition count to a condition field.
skip_root true/false table_name field If present or true, removes the base table from the choice list (see base_table for more details).
sla_basis list of table names separated by semicolons (";") any field of date type (glide_date_time, glide_date, due_date, date, or datetime) Defines the tables for which this field determines the start (open) time of an SLA.
sla_closure list of table names separated by semicolons (";") any field of date type (glide_date_time, glide_date, due_date, date, or datetime) Defines the tables for which this field determines the start (open) time of an SLA.
slushbucket_ref_no_expand true/false any reference field If present or true, prevents users from expanding the field from a form or list slushbucket.
smallTable true/false any table If present or true, marks this table as "small" (that is, not large) for the purposes of our querying strategy. Without this attribute (or the largeTable attribute), whether a table is large is determined by the glide.db.large.threshold property, or the default value of 5,000.
start_locked true/false any glide_list field Determines whether the field is locked or unlocked by default. Set the value to false to unlock the field by default.
staticDependent name of table any script field Defines the table that the script depends on.
strip_html_in_pdf true/false any field Attempts to remove HTML tags from a field when that field is exported to a PDF. Most likely useful on HTML fields.
synch_attachments true/false any table Similar to update_synch but writes the record's file attachments to update sets. See Enable Attachment Indexing.
table name of table field_name field Displays the fields of the table specified.
tableChoicesScript name of script include table_name field The name of a script include whose process() method returns an array of table names from which to select.
target_form name of form any table Specifies the alternative form to be used when this table is referenced through a popup on a reference field.
text_index_filter_junk true/false any table Set the value to false to disable the junk filter for the table. By default, Zing does not index or search for 2-digit numbers and single character words (unless they are Chinese or Japanese characters). You must regenerate the index after disabling the junk filter. This attribute results in a larger table index. For optimal performance, do not apply it unless it is required.
text_search_only true/false table_name field Limits the tables listed to those that are searchable by text.
text_index_translation true/false any table If present or true, forces indexes to be recalculated when translated strings are added. Requires sys-admin role to modify. Automatically set for indexed fields that are translated, and to fields that have a translation and are being indexed. This attribute is overridden by the glide.i18n.force_index system property, which defaults to true.
time_zone_field name of field containing the time zone any schedule date/time field Specifies the field in the parent record that contains the reference time zone for this field.
timeDimension true/false any field of date type (glide_date_time, glide_date, due_date, date, or datetime) in a table subclassed from the task table If present or true, enables production of time dimension data for use by OLAP (to produce reports based on quarters, weeks, or other time periods).
Note: OLAP functionality has been deprecated.
tree_picker true/false reference field with reference to a hierarchical table Displays the hierarchy of reference values in a tree display (such as locations).
ts_weight integer value any field Controls the relative importance of a match in the field for text search. See Control Match Relevance By Field.
types list of valid element types separated by semicolons (";") field_name field Limits the fields display to the specified types.
update_exempt true/false field on any table where update_synch=true If present or true, you can change this field without skipping updates to the rest of the record. During software upgrades, the value of this field is preserved, while the rest of the record receives upgrades. By default, the Active field on a tracked table is treated as update_exempt even if the attribute is not present. For information about update sets, see System update sets.
update_synch true/false any table Indicates that changes in the table are tracked in update sets. Administrators cannot modify this attribute. To migrate data, use an instance-to-instance import.
update_synch_custom binary Java class name any table Specifies custom update producer (a Java class) that handles update set production for this table.
use_document_viewer true/false any table If present or true, allows users to open supported attachments in a document viewer within the platform, rather than downloading the files directly to their own file system.
use_workflow true/false any table that has delivery plans or uses workflow If present or true, causes workflow to be used instead of delivery plans.
user_preference true/false any field If present or true, causes any user preferences to be used instead of the normal default value.