(This post is *NOT* cross-posted to tilde.club's local.test newsgroup
since that's not a proper place for thread like this;
so I might be speaking into the void, but I will speak anyway.
For who are connecting through a different server, see [0]
for original post in tilde.club's local.test which this is a reply to)
On Sat, 30 Jul 2022, jacksonbenete wrote:
I don't understand very much about NNTP,
I'll soon look at the RFC's when I have some free time,
but until then, some of you guys might know about it
and might help me with the curiosity.
I have once described this in #netnews IRC channel (of tilde.chat)
on 26-Nov-2020, so I will just more-or-less copy that here,
with extra note at the end...
"What is netnews / how does it work?", Netnews could be described
as a distributed text bulletin board. It works with a very basic principle: basically, when someone post a "newspost" to local server,
that server would *broadcast* the post to the peered servers
(subjecting to de-duplication rules and filtering of newsgroup)
hop-by-hop, until all servers have a copy of that newspost.
Once converged, each Netnews server would effectively be a mirror
of each other (provided that they carry the same newsgroups)
Which means user on each server could read/reply-to newsposts locally;
even that inter-server connection is not always on, or super-expensive.
It originated pre-Internet, where server-to-server peering
were done through P2P dialup, via UUCP; once a day.
Extra note: NNTP is a protocol which was introduced to allow aforementioned Netnews systems to propagate newsposts over TCP/IP network; it also has
a second role of providing remote newreading/newsposting access to
users as well. (In the original system, user ought to log in to each server, usually via a means of direct dial-up or Telnet, and read/post there)
Is there a way to set up a NNTP server that is "read-only"?
In fact, I could make use of two possible options.
1 - You can't create a new thread, but you can reply to one.
(this would be the best)
2 - You can't post at all, the server is a "read-only" news server.
If this sounds absurd for some reason
No, that's not absurd. It's a use of appropriate technology;
Netnews is *the* original (pre-)Internet protocol
for public threaded text discussions.
Not so long ago, I have used a phpBB web forum which is bolted
on top of mailing list which participants can read/reply from both sides;
and I thought of such thing as brilliant.
However, doing such thing (whether with email or Netnews) come with
certain shortcoming: you are not to allow editing a post;
as you cannot change the emails that are already sent;
and while Netnews has a provision for post editing (called "superseding"),
it has no provision to guarantee propagation of edited post
to servers other than its origin, much less to the individual news client.
For the two options you discussed; one important part to note is
that Netnews server, at the most basic level, do not really distinguish
between original "post" or follow-up "reply"; it just treat everything
as posts. In its nomenclature, each post (or reply) is called "article".
To distinguish its thread-starter or thread-followup status,
the newsreaders (yes, newsreaders, not news servers) would look
inside each article and check for header called 'References`
(or less commonly `In-Reply-To`) when they sort articles into tree view
for user to see. So from now on, I'll use the term "article" to refer
to Netnews post/reply.
The option 2 is easily configured in any brand of Netnews server;
for example: nntp://cosmic.voyage/ is read-only for the public.
The option 1 is harder, one option that ~freet suggested [1]
is using a moderated group like how it's done on USENET.
I hadn't dug out how moderation is flagged or how the moderation address
is communicated on the protocol or control message level yet:
but the gist is the group will be essentially read-only for the public;
but when someone post an article (whether being a thread-starter
or follow-up), the client-facing Netnews server will send
that article to your (moderator's) email instead, and you can choose
to ignore it (if not a reply) or finally post it on Netnews
with `Approved` header when you checked that it is a reply.
But that is the USENET way, which have the amount of required
hurdles in order to allow participation in decentralized way.
However, I figured that your discussion server is just a *standalone* NNTP server that does *not* peer (receiving articles to/from) with any other
NNTP servers, right?
If that is the case, here comes an other option: you can simply just
allow posting normally, and then configure your Netnews server to
filter every incoming articles with a custom filter program.
Then write that custom filter program to check every incoming article
to make sure that `References` or `In-Reply-To` header exist
and refer to at least one correct existing article message ID
in the group before letting it through. (And reject the article
if it doesn't)
Then you can simply write a Netnews server config rule
to make the articles that came from *inside* the server (e.g. the
thread starter posted by you, or follow-up articles by your web interface)
to not be subjected to that filtering. This way, you can have what you want without having to deal with authentication shenanigans or hurdles
that are associated to actual moderation-based workflow. [2]
(And this can also be the place that you generate the WWW part of
each reply as well; in case that your WWW comment front exist
in parallel rather than on top of Netnews discussion threads)
If you would like an easy way out by using third-party service,
then ~freet's suggestion of using Gwene [4] can be interesting.
Not sure how well it works in regard of displaying syndicated content
however, and you would now have a different kind of extra work
if you would like to bridge that discussions back to the WWW side
(which would now require a full NNTP client capability to do so).
I've been planning to create a "blog engine", in fact,
it'll be a minimalist website to post some ideas.
I wish this website would be available over lynx as well.
I could just try to structure the website using lists I guess,
but I was planning to use some javascript
to test another idea (even though I don't like javascript at all,
but it's an experiment).
So, for maintain compatibility, and the users to be able to
both access via browser (the javascript interface)
and also via lynx, I thought that maybe the engine
could generate the blog posts as news over newsgroups.
"access via browser" doesn't imply JavaScript. You are not supposed
to use JavaScript for any part of the page that isn't
inherently interactive; instead, provide bare-bone HTML navigation elements
by default, and make script hijack these elements only when it
actually managed to initialize all of the APIs it uses.
(For Pete's sake, how come people have now completely forgotten
about the "progressive enhancement" paradigm that have been prevalent
up to at least the middle 2010s?)
Alternatively I could just check the userAgent
and deliver the site in a text-reader friendly format.
But for a moment I thought that an engine that would produce
both html and news content would be cool.
Don't do U/A sniffing, that's just plain evil. I use featured graphical
browser but with scripts/plugins disabled by default, and guess what
my browser see on such sites? [5]
This is an iteration of an idea I have posted before on BBJ,
FWIW, I don't really participate in Tildeverse BBJ. [6]
where I talked about an idea about a system that once written
would generate content for multiple channels at the same time
(gopher, rss, twitter, etc).
That's good idea. My tilde site (read: my art site, see this post's
signature) is HTTPS/HTTP/Gopher, with headings+summary Atom feed;
but I'm currently authoring it in a fully-manual fashion,
and without actual comment mechanism. I should really write a
bespoke semi-automatic CMS for it someday at least.
Regards,
~xwindows
[0] "Questions about NNTP" [2022-07-30T00:52:00Z]
<news:tc1vbg$3lq8i$
1@tilde.club>
<nntp://news.tilde.club/local.test/390>
<
https://tilde.club/~xwindows/tools/netnews/groups/?local.test/390>
[1] "Re: Questions about NNTP" [2022-07-31T00:14:03Z]
<news:tc4hgl$36e6h$
2@tilde.club>
<nntp://news.tilde.club/tilde.meta/271>
<
https://tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/271>
[2] The concept is here, when applied to USENET at large:
<
https://www.big-8.org/wiki/Moderated_Newsgroups>
How-To is here:
<
https://www.eyrie.org/~eagle/usefor/other/moderators-handbook>
How to configure moderation route for standlone INN2 Netnews server:
<
https://www.eyrie.org/~eagle/software/inn/docs-2.7/moderators.html>
(Or see `man 5 moderators` on the machine with such server)
[3] Apart from [2], the associated problems with full-moderation
workflow are here:
<
https://www.eyrie.org/~eagle/faqs/mod-pitfalls.html>
You can do an automated (not-really-)"moderation" of course
by just automatically posting the article received if it fit
certain header criteria. If your server don't peer, that is still
an extra hurdle (and your server got to have a fully-functional
email inbox), compared to just having a filter than run in
the server's post queue.
[4] "Re: Questions about NNTP" [2022-07-31T00:06:51Z]
<news:tc1vbg$3lq8i$
1@tilde.club>
<nntp://news.tilde.club/tilde.meta/270>
<
https://tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/270>
[5] Tildeverse mailing list archive service <
https://lists.tildeverse.org/>
(actual archive view powered by HyperKitty)
is one of the sites with such obnoxious U/A discrimination behavior.
Unbrowsable archive is *the* reason that I don't use Tildeverse
mailing list and swear by Netnews instead.
If you don't get what I said, try viewing
<
https://lists.tildeverse.org/hyperkitty/list/tildeclub@lists.tildeverse.org/thread/H6TAMR7UZ4ORBMT7JQJ7WFD6DQV2SUDJ>
in a graphical browser (but with JavaScript *disabled*) and see
if you can actually see any post other than the thread starter.
Once you're done, try using W3M to view the same URL
and check the same thing again, then finally try using Lynx to view it.
[6] Reasons in following post's footnote number 7:
"Re: What do you use Tildes for? [Tilde.club]" [2022-04-30T11:46:23Z]
<news:
94de2eff-2a93-48b6-aae4-c3229c4b48a9@tilde.club>
<nntp://news.tilde.club/tilde.meta/219>
<
https:///tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/219>
--
xwindows' gallery of freely-licensed artworks
https://tilde.club/~xwindows/ http://tilde.club/~xwindows/ gopher://tilde.club/1/~xwindows/
--- Synchronet 3.19a-Linux NewsLink 1.113