Re: [tw5] Re: [Update] TW-Vote plugin v1.0.0

Hi Mohammad, thanks that might be just what I have been looking for. My TiddlyWiki is over 20Mb and is a self learning+discovery tool as well as a knowledge base I have been looking for something like this, I will experiment with using it.

Additional areas of interest for me here are backlinks ( bi directional linking ) - the number of links to a particular tiddler might also be taken as another but different measure of popularity and usefulness. I would find it useful to have an extra tab on the results list that shows the number of backlinks to each tiddler. Even more useful might be to have both votes and backlinks on the same tab in two different columns that can both be used to order the list. That way it would be possible to ask questions like why are some high vote tiddlers low in the backlinks column - is that because the tiddler is very useful but also very new and so has not yet been fully integrated in the the web of the knowledge base - perhaps time to investigate why this is the case. Or perhaps a tiddler has a low vote but a large number of backlinks - perhaps this reflects older knowledge that is now contradicted by new evidence?

My experience of my own tiddlywiki is that the connections between items of our knowledge and thinking are sometimes just as interesting as the knowledge itself but it is difficult to visualise our mental maps in the way we might choose.
I have also been experimenting with TiddlyMap but whilst the maps are amazing to look at I have found due to the large size of my wiki it is difficult to extract the kind of impressions I want from the map, so I became interested in a simpler representation - ranked lists.

Another thought is how to combat “vote” inflation - if the common reaction is only to upvote the current candidate in the light of it’s usefulness in the present moment we may end up awarding it more votes than a tiddler we have not seen for a while that is actually more useful. Judges in sports always face the problem if they award a perfect 10 - they have nowhere left to go if someone better comes along next. One approach is to always be prepared to down vote a tiddler as well as to upvote it. Another is an ageing system where the awarded votes decay with time - for instance if all the votes are added together then each vote might be seen as a percentage of the total vote - the total vote can then be scaled by say 0.95 when someone presses the “rescale” button and then each tiddler is awarded a new vote which is calculated by multiplying it’s share percentage by the adjusted total vote. Tiddlers that have been recently upvoted are given vote “juice” that has not yet been degraded by the time decay. It’s probably overly complicated but it is useful I think to decide either as a code writer or a user how vote inflation might be dealt with?

Anyway time to play with your plugin.
Thanks a lot Jon

Try this solution

  1. Create a new tiddler
  2. Put below snippet as tiddler body
\import [all[tiddlers+shadows]tag[$:/tags/Macro/Vote]]

<table>
<tr>
<th>Tile</th><th>Vote</th>
<th>No. of backlinks</th><th>Backlinks</th>
</tr>
<$list filter="[<votingsTiddler>indexes[]]">
<tr>
<td><$link/></td>
<td><$transclude tiddler=<<votingsTiddler>> index=<<currentTiddler>>/></td>
<td><$text text={{{ [<currentTiddler>backlinks[]count[]] }}} /></td>
<td><$list filter="[<currentTiddler>backlinks[]]"/></td>
</tr>
</$list>
</table>