Saturday, February 05, 2011

NedNews: Overview

Ok, that was long and involved! Let's get coding!

First, we should do a little planning...

Most news readers are three panel. That will be fine for our purposes.

We are going to support both RSS (XML) and Usenet (NNTP). This will add a little complexity, but it is what I want :)

The other thing I want, which the other series did not cover, is persistence. I want to remember what posts I have read, and I want to store posts as long as I want (not as long as the server decides to keep them!)

digitalmars.D (one of the Usenet groups I read) has 20,000 posts. I previously mentioned that NewsFox breaks down at several thousand posts (which tells you I often let my RSS feeds accumulate thousands of posts).

Storing this amount of data should be done in a database.

Fortunately, the popular embedded database engine Sqlite is actually a Tcl extension (it also provides a C api, which is what most people use).

We will need to think through some database schemas, but it will be worth it. The database file can be shared between machines, and across the network through a service like DropBox. (As long as we are careful not to update it simultaneously from different machines.)

No comments: