Jump to content

Achievements - Days/Months/Years of Active Membership


iacas

Recommended Posts

I was disappointed to learn that the "time since joining" feature for achievements is just that: a guy who signed up and posted once on January 1, 2001 will have gotten a "20 years since joining!" achievement on January 1, 2021.

How about an achievement rule that checks for active use of the forum? When was there first post, and their most recent? On how many days did they make a post, or at least visit (or a reaction, or vote in a poll, etc. Some sort of activity)?

That would mean a LOT more than "this guy registered and hasn't been back since that day, but it's 20 years later now" achievements.

Link to comment
Share on other sites

3 hours ago, Dll said:

It doesn't work that way. It's based on when the user logs in, so won't award it to someone purely for registering a year ago and not logging in since. 

It does work that way when you re-process/rebuild achievements. Doing so triggers the "user logs in" part of the rule and if they registered over ten years ago, even if they never posted, they are awarded the "10 years of membership" achievement (3650 days).

So the feature request is for some way of measuring some actual activity like a post, a reputation given, or something to indicate the member was actually on the site to recognize "active membership" over a span of years or months or whatever.

@Matt it's a little disappointing that you got this one wrong again given my recent ticket about it. Rebuilding achievements awarded tons of points and achievements to people that logged on one time 14 years ago and never came back again.

Edited by iacas
Clarifying
Link to comment
Share on other sites

@iacas - this isn't how the system has behaved on our community. The rebuild appears to look at the last logged in date and gives the badge based on that. What that does do is award people badges for longevity even if they haven't logged in recently, as long as their last login was > the number of days after their registration for the rule that's been set. But that seems reasonable enough to me. 

Edited by Dll
Link to comment
Share on other sites

8 minutes ago, Dll said:

@iacas - this isn't how the system has behaved on our community. The rebuild appears to look at the last logged in date and gives the badge based on that. What that does do is award people badges for longevity even if they haven't logged in recently, as long as their last login was > the number of days after their registration for the rule that's been set. But that seems reasonable enough to me. 

That's my point.

If someone creates an account on September 7, 2010, and never visits the site again, if you rebuild achievements on September 7, 2021… they'll be awarded the "10 years of membership" (3650 days) achievement.

That's why I want something that recognizes a time frame of active membership.

There's no value in giving a "10 years of membership (or on my forum soon, 20) to members who haven't visited in 19 years. That's goofy. It's great that moving forward there's a separate "user logged in" table but that doesn't and won't ever help someone with a long history like this, if the achievement rule is set up like that.

I was told by the Support folks on my case to file a feature request for this… so here I am, doing that.

Link to comment
Share on other sites

5 minutes ago, iacas said:

That's my point.

If someone creates an account on September 7, 2010, and never visits the site again, if you rebuild achievements on September 7, 2021… they'll be awarded the "10 years of membership" (3650 days) achievement.

That's why I want something that recognizes a time frame of active membership.

No, you've misunderstood my meaning. From what I've seen on our community, if someone signs up on September 7th 2010 and never visits again, rebuilding achievements on September 7th 2021 doesn't award them anything. But if they sign up on September 7th 2010, their last visit was on September 7th 2020 and you rebuild on September 7th 2021, then they will be awarded the 10 year badge. As I say, it's based on their last visit, even if that wasn't recent but was > than the number of days after their registration set in the rule. 

Edited by Dll
Link to comment
Share on other sites

6 minutes ago, Dll said:

No, you've misunderstood my meaning. From what I've seen on our community, if someone signs up on September 7th 2010 and never visits again, rebuilding achievements on September 7th 2021 doesn't award them anything.

It does. You've got this one wrong. I had a whole support ticket about it. The "user logs in" event in the rule is triggered by the rebuild of the achievements.

Link to comment
Share on other sites

Just now, iacas said:

It does. You've got this one wrong. I had a whole support ticket about it. The "user logs in" event in the rule is triggered by the rebuild of the achievements.

Honestly, I don't. It may not be the case on your community, but we have a clear difference in the numbers of people who have been awarded these sort of badges and the numbers of people who have been registered long enough to receive them if it was solely based on the difference between the date of the rebuild and their date of registration.

Link to comment
Share on other sites

You do. From support:

"An achievement rebuild will always trigger the rule check. The award is for 365 days since joining so has been correctly awarded. I'm not seeing any issues here."

"The "User logs in that day" actually just the trigger to run checks. What is being checked however is days since registration. When you rebuild, it would trigger everything to be checked, as you are essentially manually triggering them. This at present is working as per design."

