# Custom Fields

Info borrowed and adapted from Mantis Bug Tracking System manual

## Description

Following are some facts about the implementation of custom fields:

- Custom fields are defined system wide.
- Custom fields are linked to a type of element (Test Suite, Test Case)
- Custom fields can be linked to multiple Test Projects.
- The sequence of displaying custom fields can be different per Test Project.
- Custom fields can be turned inactive for an specific Test Project.
- Number of custom fields is not restricted.

The definition of a custom field includes the following logical attributes:

- Custom field name
- Caption variable name (eg: This is the value that is supplied to lang_get() API , or displayed as-is if not found in language file).
- Custom field type (string, numeric, float, enum, email)
- Enumeration possible values (eg: RED|YELLOW|BLUE), applicable to list, multiselection list and combo types.
  Use the pipe ('|') character to separate possible values for an enumeration. One of the possible values can be an empty string.
- Default value. (NOT IMPLEMENTED YET)
- Minimum/maximum length for the custom field value (use 0 to disable). (NOT IMPLEMENTED YET)
- Regular expression to use for validating user input (use ereg() syntax). (NOT IMPLEMENTED YET)
- All custom fields are currently saved to a field of type VARCHAR(255) in the database.
- Display on test specification.
- Enable on test specification. User can change the value during Test Case Specification Design
- Display on test execution.
- Enable on test execution. User can change the value during Test Case execution
- Available for. User choose to what kind of item the field belows.