Remind me of this article in X days
Open, NormalPublic

Description

Author: stephan.walter

Description:
Feature request:

Make it possible for logged-in user to get a reminder of an article after a few
days. Possibility to enter a short comment.

example:

Remind me about "Jacques Chirac" in [_5] days.
Comment: [need to check term as president for NPOV_________]
[submit]

After the time has elapsed, you'd get an Echo notification to remind you.


Milestones:
Week 0 (May 23-29) - Perform community bonding, open my first blog and did a lot of Echo reading (both code and documentation),
start by figure out how to create a new notification type and write a feature flag for the feature.
Week 1 (May 30- June 5) creating a new notification type and write a feature flag for the feature. Creating new Article Reminder API
Week 2 (June 6 - June 12) Enriching the Article Reminder API
Week 3 (June 13 - June 19) Exploring the time delay mechanism for the API and improve the API
Week 4 (June 20 - June 26) Creating the UI button that opens up the Article Reminder menu and popup menu itself
Week 5 (June 27 - July 3) Continue developing the popup menu, fix API code review comments
Weeks 6-7 (July 4 - July 17) Continue developing the popup menu, fix API code review comments
Weeks 8-9 (July 18 - July 31) Continue developing the popup menu, fix API code review comments
Week 10 (August 1 - August 7) Writing a new and improve notification type (based on the first POC)
Week 11 (August 8 - August 14) I'll explore limitation of non-supported JS explorers and try to figure out a solution (deliverable?).
Week 12 (final) (August 15 - August 21) I'll be available to bugs, change requests and all kind of things that comes up in projects like these (deliverable?).


Summery:

So!
The final commits of my project are super close to being merged into the master branch, all comments were addressed, the feature is working fluently - I am a proud mother of a WikiMedia feature!

The internship was very interesting and enriched experience: at first, I did not tell my left from right (all the new tools I had to learn, the methods, the conventions, the alternatives of doing every little thing) but as usual, as in all workplace, I managed to get on top of things and started to make a progress.

My mentors were extremely friendly and supportive, gave me all the information needed and beyond, were super available and gave me the feeling that I can approach them with any question, anytime.

The outcome of the feature is a game changer for the Echo extension in WikiMedia - it is the first scheduled feature in the extension, instead of being just responsive to the actions the users are doing right now.

The feature itself is protected with a feature flag, and placed in the UI "front row" - a new tab near the Wishlist, Edit and History tabs.
When the user clicks on it, a popup is opened and a page reminder form is shown inside of it.

The user filling the form and then save the reminder. Then there is a backend which set this scheduled event into the data base and a maintenance script that will run every 15 minutes and checks whether there are scheduled events needed to be activated.

When and if the maintenance script finds such event(s), those events are being triggered through the system and the user is getting a new notification about his reminder with his own comment (if he adds one, of course).

There are many next steps to this feature, this is only the MVP of it (multiple reminders per page, reminder deletion, reminder edit
and event reminder snooze (!) BUT in the Outreachy internship time frame, the MVP was more than enough.

I would like to thank again to my mentors and of course to Outreachy who gave me this opportunity to grow and learn.

Ela.


See also:

Primary mentor: <Phabricator Username>
Co-mentor: @Mattflaschen-WMF, @Mooeypoo
Skills required: PHP, Javascript, familiarity with MediaWiki in general
Estimated time for a senior contributor:
Microtasks:

Details

Commits
Unknown Object (Diffusion Commit)
Reference
bz582

Related Objects

StatusAssignedTask
OpenEee888
OpenEee888
OpenEee888
OpenEee888
OpenEee888
OpenEee888
ResolvedEee888
ResolvedEee888
OpenEee888
InvalidEee888
OpenEee888
OpenEee888
OpenEee888
OpenEee888
OpenNone
OpenNone
OpenEee888
ResolvedEee888
OpenEee888
OpenEee888
OpenNone
OpenNone
DeclinedEee888
There are a very large number of changes, so older changes are hidden. Show Older Changes

Ok I will install Mediawiki-vagrant and get Gerrit to push the microtask. I did update my subtask, I may tweak it later before the deadline.

Ok I will install Mediawiki-vagrant and get Gerrit to push the microtask. I did update my subtask, I may tweak it later before the deadline.

Great. You will still be able to tweak even after the deadline, based on our back-and-forth, but there should have been something there at least before the deadline :)

Let us know if you get into any problems with the microtask or installation of the development environment.

I got the following error after running vagrant up in git


would that be problematic?

Also how do I change bios to allow the virtual machine to run?

I got the following error after running vagrant up in git


would that be problematic?

Also how do I change bios to allow the virtual machine to run?

Hey, I'm actually not entirely sure, and it depends on your OS, but a quick google search found this:
https://www.howtogeek.com/213795/how-to-enable-intel-vt-x-in-your-computers-bios-or-uefi-firmware/

Try to see if the internet is helpful in solving this issue.

Ok so I generated my SSH keys and linked gerrit and wikitech, do i need to be added to the developer's group?
every time i run git clone ssh://<username>@gerrit.wikimedia.org:29418/mediawiki/core.git it tells me


if there a way to push a code commit without using git?

