bugsahoy
bugsahoy copied to clipboard
Move product:component mapping into external config files
The goal is to keep bugsahoy as customizable as possible for other groups using Bugzilla to track work items. It would be ideal to move all definition of mappings into an external config file that could be processed at deployment time, creating the static index.html that would be served to visitors. This mapping would include:
- Sections of clickable groups and names, with parameters that indicate whether to perform a union or intersection of the results
- Corresponding bugzilla searches to perform
- Extra information boxes
In other words, everything that defines the non-universal aspects of the current UI. JSON would be a reasonable choice for the config file format, with a python script to perform the translation.
Sample JSON spec:
{
"groups": [{
"text": "Are you interested in:",
"operation": "union",
"choices": [{
"text": "Choice A",
"search_data": [
{"type": "simple", "product": "Core", "component": "General"}, {"type": "simple", "product": "Firefox", "component": "General"}
],
"extra": [{
"title": "Extra information!", "text": "Stuff about information! <a href='http://example.com'>Link!</a>"
}]
}]
}. {
"text": "Do you know:",
"operation": "intersection",
"choices": [{
"text": "Choice 1",
"search_data": [
{"type": "language", "lang"="c++"}
],
"extra": []
}]
}],
"base_search_parameters": {
"status_whiteboard": "mentor=",
"whiteboard_type": "contains_all",
"bug_status": ["NEW", "ASSIGNED", "REOPENED"]
},
"search_types": [{
"name": "simple",
"parameters": ["product", "component"]
}, {
"name": "language",
"parameters": [{"lang": "status_whiteboard"}]
}]
}
I'm pretty sure this covers all the existing UI options.