Welcome to Arkanis Development

NNTP forum - a forum like NNTP frontend

Published

The NNTP forum is a modern frontend to newsgroups. It's not a real forum on its own but rather displays the messages of a newsgroup server like a forum does.

The message list of a topic with the form to post a reply

Here's the short overview:

  • Presents a newsgroup server as a forum
    • First displays all newsgroups on a server
    • Then all topics in a newsgoup
    • And all messages in a topic
  • Post new topics and messages
  • Supports attachments
  • The tree structure of the messages is preserved
    • You can answer to a specific message
    • You can hide all answers to a specific message (collapse a topic branch)
  • Markdown is used to display a message as HTML
  • Automatically collapses large quote blocks (e.g. the quote of the previous message)
  • Highlights unread messages
    • The unread tracker data is stored on the server, one small file per user
    • The tracker data does not grow over time but only with the number of users (only the 50 newest messages in each group are tracked)
  • Provides freely configurable newsfeeds for the newsgroups

This is the basic stuff. Right now the forum is optimized for the environment of my university. Therefore the authorization of users is handled in an unusual way:

  • Uses HTTP authorization to get user credentials: The authorization method can be feely configured in the webserver, e.g. Apache. Right now we use an LDAP lookup. The downside of this is that the user is always asked for credentials. Guest access would need to be whitelisted in the virtual host config with a proper guest user. This guest user credentials can then be used by the NNTP forum to access the newsgroups.
  • When posting a message the username is translated to a display name with an LDAP lookup.

Ok, now to the technical stuff:

  • Written in PHP 5.3
  • Messages are parsed per line so almost no memory is required (important for large attachments)
  • Caching is used extensively to reduce load on the NNTP server
  • The frontend does not copy the newsgroup content to a new database
  • Almost no new data is stored in the frontend (except the unread tracker data and the cache)
  • Supports encrypted NNTP connections
  • URLs are rewritten to nice and short URLs using Apaches mod_rewrite

The NNTP forum is up and running at my university since serveral weeks. Unfotunately there is no demo page because you would need an account of my university. You can view some more screen shots on the projects page. If you're interested and want to play with the software just let me know. Leave a comment or drop me a mail. I usually make my projects publically available but the project is optimized for a specific deployment right now. I'm a bit ill from releasing projects without getting any feedback. Therefore I will only take the time to generalize the code base if there is someone who wants it.

Why another NNTP frontend?

My university uses newsgroups to announce official information. These newsgroups can also be used by students to discuss different topics (pretty much everything). Unfortunately the acceptance among the students wasn't very high during the last years. Many students (me included) don't know newsgroups when starting to study. For some people it can be hard to configure the newsgroups in their mail client because our university uses certificates and its own certificate authority. Thanks to that Thunderbird just refuses to accept the news server until you import the certificate authority in a somewhat complicated way. Its a bit disappointing that the result after all that looks just like a bunch of ordinary mails.

People could use the Web-News frontend for the newsgroups as an alternative to a real mail client. However Web-News is not really the most up to date software and the internet changed a little bit since it received its last major update. This doesn't make Web-News a bad NNTP frontend. It's just not perfect for new students that are used to internet forums and facebook. The userbility just isn't as good as it could be for young students.

Because of that not much students checked the newsgroups regulary. Important news are not noticed, lectures are not visited because only a few know they exist… well, I exeggerate quite a bit but this was the direction we were heading towards. These acceptance problems lead to a discussion about the future of newsgroups on our university.

One idea was to replace the newsgroups with a forum. However newsgroups are already a forum. There are some newsgroups (forums) with threads and messages. It's just the presentation in mail clients and Web-News that make newsgroups look “old”. To test that I created a prototype of the NNTP forum within two days. It was read only and did only very simple and inefficient message parsing. But it was already quite intuitive to handle and much more like forums people a used to today.

3 comments for this post

leave a new one

#1 by
pfleidi
,

Have you thought about hosting it on a platform like Github where people could participate and easily browse the code? I would really appreciate that.

Nice work btw. :)

#2 by
Marc
,

Github++ ! :)

#3 by
Stephan
,

I will push it to GitHub as soon as possible. However I first need to change my personal infrastructure a bit before doing that. I want a private Git mirror on my own server. A few hooks in a bare repository should do the job I suppose but I just have to look into that. Help into that direction is gladly welcome. :)

Leave a new comment

Having thoughts on your mind about this stuff here? Want to tell me and the rest of the world your opinion? Write and post it right here. Be sure to check out the format help (focus the large text field) and give the preview button a try.

Format help

Please us the following stuff to spice up your comment.

An empty line starts a new paragraph. ---- print "---- lines start/end code" ---- * List items start with a * or -

or