Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Try Vanilla Forums Cloud product
Vanilla 2.6 is here! It includes security fixes and requires PHP 7.0. We have therefore ALSO released Vanilla 2.5.2 with security patches if you are still on PHP 5.6 to give you additional time to upgrade.
Please upgrade to 2.3 here. The 2.2 and earlier branches are no longer being updated.

Reset Issues

This discussion is related to the Karma Bank addon.
xValxVal New
edited December 2013 in Vanilla 2.0 - 2.3

Reference: http://vanillaforums.org/discussion/comment/197788

Cliffs: Disabled the plugin, deleted cache, dropped all karma tables, removed user > QnA references, removed $Configuration['Plugins']['KarmaBank'] references from config.php, added 1 simple rule (eg every 1 discussion award 1 karma), set starting balance to 0, enabled plugin, when users log-in (w/o opening a new discussion/comment) their balance shows 1 (there are exceptions: >1 or 0).

Vanilla: 2.0.18.8 (I know I need to update for security)
Theme: Dark Mist
Other Plugins of interest: Consolidate

Any help would be greatly appreciated, thanks!

UnderDog

Comments

  • peregrineperegrine MVP
    edited December 2013

    set starting balance to 0,

    I don't use the plugin: but from the description. one would think you need a starting balance greater than 0, no? (as vrijvlinder would say).

    and the description says:

    You must add a starting balance, and add at least 1 rule to activate.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Alright, I will reset again and set the starting balance to 1. Let's see how that goes. I hope it doesn't show something like 2 when I log in.

  • at least now you have a good test control structure

    a new user without discussions and a balance set to greater than 0

    awesome if that resolved your issues, awesome to the person who continues on, this is where i leave the dusty trail riding off into the sunset....

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • xValxVal New
    edited December 2013

    Done, balance is 3 - as it shows in the attached image.

    I have no idea what is wrong here..

  • peregrineperegrine MVP
    edited December 2013

    I suspect one of your plugins is interfering with karma bank and causing a duplicate transaction at the same time.

    I just installed and tested, and it works perfectly fine with the same theme as you, and the same version as you, without any other plugins installed, except karmabank.

    So i would disable your other 39 plugins, and re-test.

    And then ask yourself why you have so many plugins, as well as ones that duplicate function (2 poll plugins?).

    1. disable karma plugin as well as ALL other plugins (except for htmlLawed - leave it as is)
    2. then delete the karmacache folder.
    3. then delete the .ini files in cache.
    4. then drop these tables
    5. drop 'KarmaBankBalance'
    6. drop 'KarmaBankTrans'
    7. drop 'KarmaBankTransTally'
    8. drop 'KarmaRules')
    9. drop 'KarmaRulesTally'
    10. remove these two columns from user table QnACountAccept QnACountAcceptance
    11. goto you config.php and delete every reference to
    12. $Configuration['Plugins']['KarmaBank']
    13. then enable karma plugin.

    http://vanillaforums.org/discussion/comment/188810/#Comment_188810

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • x00x00 MVP
    edited December 2013

    @xVal said:
    Done, balance is 3 - as it shows in the attached image.

    I have no idea what is wrong here..

    Nothing went wrong. You have rules and it is applying them. If i is a double transaction it might be becuase karmacache is not writeable.

    grep is your friend.

    peregrineUnderDog
  • OperationEvery uses ($MetaValue % $Target == 0)

    so for example it would take the CommentCount % Target == 0 then save where you are

    so the full algorythm would be if CommentCount!=SavedTally then if CommentCount % Target == 0 apply N Karma.

    grep is your friend.

  • xValxVal New
    edited December 2013

    @x00 karmacache has 755 permissions. And I have set 1 single rule as stated above: every 1 discussion 1 karma, so why am I automatically getting 3 points, others getting random 0-10 points ?

    @peregrine I had two poll plugins because they fulfilled two different needs: a) allowing polls inside new discussions/comments and b) adding a poll box in the sidebar (not inside posts). I will try your suggestion above and will post results here.

    Thank you both for assisting me.. I feel like I wanna learn everything there is to learn about vanilla now!

  • x00x00 MVP
    edited December 2013

    @x00 karmacache has 755 permissions.

    who owns the folder? make sure there is write permission for the web user.

    grep is your friend.

  • xValxVal New
    edited December 2013

    @x00 I changed it to 775 after following @peregrine steps above, added one rule (Meta CountDiscussions Every 1.00 Make transaction of 1.00), logged in with 3 different usernames and all show a balance of 1 (while all other offline users show 0). How can I make it show 0 for everyone - like a general reset? Note that I have no other plugins enabled.

    Update: I asked another member to log-in for me and his balance is 0 for some reason.

  • I enabled all plugins back and I get this field in user profiles now: UserInfoModule

  • xValxVal New
    edited December 2013

    Turns out it was the "Thanked" field, disabled the plugin and it's fine now.

    Karma is still an issue though..

  • x00x00 MVP
    edited December 2013

    @xVal said:
    x00 I changed it to 775 after following peregrine steps above, added one rule (Meta CountDiscussions Every 1.00 Make transaction of 1.00), logged in with 3 different usernames and all show a balance of 1 (while all other offline users show 0). How can I make it show 0 for everyone - like a general reset? Note that I have no other plugins enabled.

    Update: I asked another member to log-in for me and his balance is 0 for some reason.

    Seems like is it working as expected. DiscussionsCount % 1 == 0 it will increment by 1. If the tally table is cleared, then if they have posts it will increment by one. If you don't want this behaviour then you will need to pre seed KarmaRulesTally for each user for each rule.

    If a person doesn't increment immediately they will be as long as the rule is satisfied and the their tally does not match the value.

    Also it can only go by the meta that is there, so in this case DiscussionCount.

    TBH, one you get it going I wouldn't faff with it too much. The idea of the rule is its DiscussionsCount % 1 == 0, that is satisfied it will increment. it you are re-setting it you are also re-setting their tally.

    grep is your friend.

  • xValxVal New
    edited December 2013

    So let me get this straight: If users have 1+ discussions (prior to rule) and I have set that rule, once they log in they have 1 in their balance? That would mean total reset is impossible for old users (that registered before I set the rule) right?

    @x00 said:
    If you don want this behaviour then you will need to pre seed KarmaRulesTally for each user for each rule.

    How do I go around pre seeding KarmaRulesTally for each user/rule?

    Help me translate this DiscussionsCount % 1 == 0 in n00bish please..

  • x00x00 MVP
    edited December 2013

    you know maths? Modulus. In the case of N % 1 == 0 it is always true however the first condition is that value hasn't already been tallied. N % 2 would be every other, etc, etc.

    How do I go around pre seeding KarmaRulesTally for each user/rule?

    Well you would need to set it before anyone has been checked. You would need to get the user table with a join to each rule, then insert a value for each of these rules per user. It is possible but not much point.

    If are going to be changing the rules, and expecting this behaviour, it isn't how this works.

    grep is your friend.

    xVal
  • That would mean total reset is impossible for old users (that registered before I set the rule) right?

    You have been resetting, it is applying the rule as expected. I just think resetting the balance constantly doesn't reward, and it can be confusing. Just like resetting someone's bank balance is not cool.

    I mean you could sort of work out what they would of earned if the rule had be applied in the past, but that is a different operation altogether and with a lot of user, it could take some time. it might not even be possible for every type of rule.

    if you change a rule, then it I will be applicable when it is checked.

    grep is your friend.

  • @xVal

    this is where the "karma rules" come into effect on this forum. You click insightful when x00 answers takes the time and answers your questions.

    this is often overlooked. The idea is click insightful and awesome when you get a reply that seems to give you insight or perhaps awesome when your question is answered.
    same as thankful people and I liked on your forum. Thats what they are there for, for users to show their appreciation to user volunteers who try to assist you.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    xVal
  • xValxVal New
    edited December 2013

    @x00 @peregrine thank you, I really appreciate your help!

    I don't use PP, but I'm willing to support your work.. let me know if you also accept Skrill (ex MoneyBookers) or CCs (direct).
    When my own community grows a bit I'm sure they will also be happy to chip in. I love Vanilla!

    peregrine
  • peregrineperegrine MVP
    edited December 2013

    @xVal said:

    @x00 @peregrine thank you, I really appreciate your help!

    I don't use PP, but I'm willing to support your work.. let me know if you also accept Skrill (ex MoneyBookers) or CCs (direct). When my own community grows a bit I'm sure they will also be happy to chip in. I love Vanilla!

    thx. Peregrine can ONLY accept via paypal. I don't know what payment systems x00 uses.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

Sign In or Register to comment.