[[PageOutline(2-5,Contents,pullout)]] = Default and convert report dynamic variables to pulldowns = == Description == This plugin applies to all [http://trac.edgewall.org/wiki/TracReports#AdvancedReports:DynamicVariables reports that use dynamic variables]. The plugin does two things for dynamic variables whose (uppercase) name exactly matches a built-in or custom (lowercase) ''select'' field name: * Dynamic variables are set to default values if unset * The text fields for dynamic variables are converted to pulldown menus !JavaScript is required for the second feature above. == Configuration == 1. Install the plugin (after downloading and unzipping): {{{ cd dynamicvariablesplugin/0.12 sudo python setup.py bdist_egg sudo cp dist/TracDynamicVariables*.egg /your/trac/location/plugins/ }}} See [http://trac.edgewall.org/wiki/TracPlugins TracPlugins] for more installation details and options. You'll likely need to restart Trac's web server after installation. 2. Enable the plugin: {{{ [components] dynvars.* = enabled }}} You can alternatively use the Trac Web Admin GUI to enable any or all rules. 3. Create/modify reports so that the name used for dynamic variables exactly match the name of the select field that it corresponds to. See an example below. == Bugs/Feature Requests == Existing bugs and feature requests for DynamicVariablesPlugin are [report:9?COMPONENT=DynamicVariablesPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=DynamicVariablesPlugin&owner=robguttman new ticket]. == Download == Download the zipped source from [download:dynamicvariablesplugin here]. == Source == You can check out DynamicVariablesPlugin from [http://trac-hacks.org/svn/dynamicvariablesplugin here] using Subversion, or [source:dynamicvariablesplugin browse the source] with Trac. == Example == The only configuration options are in defining SQL reports. For example, a report for a specific {{{milestone}}} that also queries for a custom {{{queue}}} select field could be defined like this: {{{ SELECT p.value AS __color__, t.id AS ticket, summary, component, severity, reporter FROM ticket t LEFT OUTER JOIN milestone m ON t.milestone = m.name LEFT JOIN enum p ON p.name = t.severity AND p.type = 'severity' LEFT OUTER JOIN ticket_custom q ON q.ticket = t.id and q.name = 'queue' WHERE q.value = '$QUEUE' AND milestone = '$MILESTONE' ORDER BY m.due ASC, p.value }}} Here's what this report would look like both before and after this plugin is installed and enabled: === Before === [[Image(before.png)]] === After === [[Image(after.png)]] == Recent Changes == [[ChangeLog(dynamicvariablesplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:robguttman] [[BR]] '''Maintainer:''' [wiki:robguttman] [[BR]] '''Contributors:'''