Tuesday 26 June 2012

Karma version 1 released


The first version of Karma plugin is out on Connect. Users can add the karma widget from the widget gallery, it might take a minute to load, because karma updates if you view your widget the first time or every hour after that.


Also, Karma fetches your activities on twitter, planet openSUSE and Novell's Bugzilla. Starting from now, Karma rewards you for your previous 5 tweets, and each of your posts that appear on planet openSUSE in the last 3-4 days and then onwards and all of your resolved bugs on Bugzilla.


There are certain things that you might notice when using the plugin, first as I wrote it might take a minute to load if karma was updated more than an hour ago. Then, only your previous 5 tweets are rewarded for, so If you tweeted about opensuse way back in the past, I'm afraid it might not be counted.   Also do not forget to use the hashtag (#openSUSE) for tweets to be rewarded, and its case insensitive :D


Those of you who have aggregated their blog feeds on Planet OpenSUSE but haven't mentioned their blog url on their Connect profile, will not be rewarded, same goes for Lizards blog. Though rectifying this is in the pipeline, but not now.


Please check it out, let me know if you like it or even if you dislike it completely, I think I can do something about that. :)

Monday 25 June 2012

Karma update on Widget view


Weekly Report (14 june - 21 june)

In my last report I mentioned about having separate developer and marketing Karma, as I had problems comparing tweeting with Bug fixes or commits. Well, I have accomplished that. We have separate Developer karma for score achieved on fixing bugs or making commits on OBS, Marketing karma for score achieved on tweeting  and posting on Planet openSUSE. Appropriate badges are awarded on securing a higher developer or marketing karma.


During this time  Michal my mentor, tried deploying Karma on the Connect website, but the karma cron script would not run to completion for all Connect users due to certain limits on server or gateway or both. So the idea was to reorder the query and run cron script more number of times with less users each time.


Within the cron script, I save the time of the last run as metadata belonging to a user entity. Then use this metadata to order the query and get 5 users who have been the longest without updating. Cron script now runs every five minutes for 5 users who have remained longest without updating.


This would work with users who already have the karma last update time saved in the database somewhere, so the cron script also assigns this metadata to all users to whom it has not been assigned yet.

 
Then I also worked out the updation of karma on widget view (this is not a part of the cron script). If karma was updated more than one hour ago then karma details are updated on widget view. Assuming Connect has 2000  - 3000 users it would take 33 - 50 hours to update for all users and come back to the first one, if we relied only on the cron script.


Hence, this suffices for situations when karma has not been updated in time by the cron script.

Tuesday 12 June 2012

Integration of Karma Plugin with Twitter


This is my report for the last week and a half(1st june - 11th june).


Firstly, the integration of Karma plugin with Twitter has been accomplished. It fetches tweets of Connect users and those which are intended towards promoting openSUSE are rewarded with Karma points.


Then I also finished off the integration of Planet openSUSE. For all those users whose blog feeds are aggregated on Planet openSUSE and who actively post are rewarded with karma points, provided they have specified their blog in their profiles on Connect.


Karma pluigns now has the ability to update user score and keeps track of when it last updated so as to avoid duplicacy when it  again fetches user activities.


It also shows exactly how many bugs a user fixed, tweets and posts they had put up, for which they are being rewarded.

Now the problem that I am facing currently and on which I am going to work next is that tweeting and posting cannot be logically compared to bug fixing but can be compared to each other. So, there needs to be separate developer karma and marketing karma so that their is logical comparison of scores and appropriate badge distribution.

Also there are certain Connect users who haven't specified their blogs in their profile but their blog feeds are aggregated on openSUSE and openSUSE members who blog on Lizards blog also deserve to be rewarded.