-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create digesting mechanism #197
Comments
I like the idea. Having a single cron job for rolling digests that handles a few different data sources would keep things neat, if not 100% DRY. I'm not sure how useful the detail part of the summary list would be in practice. That's probably up to teams. Some like HelpScout would intentionally have no detail for privacy/safety reasons. You could consider starting with just the summary, and adding detail later as an enhancement. The rolling digest idea is a neat solution. I guess you'd store counts and detail items in commentmeta? |
Another idea might be a Github-style activity data that shows the activity over a year. It might be easier for visualizing continued activity. I'd combine all the activities into the same color which would convey something like "any contributions is equally important" although it could make sense to weigh different amounts of activities differently (like 10 translations = 1 core comment – not an actual recommendation). This could go hand in hand with a rolling digest as a way to dig deeper into the activity graph. |
So, something like this?
That could work. The only tricky part I can think of is making is making sure it knows which items were already counted, so it doesn't count them twice, or miss any. If we rely on the cron timing we'd probably miss a few entries around the edges of the timing window (e.g., cron runs 500ms "late", so it misses the entry that came in 250ms before it ran). The cron could keep track of all the entries for the past 3 runs, though, and use that to make sure they've all been processed. eg, save an array like It feels simpler to me to just bump the digest when each activity entry is inserted, though. Maybe we could have a DRY function that does the bumping, though, and each of the source inserters call that function? |
👍🏻
I think the details would fit logically in |
Yeah, I like that idea. Probably out of scope for this ticket, but a visualization would really help to see consistency. I'd probably make it based on weeks rather than days, since contributing every day wouldn't be a healthy "work"/life balance. |
@naokomc suggested this for Polyglots:
The daily might be simpler than a rolling digest, but has the downside that activity wouldn't show up immediately, which might confuse folks from time to time. I'm leaning towards the rolling digest still, but don't feel too strongly.
I think that'll work regardless of the digest approach, and might be something that other teams want down the line 👍🏻
Milestones are an interesting idea, and could be a great way to encourage folks and show appreciation. It might be out of scope for this round of changes, but I think it's a good idea to keep in mind for the future. fyi @angelasjin, @josephahaden |
Several contributions require a digest mechanism, since they are so frequent that they would quickly fill up a person's profile and crowd out all other activity. For example, #177, #178, #193 #196 would add things like:
performed 53 actions in HelpScout this week.
(replying, triaging, etc)Wrote 15 comments in 3 GitHub repositories this week
updated handbooks 22 times this week
translated 45 strings this week
approved 82 translated strings this week
Those could use a
<summary>
to allow expanding to see individual items. It could be a rolling digest, so we don't have to wait on crons to get an accurate number.It'd be nice if they all used the same code for DRYness and consistent UX, unless there's a compelling reason otherwise. There are some differences to take into account though:
cc @angelsjin since you've been talking to the teams, do you think they'll have any preferences on how bulk actions like these are displayed on profiles?
The text was updated successfully, but these errors were encountered: