[[PageOutline(2-5,Contents,pullout)]] = Help Macros and Plugins with trac.ini lookup and defaulting == Description This module provides a helper class which can be used by other plugins, especially macros, in retrieving optional arguments from the `trac.ini` configuration file. By itself, this modules does not provide any functionality. A macro using this module, can be called with a '''config=xxx''' option, to retrieve a set of options which in `trac.ini` all start with prefix '''xxx'''. Inheritance is supported, by writing an option '''xxx.inherit = yyy''' in `trac.ini` - all macro options not yet determined, are then searched with the other prefix, '''yyy'''. Multiple inheritance is supported, by writing '''config=prefixA|prefixB''' in the macro invocation, or writing an '''xxx.inherit = prefixC|prefixD''' option in `trac.ini`. The macro module which uses this functionality, specifies a list of expected options, as well as their defaults. These defaults will then be used when the respective option is not specified anywhere. == Bugs/Feature Requests Existing bugs and feature requests for TracMacroConfigPlugin are [report:9?COMPONENT=TracMacroConfigPlugin here]. If you have any issues, create a [/newticket?component=TracMacroConfigPlugin new ticket]. [[TicketQuery(component=TracMacroConfigPlugin&group=type,format=progress)]] == Download Download the zipped source from [export:tracmacroconfigplugin here]. == Source You can check out TracMacroConfigPlugin from [/svn/tracmacroconfigplugin here] using Subversion, or [source:tracmacroconfigplugin browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == Example Currently no plugin or macro uses the functionality. There is an '''examplemacro.py''' file included in the distribution, which when enabled through the admin plugings interface, provides a macro named '''!TracMacroConfigExample''', which displays a table detailing interesting things about concrete option lookups. This allows you to play with macro arguments and in a corresponding '''[macroconfig-example]''' section in `trac.ini` and to play with inheritance setups. This is how exemplary calls to that macro would be written in a wiki page: {{{ [[TracMacroConfigExample(config=class-c, extra=more stuff)]] }}} Use this together with a `trac.ini` section like this: {{{#!ini [macroconfig-example] class-a.bool = True class-a.text = A Text class-b.bool = False class-b.int = 73 class-c.config = class-a|class-b class-c.list = knees|toes }}} == Recent Changes [[ChangeLog(tracmacroconfigplugin, 3)]] == Author/Contributors '''Author:''' [wiki:bof] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:''' [http://www.yalwa.de/ Yalwa Branchenbuch] (sponsor)