Page MenuHomePhabricator

Comment IDs that reliably identify the comment across revisions/pages (comment names)
Closed, ResolvedPublic

Description

Our current comment IDs only identify the comment within a single revision of a single page (and if you want to get really technical, only within a single parse of that revision). We would also like to have identifiers that reliably identify the comment across revisions/pages – I propose that we call them comment names.

Comment IDs "break" sometimes, because they depend on the comment's parent and its position on the page (both of which can be different if the comment is moved elsewhere or transcluded). Comment names would depend only on the author and timestamp. The trade-off is that they won't be able to distinguish comments posted within the same minute, or in the same edit, so we will still need the IDs sometimes.

Comment names could be used instead of IDs for:

  • Replying to comments when they are transcluded from another page or when it's necessary to resolve an edit conflict. Replying currently can fail in some cases because comment IDs are too precise (T275821, T273413).
  • Subscribing to notifications about topic. Using comment names instead of IDs would avoid inconsistencies when the topic is transcluded on multiple pages, and would let us follow the topic if it's moved to another page.
  • Permanent links to comments/topics that could "follow" the comment if it's archived to a different page (T273341). We would also need a way of finding all pages/revisions where the comment has appeared, but this would be a first step. Existing comment IDs would be used for links within a page (T265268).

Event Timeline

Change 663906 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] Introduce comment "names" to identify comments across revisions/pages

https://gerrit.wikimedia.org/r/663906

Change 663906 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] Introduce comment "names" to identify comments across revisions/pages

https://gerrit.wikimedia.org/r/663906