User:JayanthVikash/GSoC/Reports/Introductory

Google Summer of Code 2024 - Introductory Report

edit

 

Project - Improve InlineComments extension (T359771)

edit

Synopsis

edit

InlineComments (https://www.mediawiki.org/wiki/Extension:InlineComments) is a relatively new MediaWiki extension that provides a long-missing feature for MediaWiki: the ability to do inline annotation on pages, in the manner of Google Docs, Confluence and other content-management systems. It is a powerful tool designed to facilitate discussion and collaboration directly within the content of a wiki page. This extension allows users to add comments inline with the text, enabling a more interactive and engaging way to discuss and review content. This report contains the information about my mentors, items planned to be completed by this project, corresponding patches and my overall experience so far.

Mentors

edit

User:Yaron Koren, User:Bawolff

Deliverables

edit
  • Add user mentions, i.e. selecting a user or users to "ping" about the current discussion by typing "@" and then selecting a username from the dropdown (T355942)
  • Make sidebar creation more skin-neutral - currently, the "sidebar" in which comments are displayed is created on somewhat of a skin-by-skin basis; it would be good to have the code handle all skins in a standard way, via CSS and/or JavaScript (T355948)
  • Add correct display of correctly-linked username, on comment creation - currently, it is only displayed correctly for comments created before the page was loaded (T355943)

Overview of tasks completed

edit
  1. Implement user ping feature in InlineComments (1037494) - T355942
  2. Add Echo notification for user pings in comments (1038788) - T355942
  3. Add Echo as a phan dependency of InlineComments (1039595)

Key Accomplishments

edit
  • Implemented user ping functionality on comment submission
  • Handle usernames with spaces during annotation and linking
  • Make user pings and timestamp generation to happen in real-time (Completes T355943)
  • Add test cases for the implemented functionality
  • Implemented user notification based on the pings in comments using Echo extension

Patches

edit

Experience

edit

Working on the GSoC project has been a thrilling and fast-paced experience so far. Initially, it took me some time to get up to speed with the code-base and the project requirements, but the support from my mentors made a huge difference. They were always cheerful and ready to help, guiding me through any obstacles I encountered.

So far, I've implemented user mention functionality on comment submission, ensuring that usernames with spaces are properly handled during annotation and linking. I also made sure that user pings and timestamp generation happen in real-time, which enhances the interactive experience. Additionally, I added test cases to ensure the new functionality works as expected. On top of that, I integrated user notifications based on the pings in comments using an Echo extension hook.

Overall, I'm learning a lot while working on this project, and it's been an incredibly rewarding journey so far.