[[PageOutline(2-5,Contents,pullout)]] = Categorizing ticket fields in Trac == Description This plugin's purpose is to categorize ticket fields on screen to make it easier for users to enter details and work within complicated workflows. This plugin can help in the following situations: * Your ticket has a lot of fields and need to be compartimentalised for usability purposes. * The fields of your ticket that are available varies under different conditions. * Some fields of a ticket should only be visible to an authorized user (not implemented). '''Ticket view''' [[Image(ticket-view.PNG, border=2)]] '''Ticket edit''' [[Image(ticket-edit.PNG, border=2)]] '''Important:''' In old 1.x versions the literal 'categorized' was misspelled as 'catagorized', which was fixed in the 2.0+ version. As a result, if you are upgrading from 1.x, you should correct this misspelling in your `trac.ini` file. == !Bugs/Feature Requests Existing bugs and feature requests for CategorizedFieldsPlugin are [report:9?COMPONENT=CategorizedFieldsPlugin here]. If you have any issues, create a [/newticket?component=CategorizedFieldsPlugin new ticket]. [[TicketQuery(component=CategorizedFieldsPlugin&group=type,format=progress)]] == Download Download the zipped source from [https://github.com/trac-hacks/TracCategorizedFieldsPlugin/archive/master.zip here]. == Source You can check out TracCategorizedFieldsPlugin from [https://github.com/trac-hacks/TracCategorizedFieldsPlugin.git here] using Git, or [https://github.com/trac-hacks/TracCategorizedFieldsPlugin browse the source]. == Installation Install the plugin just like any other, see [TracPlugins#InstallingaTracplugin TracPlugins] for general instructions. Edit your `trac.ini` file to enable the plugin: {{{#!ini [components] categorizedfields.categorizedfields = enabled }}} == Configuration Create a {{{[categorized-fields]}}} section, and add the categories, for example: {{{#!ini [categorized-fields] # declare a category in syntax "(category_id) = (category_display_name)" cat1 = category_one # specify the hide condition in syntax "(category_id).hide_when_(condition-field) = (field-value1)[, (field-value2), ..]" cat1.hide_when_status = new, closed # the order of category: the smaller the index, the closer the category is to the top cat1.index = 1 }}} In {{{[ticket-custom]}}} section, specify your fields with category property: {{{#!ini [ticket-custom] custom_field1 = text # declare one field with category in syntax "(field_id).category = (category_id)" custom_field1.category = cat1 # the order of field: the smaller the index, the closer the field is to the top custom_field1.index = 1 }}} == !Author/Contributors '''Author:''' [wiki:cauly] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''