Make it possible for logged-in user to get a reminder of an article after a few
days. Possibility to enter a short comment.
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.
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?).
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.
- T88781: Create a Timer based reminder for workflows, a more complicated version of this idea
Primary mentor: <Phabricator Username>
Co-mentor: @Mattflaschen-WMF, @Mooeypoo
Estimated time for a senior contributor:
- T96061: Add a "Mark all as read" button at Special:Notifications for no-JS users
- T75209: The document title should be dynamically updated to include a (n) notifications count in the browser title bar.
- T35379: Set $wgBlockDisablesLogin to true when someone selects the "private wiki configuration"
- T137067: After editing redirects on mobile-web, you are linked to the target instead of &redirect=no