[[PageOutline(2-5,Contents,pullout)]] = Ticket Create Buttons plugin = == Description == The !TicketCreateButtons plugin creates configurable buttons in the ticket header to create related tickets. The new ticket can inherit field values from the current ticket. == Usage == 1. Inside a TracIni file you can customize ticket properties {{{ [ticket-create-buttons] . = value }}} * Where `. = value` can be one or many from: ||'''Argument'''[[BR]] ||'''Version'''[[BR]] ||'''Required (R)[[BR]]Optional (O)''' ||'''Description'''[[BR]] ||'''Default'''[[BR]] || || `tag` || || R ||Argument to `genshi.filters.Transfomer` used to find the ticket form element to which the button will be prepended. Typically a custom field name.[[BR]]* Example: {{{ blockedby.tag = .//td[@headers="h_blockedby"] }}} || None || || `label` || || R ||The label for the button.[[BR]]* Example: {{{ blockedby.label = Create }}} || None || || `title` || || R ||The HTML title element used as a tool tip for the button.[[BR]]* Example: {{{ blockedby.title = Create a new predecessor }}} || None || || `inherit` || || O ||Comma-separated list of fields whose values should be inherited from the current ticket. If present but blank, no fields are inherited.[[BR]]* Example: {{{ blockedby.inherit = type, milestone }}} || None || || `link` || || O ||Comma-separated list of `newfield:currentfield` pairs used to link the two tickets. The `link` field override `inherit` field.[[BR]]* Example: {{{ blockedby.link = blocking:id }}} sets the new ticket's blockedby field to the current tickets id. || None || || `set` || || O ||Comma-separated list of `field:value` pairs for setting values in the new ticket. The `set` field override `inherit` and `link` fields. [[BR]]* Example: {{{ set = keywords:Foo }}} sets the new ticket's keywords field to Foo.|| None || 2. Example - Using the plugin with MasterTicketsPlugin, the following configuration creates buttons to create predecessor and successor tickets: {{{ [ticket-create-buttons] blockedby.tag = .//td[@headers="h_blockedby"] blockedby.label = Create blockedby.title = Create a new predecessor blockedby.inherit = type, milestone blockedby.link = blocking:id blocking.tag = .//td[@headers="h_blocking"] blocking.label = Create blocking.title = Create a new successor blocking.inherit = type, milestone blocking.link = blockedby:id }}} 1. Example - When used with SubticketsPlugin, new siblings can be created with: {{{ parents.tag = .//td[@headers="h_parents"] parents.label = Create parents.title = Create a new sibling parents.inherit = type, milestone, parents }}} == Installation == 1. '''Be noticed''' 1. below instructions should be specific for some O.S. Please, help improving them. 1. broader installation guidelines are made available on [http://trac.edgewall.org/wiki/TracPlugins TracPlugins] {{{ #!comment 1. '''Check''' dependencies: i. none required * ,,`[sudo]` is optional case you already have enough authority to modify your server.,,[[BR]][[BR]] }}} 1. '''Install''' plugin: * globally, on Linux, with easy_install: {{{ #!sh $ [sudo] easy_install https://trac-hacks.org/svn/ticketcreatebuttonsplugin }}} * ,,`[sudo]` is optional case you already have enough authority to modify your server.,, * ,,You might be required to select a specific `tag`, `branch`. Defaults to select from `trunk`,,[[BR]][[BR]] 1. '''Enable''' this component by updating TracIni file as follows: {{{ [components] ticketcreatebuttons.* = enabled }}} 1. '''Configure''' this component in its own configuration section, by updating TracIni file as follows: i. case using this plugin with SubticketsPlugin {{{ parents.tag = .//td[@headers="h_parents"] parents.label = Create parents.title = Create a new sibling parents.inherit = type, milestone, parents }}} 1. '''Restart''' web server on command line: {{{ #!sh $ [sudo] /etc/init.d/apache2 restart }}} * ,,`[sudo]` is optional case you already have enough authority to modify your server.,,[[BR]][[BR]] 1. '''Test''' if this component is working properly. 1. If the plugin is installed correct, the example shown in the [#Usage] section on this page should reflect on tickets.[[BR]][[BR]] == Bugs/Feature Requests == Existing '''[report:9?COMPONENT=TicketCreateButtonsPlugin bugs and feature requests]''' for !TicketCreateButtonsPlugin. If you have any issues, create a '''[/newticket?component=TicketCreateButtonsPlugin&owner=ChrisNelson new ticket]''' (please review base before creating). == Source & Download == You can '''[/svn/ticketcreatebuttonsplugin check out]''' !TicketCreateButtonsPlugin using Subversion, or '''[source:ticketcreatebuttonsplugin browse the source]''' with Trac, or '''[download:ticketcreatebuttonsplugin download]''' the zipped source. === Recent Changes === [[ChangeLog(ticketcreatebuttonsplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:ChrisNelson] [[BR]] '''Maintainer:''' [wiki:ChrisNelson] [[BR]] '''Contributors:'''