It looks like there is an issue with the SSH key pairing - try to see if you can fix it. I'll have to discuss with the other mentor and mentorship managers whether we can accept code from Github, but it can be a good idea to put it there initially as a start, if your gerrit isn't working for now, so at least you have something.

If the issue is purely technical, I'm sure we can work it out. Try to see if you can fix the SSH key assignment (re-submit, perhaps? create them again and make sure the private/public key were given correctly, etc) -- if you can't, post the fix to GitHub and we'll try to sort out the gerrit issue during SF work hours, when there are more people to consult.

SpookyGhost8 added a comment.EditedApr 3 2017, 1:02 AM

Its in my GitHub for now, honestly thinking this is technical issue unless there is a hidden step missing from the documentation pages.

Its in my GitHub for now, honestly thinking this is technical issue unless there is a hidden step missing from the documentation pages.

Can you make sure there's a link to the github from your proposal?

The technical issue needs to be resolved quickly anyways, so let's try to see if you can try to set up those keys again, and if you can't, we'll see if there's someone that can help with it.

What operating system are you using?

I just updated my draft with a direct link to my GitHub solution and claimed the task for now.

I am on Windows 8, 64 bit. I might try reinstalling all the applications tomorrow so see if different results occur.

General recommendation: Please see https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker#Feedback.2C_questions_and_support for best places to ask general development questions. Thanks.

JKatzWMF removed a subscriber: JKatzWMF.Apr 3 2017, 4:39 PM

I chose this project because I was thinking that with my skills I could work on the appearance of the remainders for the articles. My questions would be if it is a viable idea for this project? And if it's not, are there any others opportunities/projects to put into practice and develop this skills whithin your organization?

Thanks for your interest!

It does not appear you have applied for GSOC this round (please correct me if I'm wrong), and the deadline has passed. However, we participate in multiple mentoring programs, so please check back in the future. We encourage you to apply.

Zppix added a subscriber: Zppix.Apr 3 2017, 9:14 PM

I like the idea, I believe if iirc i remember suggesting this before my time as a volunteer dev but never asked offiically for it, if we infact do this let me know and ill gladly help out with development.

Zppix awarded a token.Apr 3 2017, 9:14 PM
Mattflaschen-WMF assigned this task to Eee888.
Schnark added a subscriber: Schnark.May 5 2017, 7:49 AM

Just to mention it: I have a user script, that does (among other things) offer to remind you of an article, storing everything locally: https://de.wikipedia.org/wiki/Benutzer:Schnark/js/notizen.js If anyone wants to borrow ideas or code from this, feel free to do so. I'm sorry it has almost no comments, and the documentation is in German, but you can just try it out by adding mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/notizen.js&action=raw&ctype=text/javascript'); to your common.js. The script itself has an English localization, so you should be able to use it.

Eee888 updated the task description. (Show Details)May 5 2017, 7:17 PM
Eee888 updated the task description. (Show Details)May 19 2017, 1:10 PM
Eee888 updated the task description. (Show Details)
Eee888 updated the task description. (Show Details)May 29 2017, 7:29 AM
Quiddity removed a subscriber: Quiddity.Jun 1 2017, 9:03 PM
Mvolz removed a subscriber: Mvolz.Jun 21 2017, 1:04 AM

I cleaned up the milestone formatting and dates without actually changing anything (week 6 was really week 6-7, and I just merged week 7 in since it was the same thing anyway)

Eee888 updated the task description. (Show Details)Jul 16 2017, 10:01 AM
MGChecker added a subscriber: MGChecker.
Eee888 updated the task description. (Show Details)Aug 22 2017, 7:45 PM

There's Extension:Reminder, which seems to implement this functionality.

There's Extension:Reminder, which seems to implement this functionality.

I've explored this Extension, using the test wiki provided, but I haven't managed to create a reminder and the extension has apparently UX issues like all the process is abandoned because I've tried to create a link to [[test]] but the right title was [[Test]]. There is to few documentation to have enough information I'm afraid. :/

Also the goal is to provide a reminder system fully integrated to the Extension:Notifications.

czar added a subscriber: czar.Sep 8 2017, 2:56 AM
srishakatux added a comment.EditedJan 11 2018, 9:08 PM

Hello! Thank you for featuring this project in the previous edition of Outreachy. As this task is on the Outreach Programs workboard, I'm wondering what else is remaining on it before it can be resolved? Thank you!

Hello! Thank you for featuring this project in the previous edition of Outreachy. As this task is on the Outreach Programs workboard, I'm wondering what else is remaining on it before it can be resolved? Thank you!

IIRC, there is some code review to do, plus QA.

MusikAnimal added a subscriber: MusikAnimal.
czar awarded a token.Apr 2 2018, 2:13 AM
Restricted Application added a project: Growth-Team. · View Herald TranscriptJul 10 2018, 5:48 PM

As T161823 got closed as a duplicate of this task, some work towards resolving this task has taken place in Outreachy Round 14.

What is the status of this task in general (and its subtasks, which are nearly all assigned to @Eee888)?
@srishakatux: I assume that some work is left and therefore this task should be moved on the Outreach-Programs-Projects back to the Backlog column after clarifying what's left, plus maybe resetting the assignee field?

Could someone from the Growth-Team clarify please, to not leave this in a confusing limbo which won't allow other contributors to chime in?:

Does someone plan to review code linked in

What's left to do in