On Thursday, 8 December 2011 at 20:15:38 UTC, Andrei Alexandrescu
wrote:
This is an absolutely fantastic development. It's exactly the
kind of thing that D needs - using D to write something
nontrivial and highly useful. I just got in touch with Walter
about it, and as of now you have in us strong supporters for
replacing the existing Web bridge with this one.
I'm excited :)
One thing though - you must use hyphenation everywhere :o).
Now not so much :(
:)
Here are a few large topics that we should discuss a bit:
- Would you consider merging your codebase with
d-programming-language.org? That way we'd have a simple
deployment target and simpler unified maintenance.
I'm not against moving the project to the D-Programming-Language
GitHub organization, but I'm not sure what would be achieved by
merging the two git repositories. Git's "submodule" feature may
be more helpful here.
One thing that needs to be mentioned is that the project's scope
is not solely the web interface. "DFeed" actually started out as
an IRC bot, which among other sources, included the newsgroup as
an event source for IRC notifications. I've refactored the code
to use a publish/subscribe pattern, so IRC and the local message
database (used by the web interface) are two of the consumers. A
third one will be the front-page news widget I was planning to
have a go at.
The downside would be that your project would have less
individuality as an independent NNTP-WWW bridge. (That could be
partially addressed with directory structure etc.)
This is actually not much of a problem right now, as the codebase
wasn't written with much abstraction in mind, so refactoring it
into a generic NNTP interface would be a task of its own (and
probably better off as a fork of this project).
- If not, how do we go about integrating with
d-programming-language.org? For example say we change the
navigation panel on the left. Then we'd need to coordinate with
you to pull the code, regenerate your own page, and so on.
This can be automated... Also, I'm not against the idea of
providing direct shell access for D VIPs.
- I'm thinking something with iframes may work for the above
issue, but cross-domain iframes are limited. Could we serve
your content off d-p-l.org?
Yes. By far the best method would be subdomains (e.g.
forum.d-programming-language.org or discussion.d-p-l.org).
The second-best method is to use Apache's mod_proxy or
mod_rewrite's [P] flag, to make a certain "directory" send web
requests to my server. This would greatly affect latency, though
- assuming d-p-l.org is hosted in the US, a request from an
European visitor would need to make a roundtrip through the US
and back to Europe, and back.
Frames are not much of an option, due to their
non-interoperability with browser address bars.
- We should look at ways to integrate some of your code with
the standard library. For example, would be great to put some
NNTP and CGI support in std.
I don't use CGI. The NNTP module implements little above what's
needed for the task. There may be some code good enough for
Phobos in the network library I use (asynchronous line-buffered
sockets, HTTP client/server), but there are licensing issues I'd
need to solve.
My nits to be added to others':
* Registration flow is odd. You register, but then you're not
taken back to the forums page.
It's a bug. I'll fix.
* Password during registration appears in clear.
That was a deliberate choice... perhaps not a very good one.
* The C and C++ forums should not be on the same page. We
should focus only on the D forums. It's possible to link them
via a new page.
Yes.
I was thinking about creating a digitalmars.com stylesheet, and
sending the corresponding stylesheet and list of forums depending
on the used URL / subdomain.
* This may be a good time to retire a few unused forums such as
dtl., debugger, dwt, ide, and merge their contents with
digitalmars.D.
I'm not sure if merging groups is possible on the NNTP level.
Doing it in DFeed would involve lots of hacks.
* The forum descriptions and possibly layout should emphasize
digitalmars.D as the "main" forum, and digitalmars.D.learn as
the "main n00b" forum. Generally first-comers will be confused
as to where they should be posting when facing a large table
that must be read in full, and most of the time they want
either digitalmars.D or digitalmars.D.learn.
* The lists dmd-beta etc. should be under a different heading
and deemphasized. They are for experts only and not nearly as
prominent as the main forums.
The layout is actually almost a verbatim copy of
http://digitalmars.com/NewsGroup.html . The only change is a typo
fix and addition of the omitted D-runtime list.
* The style file should be loaded from d-p-l.org such that
changes in style will be automatically picked up by the forums
page.
I edited the main stylesheet to avoid yet another few !important
CSS overrides. I think it's best to handle this in the same way
as the HTML template (automatic or semi-automatic patching).
* In horizontal split mode, the footer is disproportionately
large (btw I made it smaller recently).
Will fix.
* Use of bold in split mode for unread posts seems a bit heavy.
How about a different background color?
I believe bolding is a common UI element used by newsreaders and
mail clients. I just played with background colors a bit, and
couldn't get it to not look weird.
However, how does it look now?
* It's not obvious how people should set up their own gravatar.
Will fix.