SoC comments and trackbacks
Contents
Incentive
For user feedback on articles (as well as other objects), Geeklog supports both comments as well as trackbacks and pingbacks (simply referred to as "trackbacks" from now on). These are displayed at the end of an article, in two separate sections.
The idea for this project is to merge the two sections, so users interested in any feedback on the article only have to check one list instead of two. This would also allow new ways of interaction, like commenting on trackbacks.
Details
Database Tables
Internally, trackbacks are stored in a table that shares a lot of common fields with the comments table. Merging those two tables should be possible without adding a lot of overhead.
The main difference would be that trackbacks are always top-level comments, i.e. they refer to the article in question, not to other comments.
Moderation
Like comments, it should be possible to (optionally) keep trackbacks in a moderation queue, so that they won't be visible on the site until approved by a moderator.
Migration
The main focus of this project would be on the migration of the trackbacks to a new shared comments+trackbacks table. Older trackbacks would have to be inserted between the comments in the correct order, since comments are organized in a tree structure that must be updated when merging the tables. There are also concerns about running into timeouts when doing this on a site with a lot of comments (think Groklaw).
This part of the project requires the most attention as well as extensive testing.
Miscellaneous
- By default, trackbacks should probably be displayed just like regular comments. Define and use some CSS classes for the "trackback comments", though, so that the site owner can make them look different if they want to.
- This would be a good opportunity to review the default settings for trackbacks and pingbacks to ensure they are set in a way such that trackbacks behave and "feel" like comments as much as possible (e.g. create text excerpts for pingbacks).
Bonus
Geeklog has an API for plugins to allow trackbacks. To our knowledge, no plugin currently exists that actually uses this API. If time permits, it would be nice to implement the trackback API in a plugin that already supports comments (e.g. the Static Pages plugin that ships with Geeklog) to ensure that
- the trackback API actually works
- the trackback API still works, now that comments and trackbacks have been merged
Level of Difficulty
medium
As mentioned above, the migration part will require extensive testing. Debugging problems with this part will require some knowledge of tree structures.
Possible mentor: Dirk Haun
Further Reading
- Representing Geeklog's Comments in the Database
- Somewhat related: The code that produces text excerpts for pingbacks needs some improvements ...