Coming soon to v11: Achievements

Post

Posted
Rating:
Item has a rating of 5 (Liked by Adam EdingtonLiked by mythus)
#10188 (In Topic #3519)
Avatar
Site director
Patrick Schmalstig is in the usergroup ‘Administrators’
Hello everyone,

I thought I would give you all a look at a new non-bundled addon in the works for Composr CMS v11: achievements.

Achievements are badges that members and staff can earn (on their profile and forum posts) for meeting certain requirements. The achievements system is very flexible; you can define your own achievements and their settings and requirements (called "qualifications"). A "qualification" is a piece of logic defined as a hook which returns a number completed and a number required.

For each achievement, you can define multiple qualifications ("AND"… must meet all of them), or you can define sets of qualifications ("OR"… you only have to complete one of the sets to earn the achievement).

Achievements can also be marked read-only (you cannot earn them if you did not already earn them), permanent (once you earn it, it cannot be revoked if you later no-longer meet the requirements), or hidden (not publicly visible, like a secret achievement).

You can use your own image as the badge… either as an absolute URL, relative path, or theme image code.

The entire configuration of the achievements system is defined as an XML file. A default set of achievements will be included for you when installing the addon to help you get started.

A tutorial will also be written and put up on composr.app .

Image

Achievements module showing available achievements and the member's progress towards earning them

Achievements module showing available achievements and the member's progress towards earning them

(Click to enlarge)


Image

XML configuration for achievements

XML configuration for achievements

(Click to enlarge)


Now, the achievements system is VERY complex. And calculating progress requires a lot of calculations and queries. As such, progress is not real-time. Instead, it is calculated for a member on each day they log in. And the system scheduler will randomly re-calculate achievement progress for 5 members on every cycle.


Why did I decide to develop such a complex non-bundled addon? Actually, this is primarily for composr.app . As we are switching to a Bazaar (community support) model, I wanted to come up with more ways to encourage members to interact and contribute. And I felt an achievements system is a huge way that can be done.

The idea of achievements actually originated from Chris Graham: 0000871: Admin achievements system (gamification) - Composr CMS feature tracker . The original premise was to encourage webmasters to explore the full range of Composr features; they would earn achievements for setting up certain content / pages and doing different things. I plan to implement these as well, but they will be "hidden" achievements since particularly only staff would get those. Most would be easy to implement because most log an action in the actionlog when completed. And there is a qualifications hook for counting the number of a specific action in the actionlog done by a member.

Last edit: by Patrick Schmalstig


  • Need support for version 10? The core development team is no-longer offering it for free (unless it's a critical bug that breaks your entire site or a serious security hole). Please consider hiring me instead if you need v10 support or a non-critical bug fix. Or, ask the community in the forums!
  • Do you enjoy Composr? Please consider contributing your talent to the project or recommending Composr to others. Even small contributions make a big impact in the Composr community.
  • Do you have feedback for us? You can report bugs, suggest features, or give feedback on the Free support options page.
  • Do you need professional service with your Composr website? Please consider contracting me for your needs through my company, PDStig, LLC. Doing so will also help fund Composr development.
  • Want to watch live streams of me developing Composr CMS? Please subscribe to me on Twitch to be notified when I stream. Composr development streams are usually spontaneous / not scheduled in advance as work priorities come first.
Online now: No Back to the top

Post

Posted
Rating:
Item has a rating of 5 (Liked by mythus)
#10189
Avatar
Site director
Patrick Schmalstig is in the usergroup ‘Administrators’
Additional screenshots to showcase how the achievements will be displayed… just a simple flex grid of achievements a member earned both on their profile and on their Conversr forum posts.

Hovering over an achievement will display its title and the date/time the member earned it.

Clicking one will take you to the achievements page and scroll down to the achievement you clicked.

Image

Profile

Profile

(Click to enlarge)


Image

Forum posts (Conversr only)

Forum posts (Conversr only)

(Click to enlarge)


(Karma is a separate non-bundled addon new to v11 as well… it is already available for use)

Last edit: by Patrick Schmalstig


  • Need support for version 10? The core development team is no-longer offering it for free (unless it's a critical bug that breaks your entire site or a serious security hole). Please consider hiring me instead if you need v10 support or a non-critical bug fix. Or, ask the community in the forums!
  • Do you enjoy Composr? Please consider contributing your talent to the project or recommending Composr to others. Even small contributions make a big impact in the Composr community.
  • Do you have feedback for us? You can report bugs, suggest features, or give feedback on the Free support options page.
  • Do you need professional service with your Composr website? Please consider contracting me for your needs through my company, PDStig, LLC. Doing so will also help fund Composr development.
  • Want to watch live streams of me developing Composr CMS? Please subscribe to me on Twitch to be notified when I stream. Composr development streams are usually spontaneous / not scheduled in advance as work priorities come first.
Online now: No Back to the top

Post

Posted
Rating:
Item has a rating of 5 (Liked by Adam Edington)
#10200
Avatar
Site director
Patrick Schmalstig is in the usergroup ‘Administrators’
I've made a few adjustments to the styling of the achievements screen…
  • Progress bar has a border; no seeded background by default because it clashed with the zebra stripes of the table
  • I put each requirement in a box, and the box is color-coded according to if the requirement is met (red = no, green = yes)
  • I made the "or" more visible to clearly indicate you do not have to complete all requirements, and to separate the groups of requirements

Image

Achievements screen

Achievements screen

(Click to enlarge)


  • Need support for version 10? The core development team is no-longer offering it for free (unless it's a critical bug that breaks your entire site or a serious security hole). Please consider hiring me instead if you need v10 support or a non-critical bug fix. Or, ask the community in the forums!
  • Do you enjoy Composr? Please consider contributing your talent to the project or recommending Composr to others. Even small contributions make a big impact in the Composr community.
  • Do you have feedback for us? You can report bugs, suggest features, or give feedback on the Free support options page.
  • Do you need professional service with your Composr website? Please consider contracting me for your needs through my company, PDStig, LLC. Doing so will also help fund Composr development.
  • Want to watch live streams of me developing Composr CMS? Please subscribe to me on Twitch to be notified when I stream. Composr development streams are usually spontaneous / not scheduled in advance as work priorities come first.
Online now: No Back to the top
1 guest and 0 members have just viewed this.
Back to Top