From Organic Design wiki
Revision as of 13:37, 21 June 2015 by Nad (talk | contribs) (AjaxComments 2.0: and 2.5)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Info.svg This code is in our Git repository here.

Note: If there is no information in this page about this code and it's a MediaWiki extension, there may be something at mediawiki.org.

This extension replaces the normal MediaWiki talk page functionality by allowing comments to be added at the bottom of the page or replies made to existing comments. Authors can edit or delete any of their comments as long as no replies have been made to them, and sysops can edit or delete any comments at all (deleting a comment with replies will also remove all the replies). The system is mainly JavaScript and jQuery and all updates are done via Ajax. The discussion data is still stored in the article's talk page and is clearly delineated so that the talk page can still be used without interfering with the comment data if the extension is disabled. The comments are currently stored in a non-human readable format though, so although they can coexist with normal talk-page content, they can't be edited without the AjaxComments extension.

AjaxComments 2.0 & 2.5

In May 2015 version 2.0 was written which stores the comments in the database instead (it comes with a maintenance script to copy the existing comments over from talk pages into the new database table and reverts the talk pages back to how they were before comments were added). It logs the comment activity so it still shows up in the page history and recent changes. It also works with the WebSocket extension if it's installed and the server supports WebSockets so that polling the server using Ajax is no longer necessary.

Version 2.5 is for MediaWiki 1.25 and above and uses the new JSON based Extension registration methodology for loading the extension. If you're using a version of MediaWiki older than 1.25, then you should select the MediaWiki 1.24 branch of the code.

1.x Features

  • Activates automatically for articles that have discussion pages removing discussion tab and adding a comments section below the article content
  • Allows registered users to add comments or reply to existing comments
  • Allows comments that a user has previously created to be edited or deleted as long as they have not been replied to yet
  • Sysops can edit/delete all comments
  • All comment interaction is done via Ajax so that the page is never reloaded
  • Comment editing integrates properly with wikitext by retrieving the comment source via ajax
  • The data that makes up the comments is stored in the talk page but is not in a humanly readable format
  • The talkpage data is able to coexist with existing talk page content and is delineated by headings so it's clearly visible to avoid accidental editing
  • Displays gravitars for users with confirmed email addresses who have registered a gravitar
  • Users can like/dislike other users comments but not their own comments or comments they already like/dislike
  • Liking an already disliked comment will un-dislike it, and visa-versa, disliking a previously liked comment will unlike it.

Issues / Todo

  • The comment data is stored in the articles talk page, but is currently not human readable and does not work with existing talk page content
  • The date/time of posts is not currently displayed in the users timzone or with their time formatting preferences
  • At the moment, the most recent comments are first, but some sites may prefer most recent at the bottom
  • Because the comment storage method is not human-readable, the diff isn't very useful
  • Mousing over the like/dislikes should show the users names
  • Input box size should be set by JS to match the size and position of the comment text
  • Editing should return only the rendered text content, not the whole comment and all its replies
  • Going to the talk page should redirect to the comments
  • The tab url can be changed to #comments

See also