id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc	release
8979	[PATCH] macro config=xxx argument, trac.ini option lookup with inheritance	bof	ChrisNelson	As discussed shortly in #8704, here is a patch providing inheritable option\r\nlookup and defaulting.\r\n\r\n'''NOTE:''' depends on the newly created TracMacroConfigPlugin. I'm unsure whether that dependency can somehow be handled automatically in setup.py - there seem to be some options related to that, but I have not yet played with them.\r\n\r\nWith this patch applied, the configuration can contain something like this:\r\n\r\n{{{\r\n[trac-jsgantt]\r\noption.inherit = base\r\nbase.userMap = 0\r\nbase.omitMilestones = 1\r\nbase.dateDisplay = yyyy-mm-dd\r\nmini.inherit = base\r\nmini.startDate = 0\r\nmini.endDate = 0\r\nmini.res = 0\r\nmini.dur = 0\r\nmini.comp = 0\r\nmini.lwidth = 256\r\n}}}\r\n\r\nA macro call with only TracQuery arguments, or other but not all macro arguments, will then take its full option list from the ''option.xxx'' option set, which immediately inherits them all from ''base.xxx'' for the sake of exposition.\r\n\r\nAdditionally, a macro call written as {{{[[TracJSGanttChart(config=mini)]]}}}, will take its options from the ''mini.xxx'' settings (which also inherit some from ''base.xxx'')\r\n\r\nIt is even possible to write something like {{{[[TracJSGanttChart(config=mini|foobar)]]}}}\r\nto get ''multiple inheritance'' from ''mini.xxx'', and from ''foobar.xxx'' when missing from the ''mini.'' path. Such multiple inheritance is also supported within trac.ini for the ''xxx.inherit = a|b'' options.\r\n\r\n(tested under 0.11.7 and 0.12.2)\r\n	enhancement	new	normal	TracJsGanttPlugin	normal			rjollos	0.11
