Closed (fixed)
Project:
OG Node Approval
Version:
6.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Reporter:
Created:
24 Dec 2008 at 04:09 UTC
Updated:
31 Mar 2009 at 13:00 UTC
Rather than all members approving node, this module would be more useful to me if it approved nodes based on a ratios of member approval.
Here is one scenario
* More that %25 must vote for any action.
* If 70% of voting members approve the node, than the content gets published.
* If less than 30% approve the node, it gets deleted.
For example, if there are 20 members in a group.
* 4 members must vote for any action.
* If 3/4 approve, it gets published.
* If 2/4 approve, than at 3 more people need to approve it before it gets published. The voting would be 5/7.
* If 1/4 deny, the node is deleted.
* If 2/4 approve, than 3 more need to deny it before it is deleted. The voting would be 2/7.
Comments
Comment #1
mradcliffeI completely agree. Sorry, I have been busy, but I did read this a couple of weeks ago when it came in.
Comment #2
nikmahajan commentedCan't you create any such content approval module based on the ratios for Drupal? There is no such module that exists for drupal as of now. If someone creates it, it will be great way of giving back to the drupal community.
Comment #3
mradcliffeImplemented in 2.x branch.
Comment #4
philbar commentedGood work! I'm testing it out as I write this.
What I was thinking was something a little more complicated on your end, but much more practical because it is more dynamic. For example, many group members might be inactive at any given time or there could be a sudden surge of group activity. To account for this, the percentage of threshold should only be for voters, rather than all member.
Read the description in the original post if you are still unclear.
In my opinion, there should be three option.
1)
Minimum number of votes needed to consider nodes for approval?i.e. "4" members need to vote for the node to be considered for approval
2)
What threshold of voters need to approve the node for it to be published?i.e. "70%" of voters need to approve node for it to be published
3)
What threshold of voters need to deny the node for it to be deleted? (Use "0" to never automatically delete nodes)i.e. "70%" of voters need to deny content for it to be deleted from the database
It appears the feature you have added is #2 but instead it being a threshold of "voters", it is of "all OG members". What is the likelihood of getting #1 and #3 implemented?
Comment #5
mradcliffeJust a FYI, this won't be available until drupal.org refreshes the snapshot releases. Use the 6.x-2.x dev release.
You make a good point. Thank you for following up.
Comment #6
mradcliffeComment #7
mradcliffeI think the best way to accomplish all these options is to provide a hook for other modules to do so.
I have created hook_ona which will be called when a node is flagged as approved (or rejected) and when a user approves or rejects a node. It provides the $node object, the $user object of the user that triggered it, and a $tally array which contains useful counts of total members, total reviews, total approved, and total rejected (see readme).
That way a module can make its own thresholds. I'm keeping the approval threshold and quorum settings for now though.
It also got me thinking... maybe it's best to be very generic and then add contrib modules to handle global flags (via flag as it is in 2.x) and do other operations. Though that's far in the future.
Comment #8
nikmahajan commentedHey, I don't understand how it approves or rejects. I tried the module to check its functionality and found that authors themselves can approve or reject their content which shouldn't be there anyway. Meanwhile content still appears on the site.
And can you explain more about Threshold and Quorum settings. I think threshold is the percentage of approvals needed in order to approve the content globally. And quorum means percentage of reviewers required in order to approve or reject the content. Tell me if I am wrong.
One more question, if I set threshold to 70% then it will mean that atleast 7 out of 10 should approve the content but how is it possible with this module. Content gets approved even if any of the authenticated users approves it, 7 is too away.
Comment #9
mradcliffeThis is really 4 separate issues, maybe branch into documentation, bug report, new feature issues?
Thank you for your feedback.
Comment #10
philbar commentedMatt, I sent you regarding this issue.
Comment #11
mradcliffeIssue added for more ui-based integration. Fixed.
See #402698: Rules/Token Integration.