Threads Server Project
This is the wiki of the Threads Server Project.
Description of the project
This project aims to put in practice an abstraction that has been known for some time now, the one that brings together blogs, wikis, chat rooms, etc : they're all threads, they only differ on permissions and display format.
The server will be modular. Its core built around the abstract principle of threads will make it quite different from usual servers designed for a specific protocol. The different I/O protocols (HTTP, SMTP, XMPP, etc) and formats (HTML, etc) will all be implemented in modules.
Another goal is to support a wide variety of use cases, from a small static site to a big multilingual community, and thus be both lightweight and scalable. To achieve this goal an important feature is a caching system that keeps track of dependencies in order to know what needs to be regenerated after each change.
The concept of threads
A thread is a series of messages around a common subject. It is recursive : a thread may contain other threads. The root message, the one starting the thread, has a special meaning, it often doesn't have the same permissions as the other messages and is often displayed differently. A thread can also have meta-data such as a title, a list of related threads, a hint on how it should be rendered, etc.
Status
An implementation named Hats (Haskell Thread Server) is currently being written.
If you have questions or want to help, join us in the XMPP chat room tsp@muc.changaco.net, using a Web interface such as muckl or Jappix if you don't have a native client.