| | 1 | [[PageOutline(2-5,Contents,pullout)]] |
| | 2 | == Overview == |
| | 3 | |
| | 4 | Working name for plugin: !QueryMacrosPlugin (other proposed names: !TracQueryMacros, !QueryMacros) |
| | 5 | |
| | 6 | There are several macros that perform simple queries. I have put together a list of these below. The [trac:WikiMacros#TicketQuery-macro TicketQuery macro] is part of the Trac distribution and provides many options for searching the ticket database. I propose to aggregate a number of macros into a single plugin, which provide the ability to query other Trac components and use the !TicketQuery macro as a template for coding style, macro argument syntax, and output. |
| | 7 | |
| | 8 | Please contact me if you have ideas to discuss or wish to contribute. |
| | 9 | |
| | 10 | == Related Macros and Plugins == |
| | 11 | |
| | 12 | * ChangeLogMacro[[FootNote(I have taken over maintainership of this plugin)]] |
| | 13 | * WikiSearchMacro[[FootNote(1)]] |
| | 14 | * PlannedMilestonesMacro[[FootNote(1)]] |
| | 15 | * MilestoneCompactMacro |
| | 16 | * AllAttachmentsMacro[[FootNote(Adoption request to take over maintainership of this plugin is pending)]] |
| | 17 | * SqlQueryMacro[[FootNote(2)]] |
| | 18 | * WikiTableMacro[[FootNote(1)]] |
| | 19 | |
| | 20 | The following may provide related functionality, but still need to be tested: |
| | 21 | * TicketWithSummaryMacro |
| | 22 | * ComponentsProcessorMacro |
| | 23 | * LastModifiedMacro |
| | 24 | * ListOfWikiPagesMacro |
| | 25 | * ProgressMeterMacro |
| | 26 | * UserStatsMacro |
| | 27 | * TicketBoxMacro |
| | 28 | * WikiStatsPlugin |
| | 29 | |
| | 30 | Note: I've only looked at macros and haven't yet looked at plugins that might have desireable functionality. |
| | 31 | |
| | 32 | == Plugin Components == |
| | 33 | |
| | 34 | |
| | 35 | == Requirements == |
| | 36 | |
| | 37 | * Share common codebase among macros where possible |
| | 38 | * Consistently perform permission checks (this is where existing query macros often have security holes) |
| | 39 | * Support Trac 0.11, 0.12 and beyond |
| | 40 | * Support Python 2.4, 2.5 and 2.6 |
| | 41 | * Provide unit tests with near complete test coverage |
| | 42 | |
| | 43 | == Proposed Plugin Functionality == |
| | 44 | |
| | 45 | Provide capability to execute queries on: |
| | 46 | * RevisionLog |
| | 47 | * Milestones |
| | 48 | * Wiki |
| | 49 | * Components |
| | 50 | * Attachment metadata |
| | 51 | * Tickets (providing extensions to functionality in the TicketQuery macro) |
| | 52 | |
| | 53 | [[FootNote]] |