Thoughts on voting for issues (ranking)

"John P. Rouillard" <[email protected]> Sun, 13 Oct 2024 22:38:34 -0400
Newsgroups gmane.comp.bug-tracking.roundup.user
Message-ID <[email protected]>
Hi all:

I was asked if there exists a way to vote on issues. The idea is to
allow people to use voting to prioritize issues.

Does anybody have an implementation of this that they can share?

My initial thoughs are:

  in the issue class, add a multilink to the user class called "votes"

  in the issue class, add an integer called "votescount" that is a
     quiet property

  in the user class add a multilink to issues called "votedfor"

  in the user class, optionally add "totalvotes" integer value as a
      quiet prop that is decremented for each vote used.

  add an auditor that:

     for issues:

         checks "votes" to verify that the user is only adding/removing
         their username from "votes" (unless they are an admin).

        triggers an update on the user's "votedfor" value (if there is
           space for it)

        update the "votecount" integer field with the current number of votes

     for users:

        limit votedfor to limit total votes available (say 10 votes or
           decrement totalvotes until it reaches 0)

  on the issue.item page add "votes" field with add/remove buttons

  on the user.item page display "votedfor" issues with their title
    and allow a user to remove then from the list.

  add all issue properties to the search page and index pages.

This should allow users a limited number of votes to distribute across
issues. The owner can get an index report ordered by total votes and
see who voted.

Thoughts?

--
				-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.