Skip to content
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

Activity tab of course page should have an option to show only new editors #5527

Open
ragesoss opened this issue Nov 2, 2023 · 25 comments
Open

Comments

@ragesoss
Copy link
Member

ragesoss commented Nov 2, 2023

Current Behavior:

The Activity tab shows recent edits by course participants (pulled client-side directly from wiki APIs). However, this feed is often dominated by the activity of active editors, if any, and can't easily be used to check for newcomers who are still active.

Desired Behavior:

Add a button to limit the Activity feed to only new editors (using the same definition of 'new' as we use in the Editors data downloads).

@thekavikumar
Copy link
Contributor

@ragesoss I would like to work on this issue, can you please assign it to me?

@ragesoss
Copy link
Member Author

ragesoss commented Nov 4, 2023

@thekavikumar we don't assign issues, but you are welcome to work on it! please post here if you have any questions.

@thekavikumar
Copy link
Contributor

Sure @ragesoss I'll work on it and will let you know if I have any questions.

@thekavikumar
Copy link
Contributor

@ragesoss I'm not able to run the application locally, I've done all the setup and how do I start the web app?

@ragesoss
Copy link
Member Author

ragesoss commented Nov 8, 2023

@thekavikumar once you've done all the setup, the command guard will start the server, and then you can reach it at localhost:3000.

@thekavikumar
Copy link
Contributor

thekavikumar commented Nov 8, 2023

Yeah @ragesoss sir, I did that but I'm getting this error
image

image

@ragesoss
Copy link
Member Author

ragesoss commented Nov 8, 2023

It looks like your database either not running, or not configured with appropriate username/password.

@thekavikumar
Copy link
Contributor

is it redis-server?

@ragesoss
Copy link
Member Author

ragesoss commented Nov 8, 2023

No, the mysql server.

@thekavikumar
Copy link
Contributor

Okay, so I've to install the mysql server in my wsl first and start the service then use the guard command, right?

@ragesoss
Copy link
Member Author

ragesoss commented Nov 8, 2023

Okay, so I've to install the mysql server in my wsl first and start the service then use the guard command, right?

Yes.

@fillingtothemomo
Copy link
Contributor

@ragesoss I inspected the articles.json and users.json of a course to see how exactly the data is stored.
WhatsApp Image 2024-02-08 at 06 21 15_0f7b48ce
WhatsApp Image 2024-02-08 at 06 21 41_b3de0a4c
an easy way would be to sort the users in a course by registration date , however I am confused as to where the diff data is actually being fetched from, if you could help me out , it would be really helpful.

@prathamVaidya
Copy link
Contributor

There is no open PR. Let me know if anyone of you is active on this one or else I'll take the task. @fillingtothemomo @thekavikumar

@thekavikumar
Copy link
Contributor

@prathamVaidya I'm working on it.

@fillingtothemomo
Copy link
Contributor

Hey @prathamVaidya I'm currently stuck on a bug and will open a pr soon. There are other open issues that you can take up. Thanks

@fillingtothemomo
Copy link
Contributor

@ragesoss fetchRevisionsFromWiki method in app/assets/javascripts/utils/mediawiki_revisions_utils.js fetches the data to be shown by revision handler,
imagethis is how the revisions store data, should i use the user Id and fetch it's registration date and apply a simple sort to display new users firstly? Or do have some other suggestions in how this could be implemented?

@ragesoss
Copy link
Member Author

I think the first step would be to add the registration date to the set of data about each user that is included with users.json. For the revisions data, revisor is the same as username. So the idea would be to filter the revisions for only the set of users who are new, rather than displaying all the revisions.

@fillingtothemomo
Copy link
Contributor

fillingtothemomo commented Feb 13, 2024

So I should add the register date of each user in the file where it is fetching revisions from and store new editors as well and then display them using revision handler ? And how exactly do I go about adding the registration date to each user in the file?

@ragesoss
Copy link
Member Author

Something like that, I think.

@fillingtothemomo
Copy link
Contributor

@ragesoss , when I access the registered_at attribute of the user model in users json builder it shows registered date as null.
image

image

@ragesoss
Copy link
Member Author

You should be able to get all that data into your database by running UserImporter.update_users.

@shishiro26
Copy link
Contributor

@ragesoss, I’d like to work on this. Could you please update me on the current status of this issue? If it's still open, may I know where the Editor's Download is located? I couldn’t find it."

@ragesoss
Copy link
Member Author

ragesoss commented Jan 2, 2025

This is still open. There shouldn't be any 'Download' link involved with it. It should use data that is already available on the frontend via user.json (which can be edited to include registration date for each user, if it's not already present).

@shishiro26
Copy link
Contributor

Sir, I am referring to new editors (using the same definition of 'new' as we use in the Editors data downloads). Based on the discussion, I believe using the registration_date is not ideal because it shows when the user created their account, not the date they joined the course. My idea is to add a field in the course data that tracks the date a user joined the course, rather than relying on their Wikipedia registration date. This way, we can track new editors. Additionally, since you mentioned 'new' in the Editors data downloads, could you kindly clarify where the Editors data downloads are located? I’d like check it and implement it accordingly

@ragesoss
Copy link
Member Author

ragesoss commented Jan 3, 2025

I'm unclear about what the date a user joined the course is for. The definition of 'new' we want to use here is if the account was registered after the start date of the course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants