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."