Jump to content

User:JayanthVikash/GSoC/Reports/Introductory

From mediawiki.org

Google Summer of Code 2024 - Initial 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.