Question
I try to build an application with
VotePlugin /
RatingContrib , searched twiki.org, tried different approaches, but still can't get it working:
I use
VotePlugin to display the ratings, including average $score, $mylast vote and the absolute $sum of people participating in this vote:
%VOTE{id="RatingSomething" open="off" secret="off" stars1="RatingSomething" width1="10" format1="$small<br /> | Average: $score | My: $mylast | Participation: $sum |"}%
But additionally, I would like to display the "relative participation" in the vote, or to say in short: 100 * $sum / "number of users of the site".
So I found two ways to get the number of users of the site:
1)
SpreadSheetPlugin and
FormattedSearch:
%CALC{$SET(total,0)}%<br />%SEARCH{ "%META:FORM.*[U]serForm" web="%MAINWEB%" type="regex" nosearch="on" nototal="on" format="$percntCALC{$SETM(total,+1)}$percnt" }%<br />Number of users: %CALC{$GET(total)}%
2)
UserInfoPlugin:
%NRUSERS%
And so i tried to combine this with a CALC by the
SpreadSheetPlugin:
e.g. inside the vote tag
%VOTE{id="RatingSomething" open="off" secret="off" stars1="RatingSomething" width1="10" format1="$small<br /> | Average: $score | My: $mylast | Participation: $sum | Number of Users: %NRUSERS% | Relative Participation: %CALC{"$EVAL( 100 * ( $sum / %NRUSERS% ) ) "}% "}%
When I replace % of CALC by $percnt (and " inside by \") , "$perc" is replaced by the
VotePlugin with the result of the formatting token "$perc" , which expands to "100*$score/$sum"
Perhaps problem is also the "evil" nesting (VOTE(CALC(VOTE)))...
After some tries I put this outside the vote tag:
%CALC{"$EVAL( 100 * ( $percntVOTE{id=\"RatingSomething\" open=\"off\" secret=\"off\" stars1=\"RatingSomething\" width1=\"10\" format1=\"$sum\"}$percnt / $percntNRUSERS$percnt ) ) "}%
But yes, $sum outside of the vote tag ... doesn't work.
So I tried to use the SET pseudo-tag of the
MacrosPlugin, but couldn't make it work in this case:
%SET PARTABS = %VOTE{id="RatingSomething" open="off" secret="off" stars1="RatingSomething" width1="10" format1="$sum"}%
Absolute Participation: %PARTABS%
O.K.
%CALC{"$EVAL( 100 * ( %PARTABS% / %NRUSERS% ) )"}%
and
%CALC{"$EVAL( 100 * ( $percntPARTABS$percnt / $percntNRUSERS$percnt ) )"}%
Error.
...
So after revision 40

of the topic, I'd really appreciate help!
Ingo
Environment
--
IngoBlickling - 31 Mar 2008
Answer
If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.
I couldn't get it working for days on this way, so I had a look into VotePlugin and UserInfoPlugin modules and added some lines to core.pm of VotePlugin to include number of users directly and do the calculation there. And now it seems to work for me!
If interested, have a look at
VotePluginDev (comment 10 Apr 2008).
So closed it as answered.
--
IngoBlickling - 10 Apr 2008