"There is currently no method to reward members who have been a long time user since before Achievements or for a long time in general without some action by the user. However, you can certainly suggest a change in our official Feature Suggestion forum for further evaluation."

 

Link to comment
Share on other sites

We can go round in circles for hours here. But ultimately, if that were the case, every single person registered on our community prior to certain dates would be awarded longevity badges, and that simply isn't the case. We rebuilt just a few days ago, and the only people who have been awarded the badges are those who have logged in enough days after registration for the rules we've set to apply. 

Link to comment
Share on other sites

1 minute ago, Dll said:

We can go round in circles for hours here.

And yet I'm the guy who filed a ticket specifically because of this thing and was told by IPS themselves that it was working as intended, and that an achievement rebuild will always check the registration date, and so on.

Stop posting in this topic please. You're wrong about this, per the results I saw on my forum and per IPS saying so themselves.

I'll refer you to the second quote from IPS above:

"The "User logs in that day" actually just the trigger to run checks. What is being checked however is days since registration. When you rebuild, it would trigger everything to be checked, as you are essentially manually triggering them. This at present is working as per design."

Link to comment
Share on other sites

image.thumb.png.b3049bc38730436258d0b113dd27f4ba.png

IPS is saying, and I saw on my own forum, that "when" is triggered by a rebuild of the achievements.

1 minute ago, Dll said:

I'm just telling you what we're seeing. It's different to what you apparently are, but I can categorically tell you that the behaviour on our community when running a rebuild is not at all what you're describing.

And again I'll ask you to please stop posting here, as apparently you should file a bug, because the software is working as designed on my site, per IPS.

Link to comment
Share on other sites

10 minutes ago, iacas said:

image.thumb.png.b3049bc38730436258d0b113dd27f4ba.png

IPS is saying, and I saw on my own forum, that "when" is triggered by a rebuild of the achievements.

And again I'll ask you to please stop posting here, as apparently you should file a bug, because the software is working as designed on my site, per IPS.

I'll stop posting after this, as it's obviously difficult for you when someone has an opposing point of view. But, here's a user on this community who registered in 2004 and hasn't logged in since. Based on how you're saying the system works, they should have the one year in badge that IPS use, but don't.

https://invisioncommunity.com/profile/63016-notacake/

We know that IPS have rebuilt their ranks/badges at least once, so I assume that means this community isn't working in the way you're describing either.

Link to comment
Share on other sites

3 minutes ago, Dll said:

I'll stop posting after this, as it's obviously difficult for you when someone has an opposing point of view. But, here's a user on this community who registered in 2004 and hasn't logged in since. Based on how you're saying the system works, they should have the one year in badge that IPS use, but don't.

It's not an "opposing point of view." This isn't a matter of opinion.

According to IPS, the "user logs in for the day" condition is triggered by a rebuild of achievements. The system is working "as designed" on my forum, where these occurred:

image.png.cd7e03cc0cc0b7e188250f99d590b2

image.png.5ef37fc79dd619c9e7de53a91ce62a

image.png.10aaf0e5d4532dcd0f254bf4d376b1

He shouldn't have gotten any of those badges, but rebuilding the Achievement Rules triggers the "member logs in for the first time that day" condition and since he registered 9 days, 36 days, 365 days, or 3650 days ago (not this member but thousands of others), they get the achievement, the points, the badge, etc.

This is working "as designed" by IPS.

Link to comment
Share on other sites

1 minute ago, Dll said:

Well, as I say, that's not what we're seeing and it's not what's happening on here. 

I asked to have the ticket re-opened. But for the fifth time or so… that's what they told me. That it's working as designed. They also told me to create this feature request.

Link to comment
Share on other sites

3 minutes ago, iacas said:

I asked to have the ticket re-opened. But for the fifth time or so… that's what they told me. That it's working as designed. They also told me to create this feature request.

Just out of interest, based on what you're saying, this user on your site should have been awarded your one year badge, but haven't. Why would that be?

https://thesandtrap.com/profile/62125-teal379/

Link to comment
Share on other sites

11 minutes ago, Dll said:

Just out of interest, based on what you're saying, this user on your site should have been awarded your one year badge, but haven't. Why would that be?

https://thesandtrap.com/profile/62125-teal379/

Because I disabled the rules and then re-ran the achievements again after IPS told me that it was working as designed. You'll notice that I don't even have a time-based award, and I've been on the site for quite awhile: https://thesandtrap.com/profile/1-iacas/.

32 minutes ago, Dll said:

I'll stop posting after this

Hmmm.

Link to comment
Share on other sites

Well, I don't know when you last ran the rebuild or what version you're running. But if it was a while ago or prior to the latest version, perhaps it'll work as you'd expect now. As it certainly is for our community using 4.6.5.1 and appears to be working the same way on this community as well. 

Link to comment
Share on other sites

21 minutes ago, Dll said:

Well, I don't know when you last ran the rebuild or what version you're running. But if it was a while ago or prior to the latest version, perhaps it'll work as you'd expect now. As it certainly is for our community using 4.6.5.1 and appears to be working the same way on this community as well. 

I didn't even upgrade to 4.6.x until 4.6.5.1. Last week. I was still on 4.5.x until after 4.6.5.1 was out. I set up my achievements, rebuilt them, and saw the issue. Posted in the topic I linked to earlier, talked with support last week, and eventually re-built them again without the "time since registration" achievements.

Again, I had linked to the other discussion earlier:

 

Edited by iacas
Link to comment
Share on other sites

  • Management

There's a bit of confusion here from my brief responses. I'll be a little more verbose in this reply. 😄

Here's how the system should work and why:

The rule 'Member logs in for the first time that day'...

image.png 

... offers two options. "Time since registered" and "concurrent daily login". These are two different things.

The time since registered, is simply an award based on the length of time since they joined.
The concurrent daily log in is simply an award based on the number of days concurrently logged in (so logged in daily without fail for N days).

This rule is triggered by a new session being started. A new session is started in the code for you when you either manually log in with a form/button or visit with cookies stored.

Starting with Invision Community 4.6, we record the log-in date in a separate table.

image.png

With 4.6, when a session is created, a row is either added or updated for that day.

This means that from 4.6, future rebuilds CAN award the "concurrent log in" badges without a user needing to log in again IF they have logged into your 4.6+ version at any time.

With regards to time since registered: if you chose to rebuild your achievements, the rebuild iterates through your members and looks for valid full members, who have visited at any point since you launched your community and checks to see if their joined date is old enough for the badge.

If you chose not to rebuild your achievements, then you would need to wait until a user comes back and log ins to create a new session and trigger the event.

Hopefully this clears it up. I understand it's a bit confusing and it seems like you've had overlapping answers because it's a fairly complex part of the suite and what happens is really conditional on the length of time since you've upgraded to 4.6, and when you last rebuilt your data and when your users last visited.

Link to comment
Share on other sites

49 minutes ago, Matt said:

... offers two options. "Time since registered" and "concurrent daily login". These are two different things.

Yes, I'm talking about "time since registered" portion. I'd like that to be active membership.

49 minutes ago, Matt said:

This rule is triggered by a new session being started. A new session is started in the code for you when you either manually log in with a form/button or visit with cookies stored.

The rule with the condition "member logs in" is also triggered when you rebuild achievements.

Which means a member who created an account and hasn't been back in 17 years would be awarded a "15 years since registering" achievement when you, having first upgraded to 4.6.x, rebuild achievements.

49 minutes ago, Matt said:

With regards to time since registered: if you chose to rebuild your achievements, the rebuild iterates through your members and looks for valid full members, who have visited at any point since you launched your community and checks to see if their joined date is old enough for the badge.

Exactly. And problematic, and the reason for starting this topic.

49 minutes ago, Matt said:

Hopefully this clears it up. I understand it's a bit confusing and it seems like you've had overlapping answers because it's a fairly complex part of the suite and what happens is really conditional on the length of time since you've upgraded to 4.6, and when you last rebuilt your data and when your users last visited.

Hence my feature request, which is particularly applicable to communities that existed long before 4.6 and the separate table: a way to award members who did "something" (make a post, react to a post, vote in a poll, something) x days, months, years apart.

I'd be okay with "365 days of activity" (i.e. they made posts or voted or whatever on 365 different days) because that means they spent "a year" on the forum, even if it takes them four years to do it.

I think a number of other communities fell into the same hole as I did:

  • They wanted to reward members with badges and/or points (achievements) for being long-time members of the site.
  • They set up a rule like mine above: to award people with badges and/or points when they are a member for a certain milestone.
  • They rebuilt achievements since this is the first time they've had them with 4.6.
  • They were shocked to see that members who hadn't been on the site for more than a day or two fifteen years ago were getting awarded the badges/points for "10 years of membership!" or whatever.

So the feature request is, again, basically this: I'd like a way to give out achievements to members who have been active for a certain period of time.

Edited by iacas
Link to comment
Share on other sites

@Matt - this is working fine for us beyond 365 days and  rebuilding only gives awards to people who have logged in > than the number of days since registration to trigger the rule. Is this likely to be because we prune the IP and device logs after that period?

Edited by Dll
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...