Last updated at 1:41 am UTC on 17 January 2006
Here's a place to start talking about the different parts of the SBlog challenge.
For features, I'll outline what the 'typical generic' weblog does, and define a little of what their data base layouts tend to be like
See also: SBlog Features
- Runs on the big three desktop platforms (Mac, Windows, Unix)
- Required to run in a headless enviornment, as well as a desktop image
- Talks to the world thru some standardized XML-RPC protocols. The Blogger API is a subset of the MetaWeblog API. (Look at XML-RPC Server for some Squeak related overview and code).
- Blogger API
- MetaWeblog API
- RSS 2.0 feed (RSS- Really Simple Syndication; another datastructure defined in XML)
- User Definable CSS Template for front page and archive pages
- Multiple Posters per weblog
- Multiple Users on the Server
- Categories for Posts
- Entries can be categorized
- Multiple Categories, but the categories are not hierarchical
- One server, multiple blogs, multiple users
- Cross authoring of blogs
- Ability to comment posts. The comments need not be threaded
SBlog server should also have the capability of being a stand alone solution. Howerver, because most blogs are served as static HTML files, it should be straightforward to "turbo-charge" the SBlog server by placing it behind something like Apache. Apache serves the static content, SBlog handles the heavy lifting.
This same idea may play into having 'swappable' object store, where the SBlog server may use an RDBMS as a backend to physically store the database information, or an object oriented database. This idea is not strict; a clever object store for persistent data may be implemented at the teams discretion. The case may be made for storing all data within the image, that will be part of the discussion of the contest rules.
Overall, the idea should be to make a simple, lightweight, fast server that someone who is familiar with what should be done can grok in a short amount of time. The SBlog challenge provides the outline; the contest will provide the documentation by means of design decisions made by the programming teams. The comments and correspondence among team members will be placed in a public place, such as this Swiki, so that others may learn.
SBlog Data Structures
SBlog Related Links