Navigation:
Frontpage / Content « CommentsTrackSpec
This is an old revision of CommentsTrackSpec from 2004-10-18 17:34:21.

CommentsTrack - Specification


1. Document History



Version..Date.....Name...............Changes

0.1......17Aug04..Jan Piotrowski.....First Draft
0.2......19Aug04..Helge Fahrnberger..Small changes, Workarounds added
0.3......20Aug04..Helge Fahrnberger..Workaround A3 added


2. Abstract== CommentsTrack can help you to keep track of all comments that you post anywhere on the web and of what people reply. It creates one simple RSS or atom feed that you can easily monitor with your favorite feed reader. It is a technology aimed to make your life in the web and blogosphere easier and more comfortable, and to make discussions in weblogs more lively. The CommentsTrack technology might also be used to track discussions in discussion board software (BBS) or to monitor discussions without having participated yet.

3. Terminology

- User: Person that reads and comments to a weblog entry - RemoteBlog: Software that runs that weblog - Thread: Comments / discussion about a weblog entry - PingScript: Software that can connect to CT-Script - CT-Script: Software that can handle pings/connections from PingScript and modify CT-Feed - CT-Feed: Feed containing all threads, modified by CT-Script - FeedReader: Reader to read syndication-feeds (e.g. RSS/Atom). Software or webservice like bloglines.com

4. Functional Goals and Aims

- A feed aggregating all replies to comments User has posted anywhere on the web - Simple usage also usable for non-geeks

5. Technical Goals and Aims

- Simple specifications to make implementation easy - Independence of platform and feed aggregation technology, built on HTTP 1.1 - Compatibility / implementability with all major weblog and BBS software systems - Free and Open Source

6. Notes

- Output (format and design of CT-feed) doesn't matter yet, can be changed by later easily - Related to and inspired by technologies such as trackback or pingback

7. How it works, Simple Overview

- Form-field is being added to comments-forms of RemoteBlog - User pastes his personal CT-Script-URI into that form-field - RemoteBlog uses PingScript to inform this CT-Script-URI about new comments - CT-Script publishes these comments into a personal CT-Feed and stores them in database - CT-Feed can be consumed by User via FeedReader

8. Technical Details

- Unique identifier for CT-Script to allocate data in CT-Feed: permalink, should be unique and persistent - Transmission of comments between RemoteBlog and CT-Scrip: undecided, see below - All further technical details depend on transmission solution

9. Problems

**A. Lag problem** [[http://www.helge.at/archives/00000101.php The original concept]] was to transmit the entire comment information (title, permalink, author, excerpt) to the CT-script everytime a new comment is posted. However, many comments mean many CT-Script-URIs -> many pings -> takes very long to post comment -> lag Example: 150 comments, 1 seconds per comment + 2 failing CT-Script-URIs per 30 seconds

10. Problem Workaround Approaches

**A1. Manual feed-update** - User pastes the URi of his CT-script into RemoteBlog when posting a comment. RemoteBlog pings the URL of the CT-script and transmits the thread's permalink (but nothing else). - At the same time the RemoteBlog creates an XML-version of the thread (as e.g. WordPress does anyway) - The CT-script registers the permalink in its list of threads - At a later point: the user wants to check the state of all threads and triggers an update-function (e.g. by pressing a button). The CT-script now visits all (limits to be defined) XML-threads it has on the list, updates its database with the changed content and creates the CT-feed. - The update may alternatively happen via a scheduled service ("cronjob") e.g. once a night. As this is not available on most shared hosts the solution is only applicable for a minority of situations (e.g. a functional integration into centralized services such as [[http://www.bloglines.com bloglines]] or [[http://www.typekey.com typekey]]) Pros & Cons: - Con: Manual trigger necessary (apart from cronjob solution - see above) - Con: Update-process may take several minutes, comparable with rebuild-process of large moveabletype-powered weblogs - Pro: Flexible solution, allows many different approaches and uses parallely - Pro: Integration effort low on RemoteBlog, which makes broad takeup more likely **A2. Centralized CommentsTrack service** - User pastes the URi of his CT-script into RemoteBlog when posting a comment. RemoteBlog stores the URi and pings a centralized CT-service. - The CT-service and the PingScript now (or - via a cronjob on side of the CT-service - at a later point) process the data-transfer without the RemoteBlog software having to wait for results when somebody posts a new comment. Pros & Cons: - Con: Necessity of centralized service makes successfull deployment less likely - Con: Load issues at CT-service - Con: Missing redundancy, if CT-service fails the whole CT-system collapses (not just for one user..) - Pro: No manual interaction necessary, CT-feed is being created automatically **A3. Time Stamp Only** - A feed-article in CT-feed only consists of the title and the first X characters of the original post (but none of the comments) - Whenever CT-script notices that a new comment has been posted it only changes the time stamp of the feed entry, so it appears as new/unread in feedreaders - It might be interesting to add (XX comments) to the text of the feed entry - Probably this solution doesn't solve the lag problem entirely, so it might need to be combined with another workaround Pros & Cons: - Con: Comments can't be read in feed readers, user has to click link and read thread online - Con: Workaround doesn't solve timeout-problem (RemoteBlog not reachable, etc.) - Pro: Very little data to be transfered - Pro: RemoteBlog owners get more visitors, which might be additional motivation to add CT-feature to their blog

11. Based on
=
Local:
2004-10-18 17:34:21 - XML Recent page revisions in XML format (this page)
Global:
Frontpage / Content - UserSettings, logged in as ec2-23-20-240-193.compute-1.amazonaws.com - RecentChanges - XML Recent page revisions in XML format (all pages)