|  | 1 | = Custom Ticket Fields = | 
          
            |  | 2 | Trac support adding custom, user-defined, fields to the ticket module. Using custom fields, you can add typed, site-specific, properties to tickets. | 
          
            |  | 3 |  | 
          
            |  | 4 | '''Note: In Trac 0.8, this feature is still experimental.''' | 
          
            |  | 5 |  | 
          
            |  | 6 | == Configuriation == | 
          
            |  | 7 | Configuring custom ticket fields is done in the TracIni config file. | 
          
            |  | 8 |  | 
          
            |  | 9 | All field definitions should be under a section named [ticket-custom] in the ini-file. | 
          
            |  | 10 |  | 
          
            |  | 11 | The syntax of each field definition is: | 
          
            |  | 12 | {{{ | 
          
            |  | 13 | FIELD_NAME = TYPE | 
          
            |  | 14 | (FIELD_NAME.OPTION = VALUE) | 
          
            |  | 15 | ... | 
          
            |  | 16 | }}} | 
          
            |  | 17 | Looking at the example below should help explain the syntax. | 
          
            |  | 18 |  | 
          
            |  | 19 | === Available Field Types and Options === | 
          
            |  | 20 | * '''text''': A simple (one line) text field. | 
          
            |  | 21 | * label: Descriptive label. | 
          
            |  | 22 | * value: Default value. | 
          
            |  | 23 | * order: Sort order placement. (Determines relative placement in forms.) | 
          
            |  | 24 | * '''checkbox''': A boolean value check box. | 
          
            |  | 25 | * label: Descriptive label. | 
          
            |  | 26 | * value: Default value (0 or 1). | 
          
            |  | 27 | * order: Sort order placement. | 
          
            |  | 28 | * '''select''': Drop-down select box. Uses a list of values. | 
          
            |  | 29 | * options: List of values, separated by '''|''' (vertical pipe). | 
          
            |  | 30 | * value: Default value (Item #, starting at 0). | 
          
            |  | 31 | * order: Sort order placement. | 
          
            |  | 32 | * '''radio''': Radio buttons. Essentially the same as '''select'''. | 
          
            |  | 33 | * label: Descriptive label. | 
          
            |  | 34 | * options: List of values, separated by '''|''' (vertical pipe). | 
          
            |  | 35 | * value: Default value (Item #, starting at 0). | 
          
            |  | 36 | * order: Sort order placement. | 
          
            |  | 37 | * '''textarea''': Multi-line text area. | 
          
            |  | 38 | * label: Descriptive label. | 
          
            |  | 39 | * value: Default text. | 
          
            |  | 40 | * width: Width in columns. | 
          
            |  | 41 | * height: Height in lines. | 
          
            |  | 42 | * order: Sort order placement. | 
          
            |  | 43 |  | 
          
            |  | 44 | === Sample Config === | 
          
            |  | 45 | {{{ | 
          
            |  | 46 | [ticket-custom] | 
          
            |  | 47 | test_one = text | 
          
            |  | 48 | test_one.label = Just a text box | 
          
            |  | 49 |  | 
          
            |  | 50 | test_two = text | 
          
            |  | 51 | test_two.label = Another text-box | 
          
            |  | 52 | test_two.value = Just a default value | 
          
            |  | 53 |  | 
          
            |  | 54 | test_three = checkbox | 
          
            |  | 55 | test_three.label = Some checkbox | 
          
            |  | 56 | test_three.value = 1 | 
          
            |  | 57 |  | 
          
            |  | 58 | test_four = select | 
          
            |  | 59 | test_four.label = My selectbox | 
          
            |  | 60 | test_four.options = one|two|third option|four | 
          
            |  | 61 | test_four.value = 2 | 
          
            |  | 62 |  | 
          
            |  | 63 | test_five = radio | 
          
            |  | 64 | test_five.label = Radio buttons are fun | 
          
            |  | 65 | test_five.options = uno|dos|tres|cuatro|cinco | 
          
            |  | 66 | test_five.value = 1 | 
          
            |  | 67 |  | 
          
            |  | 68 | test_six = textarea | 
          
            |  | 69 | test_six.label = This is a large textarea | 
          
            |  | 70 | test_six.value = Default text | 
          
            |  | 71 | test_six.width = 60 | 
          
            |  | 72 | test_six.height = 30 | 
          
            |  | 73 | }}} | 
          
            |  | 74 |  | 
          
            |  | 75 | ---- | 
          
            |  | 76 | See also: TracTickets, TracIni |