Status of Badging System - Beta 1


Login or Register to Reply

 
Thread Tools Search this Thread
# 1  
Status of Badging System - Beta 1

Dear All,

Here is the current status of the badging system:
  • The Beta 1 phase of the new badging system is close to completion.
  • 42 prototype badges have been "allocated"
  • 6 prototype badge slots are held in reserve
  • The "alert you have new badges" prototype is running and is currently under testing.
  • The Beta 1 system seems to be running OK.

TODO:
  • Continue logging, testing and debugging the "new badge" alerting system.
  • Clean up PHP code including creating include files, functions, arrays, etc.
  • Let the current Beta 1 system run for a "while" before adding any new major features.
  • Award and write up various member achievement awards based on input and recommendations (when not developing code).

Overall, I'm happy with how quickly we were able to get this rapid development prototype badging system up and running and the results.

Again, a Big Thank You to Ravinder Singh for this idea. Much appreciated. I have enjoyed coding this project and now see how valuable a badging system can be for forum Members, Moderators and Admins. Great idea Ravinder.

Also, I greatly appreciate those who have been patience with me as I have quickly put this prototype together over the holidays. Thank You.
These 4 Users Gave Thanks to Neo For This Post:
# 2  
Update:

Based on testing, I just changed the "Time A Member" badge (the clock) logic to:

Code:
if ($time_inactive < $year) {
    if ($years_a_member >= 10) {
        $color['fajoin_time'] = 'black';
    } elseif ($years_a_member >= 5) {
        $color['fajoin_time'] = 'indigo';
    } elseif ($years_a_member >= 2) {
        $color['fajoin_time'] = 'blue';
    } elseif ($years_a_member >= 1) {
        $color['fajoin_time'] = 'limegreen';
    } else {
        $color['fajoin_time'] = 'lightgray';
    }
} else {
    $color['fajoin_time'] = 'red';
}

Basically, changed the colors to make the badge more accurate and appealing.

Note: Some recent members (over the past week) with only a few years active here may see a badge color change.
# 3  
Update:
  • Testing is going well. Worked out a very few minor bugs with the alerts formatting.
  • Installed the alert code to mobile (bottom of the screen) and testing. Works fine.
  • Still testing for exceptional conditions, etc.
This User Gave Thanks to Neo For This Post:
# 4  
I have been testing the badging system, and it works really good.

The only hiccup (with I have a work-around for) is that when I add new badges to the grid in the future, which includes enabling the "Reserved" badges, this causes a change in the hash values and also in the arrays, so a "new badge alert" is issued.

I created a work-around which reverses the order of the PHP array_diff_assoc() call and then compares the size of the two arrays (in forward and reverse order), and so when I bring a new badge on line to the grid, there is no alert generated.

So, I may bring all of the badges "online" even though they are now in "reserve" so that all badges will have a default color assigned; and then assigning a new color to a member (assigning the badge a state) will insure a proper alert.

These are small nuances from testing, and actually, could just bring them all on line and turn off alerts for a day or two, and then turn alerts back on, and it would work out as well.

At some point, when we code a new live application, we need to say "it's good enough" and stop trying to make the code perfect, and I'm getting close to that point.

Basically, the badging system and the alerts work fine and I continue to test them for exceptional situations, and basically, not 100% as I would like, but very good Smilie
These 2 Users Gave Thanks to Neo For This Post:
# 5  
TODO Idea:
  • Create database table and upload user "new badge" messages to the DB.
  • Create a page which updates in near real-time when users are issued new badges.
  • Create a filter selection on that page where the badge-alerts can be filtered based on status, user group id, registration time, etc.

This kind of a page will useful for both moderators and members a large.

However, this kind of page will be a specific page application, so the updates will only be seen when viewing that page, not just popping up when unwanted. Having this on a single, app-specific page will keep this from being annoying or intrusive.
Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Badging System: UNIX.COM Bug Hunter Badge (New)
Neo
I have moved the bug badge out of reserve and into the main stream. Basically, I will assign a color level like the others, based on who has made a good actionable bug report for UNIX.COM. "Good" means screenshots, links, and even details from web dev tools our the HTML source code. So far,...... What is on Your Mind?
0
What is on Your Mind?
Notes with Ravinder on Badging System Development Part II
Neo
Part II: Current PHP file Beta 73 Not Optimized: <?php $version = 73; $query = "SELECT * FROM " . TABLE_PREFIX . "user WHERE userid='" . $uid . "'"; $usertable = $db->query_read_slave($query); $modaluser = $db->fetch_array($usertable); $modaluser = gmdate("d F Y", $modaluser); $modaluser...... Web Development
48
Web Development
New Badging System - Badges Prototype Beta 1 (Badges Only)
Neo
Today I mapped out the new badging system using FA icons, Beta 1 in no particular order except a 6 x 8 grid: https://www.unix.com/members/1-albums215-picture991.png The prototype HTML code for this layout: <style> .fa-badge-grid { font-size: 1.5em; } .row { ...... What is on Your Mind?
38
What is on Your Mind?