Revamping the Bodhi karma
The current implementation can be found in a public Git repository, forked from the main Bodhi tree so as to not pollute it with this experimentation.
It consists of a modified model and a quickly hacked controller/template to view an update and the comment form (but not commenting yet).
Preview
Below are screenshots of viewing an update and the feedback form:
The following is what the update looks like when directly printed (for example in emails) and can be obtained by running the test_karma()
unit test.
================================================================================ TurboGears security update ================================================================================ Release: Fedora 11 Status: pending Type: security Karma: Doesn't fix my problem (1), Causes new problems (1), Fixes my problem (3), Still works for me (1) Request: testing Bugs: 1 - None : 2 - None CVEs: CVE-2009-0001 Notes: foobar Submitter: lmacken Submitted: 2010-03-14 20:18:13.515805 Comments: bochecha - 2010-03-14 19:18:13.531837 Karma: General feedback: Still works for me Text for comment 1 ---------- lmacken - 2010-03-14 19:18:13.539849 Karma: General feedback: Causes new problems Bug 1: Fixes my problem Bug 2: Fixes my problem ---------- adamw - 2010-03-14 19:18:13.563302 Karma: Bug 1: Fixes my problem Bug 2: Doesn't fix my problem Text for comment 2 ---------- bochecha - 2010-03-14 19:18:13.577050 This update was unpushed ---------- http://localhost:8084/TurboGears-1.0.8-3.fc11
TODO
Most things remaining to be done are stuff that will need to be decided first.
- Rules for auto-unpush (e.g: « veto for stable if "Causes new problems" »)
- Rules for auto-push (e.g: « if you get a FMP for each bugzilla listed in the update, plus at least 1 WFM, then you could automatically push to stable »)
- Allow "Causes new problems" only for logged in users? (avoid DoS)
- What if the user provided contradictory karmas earlier?
- Current +1/-1 gives more weight to the new contradictory karma, how to translate that in the new system?
- => maybe allow a user to cancel an earlier karma?
- FMP/DFMP karma against a bug could be noted in the bug itself with a resultant VERIFIED/FAILS_QA toggle to the bug status?
- Implement the controller
- Actually allow commenting an update
Suggested karma types
Global karma
-
'swfm': 'Still works for me'
=> "I have tried this update in my regular day-to-day use and seen no regressions" -
'cnp': 'Causes new problems' (>=1 bug IDs)
=> "I have tried this update in my regular day-to-day use and observed (a) regression(s): bug #XXXXXX."
-
'ptc': 'Passes test case'
=> "I have performed the following planned testing on the update: (link to test case / test plan) and it passes."
-
'dptc': 'Does not pass test case' (>=1 bug IDs)
=> "I have performed the following planned testing on the update: (link to test case / test plan) and it fails: bug #XXXXXX.
-
'fup': 'Fixes unmentioned problem(s)' (>=1 bug IDs)
=> "I have tried this update and found that it fixes bug #XXXXXX, even if it does not claim to."
Bug related feedback
-
'fmp': 'Fixes my problem'
=> "I have tried this update and found that it does fix bug #XXXXXX as it claims."
-
'dfmp': 'Does not fix my problem'
=> "I have tried this update and found that it does not fix bug #XXXXXX even if it claims to."