Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace all Forums with nodeBB #1067

Closed
RoiEXLab opened this issue Aug 15, 2016 · 24 comments
Closed

Replace all Forums with nodeBB #1067

RoiEXLab opened this issue Aug 15, 2016 · 24 comments
Labels
Discussion team communication thread, meant for coordination and decision making

Comments

@RoiEXLab
Copy link
Member

RoiEXLab commented Aug 15, 2016

Currently there are 2 TripleA Forums: WarClub, the Nabble/SourceForge forum
It's very difficult to track all of these at the same time, and the long-term plan (let's call it idea for now) is to replace those forums with a completely new one

From #1037 :

If we go for a complete rewrite of the Forum, I'd like to sum up the benefits of nodeBB:
NodeBB is a node.js based forum software (Free and Community developed).
I installed a local version on my PC and it really blew my mind - it's working perfectly and has tons of pre-built features

Benefits:

Mods/Admins:

Easy to use:
New categories can be created and edited via settings page (for example dragging to reorder)
Users can be deleted or banned via the settings page
Posts can be deleted or filtered with a variety of plugins

Developers:

A plugin system allows to create simple extensions to filter some text or to perform specific actions on some events (see the official Page for more information)
When downloaded via git, a simple pull on the weekly branch keeps nodeBB updated
nodeBB uses Node.js instead of PHP (see @DanVanAtta's links to this topic) -> more dynamic Webpages

General:
It has a modern Design with can easily be changed with built in designs or additional CSS.
It includes toggleable social media buttons and has a intuitive text editor (it's supporting Markdown as well)

etc. etc. etc.

Downside:
It uses a NoSQL database like Redis or MongoDB -> not compatible with MySQL

If you are not conviced, you may look at the various suggested ForumPages on the official nodeBB site (scroll to the bottom of the Page) or try it out for yourself Installation instructions

Depending on which OS the root server runs on (I'd guess Debian) we simply need to install Node.js , git (to regularly update the nodeBB software) and a NoSQL software of our choice - Redis or MongoDB (I don't know if other Software is supported).
Like all software based on Node.js the software is written in server and clientside javascript.

Why NodeBB?

PHP is a bit broken:
https://blog.codinghorror.com/the-php-singularity/
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

NodeBB bases as you may tell by the name on Node.js instead of PHP we don't want to rely on PHP, since it's only going to make things more difficult...

When not using PHP based software the pool of possible choices is not very big. Currently it seems like NodeBB is the best forum software not using PHP .
The Notepad++ Forum is also using this software - I'd highly suggest browsing trough it using your smartphone, it feels awesome.

EDIT: Of course all other forums will only get replaced, after this forum works as expected...

EDIT2: @DanVanAtta suggested to give other forum software a chance... We are ignoring PHP solutions for now, and focus on the alternatives.
Found serveral Pages about the topic which is better, but let's sayDiscourse seems to be about equally good...
Main differences seem to be:
NodeBB is lighter and has better performance (due to Node.js)
Discourse has better Email integration (like Notifications when mentioned etc.)
Although nodeBB has an option for sending emails

Downside of Discourse: it uses 2 different DB systems.

Linking the Post I found (although it's 2 years old, most likely something changed...) just in case...

I will test those softwares in the coming days, since Discourse is only available for Linux Distributions

@DanVanAtta
Copy link
Member

nabble+sourceforge are the same forum AFAIK.

@RoiEXLab , would you mind commenting on some of the pros/cons of nodeBB vs say these two:
https://github.com/vanilla
https://github.com/discourse/discourse

@RoiEXLab
Copy link
Member Author

@DanVanAtta vanilla is PHP based, should that be a critical criteria?
No objections on trying out discourse since it's Ruby based

@DanVanAtta
Copy link
Member

Yeah, that is certainly a con of vanilla. Mainly I would like for us to have an overview of our options, and some consideration into alternatives, not just picking the first one we see because it was the first one we found that was cool. IE: let's be a bit strategic. Anything that integrates with github.io will get some points since we do not have to host it, and it will integrate with the existing github.io website.

@RoiEXLab
Copy link
Member Author

Since gh-pages is jekyll based, there are almost no options available for this (only spartanic Pages which were simple experiments...), If we want to integrate the forum witch the website we could create something like an iFrame on the tripleA website which displays the forum hosted on another server... But other than that I can't see a future in using GitHub Pages as good forum

@RoiEXLab
Copy link
Member Author

@DanVanAtta This may be a one time thing, but nodeBB has a far better documentation and tutorial base... Just saying

@DanVanAtta
Copy link
Member

Okay, direct hosting in github pages would be great. Failing that a cloud alternative. FAiling that, we can host a server on 'the server', and then have github pages link to those pages. It'll just be the case that not every webpage hosted is actually coming from github.io (let me know if that makes sense - IE: we can have specific sections of the website hosted on different servers, that is an option)

@RoiEXLab
Copy link
Member Author

As mentioned #1037 there are many free possibilities for Cloud Services which are mainly free, we'll see what "the users" think about that...

@ron-murhammer ron-murhammer added the Discussion team communication thread, meant for coordination and decision making label Aug 16, 2016
@ron-murhammer
Copy link
Member

So I'm not sure what forum option would be best but my thought is still to consolidate the 2 we have together before we look to upgrade. I think this is hopefully more actionable and would make upgrading to a new technology later on easier anyways (also helps remove remaining SF usage). I agree with @DanVanAtta that I'd like to make sure we consider a number of popular options before just randomly choosing one.

I'm not sure the underlying language of the forum is written in should matter that much (as long as the website can then be written in whatever we want preferably a modern stack of say HTML 5 and javascript framework). In most cases we shouldn't be writing any custom forum modules and should just be using the forum for what its designed for and using standard modules/apis. We should consider where the forum would be hosted (github pages vs embedded vs our server). This also starts leading into the future of the github pages vs triplea warclub web sites.

@RoiEXLab
Copy link
Member Author

I'm not sure the underlying language of the forum is written in should matter that much (as long as the website can then be written in whatever we want preferably a modern stack of say HTML 5 and javascript framework). In most cases we shouldn't be writing any custom forum modules and should just be using the forum for what its designed for and using standard modules/apis. We should consider where the forum would be hosted (github pages vs embedded vs our server). This also starts leading into the future of the github pages vs triplea warclub web sites.

Since we probably don't want to keep the forum software 100% vanilla (e.g. we want to make some plugins to make this forum more unique/ better) the language does matter.
JavaScript is a very common web language... NodeBB 1:0

@DanVanAtta
Copy link
Member

Before we can pick a new forum, we may want to know what the 'new' website will be running. IMO we should pick this back up later. Agreement to close this for now?

@RoiEXLab
Copy link
Member Author

@DanVanAtta either close this for now, with the risk of being forgotten, or simply add an ice box label

@ZjelcoP
Copy link

ZjelcoP commented Aug 17, 2016

Well I'll most likely be "swearing in church" as we say where I'm from with this one.
But was wondering if it has been considered.

Purely from my newb point of view and without grasping the principal objections to PHP I see using a CMS like Drupal as a very viable option.
-Ease of building, could have that up and running in little time i believe. Given some time even I could probably do that by myself.
-Ease of upkeep, upgrading to new versions seems fairly easy and keeps the site up the date.
-User friendly to moderators. Some have even taken up making alterations to the Warclub when webmaster was lacking. This was possible because it being a CMS that many people can understand. More people could take part if they want to in updating info and site (including Moderators).
-Standard security measures being constantly developed (current Xoops one just being poorly implemented and upgraded).
-Ease of migrating. As many have moved from Xoops to Drupal before there are some standard solutions. Probably out there for Nabble as well.
-Drupal as being so popular most likely will be developed and maintained for many years to come. Don't know how the outlook for many other solutions is on this aspect.
-Forum: Must have forum solutions close to or as good and advanced as anything out there.

So if this doesn't make any sense from your more knowledgeable point of view and the downsides outweigh the benefits then disregard this option. Just needed to have put it out there for my ease of mind.

@ghost
Copy link

ghost commented Aug 20, 2016

Hello All,
Back for a bit from my hiatus, I'm willing to tie the forum software of choice into the current website, being the original author of the site. I don't need to be involved in choosing the software used for the forum, though I can give a strong recommendation for Discourse, which, though built on Rails, has become the forum software of choice for many open source projects, including Jekyll and Atom, among many others.

The interesting thing about Atom's forum, Atom Discuss, is that it is branded as part of the website, even retaining the same menu that can be found on Atom's main site. A similar solution is possible for us, and I may be able to implement it at some point if the forum is set up. Thoughts on this?

@DanVanAtta
Copy link
Member

Let's present options and come to a recommendation/decision. We need to also define some requirements that we know of and need before we can make a good decision.

The thorniest requirement I can see is the login. Ideally the login will be shared between lobby, ladder, and forum. We have not really discussed yet how to solve the multi-login problem, which I'm afraid complicates things.

Another requirement I can think of is that we would ideally have the skinning and navigation header bar match our website, so we can link to and from it naturally.

Beyond that, everything else should be standard hopefully with most any lobby choice: image uploads, but bonus if we generic file uploads are supported as well.

@doctored
Copy link

i think if theres a good way to consolidate everything (especially user tables) that would be a good thing. i can probably help in the skinning arena if need be.

@DanVanAtta
Copy link
Member

@RoiEXLab @williamdekryger IMO discourse probably has it. Looks pretty usable compared to the others out there, and does not cost monthly as nodeBB does ($1200 a year could be hard to consistently sustain, and we can probably better use the money elsewhere). Do either of you have experience setting it up, and would like to take a crack at it?

We can set it up on an un-advertised URL, then link to it when we think it's ready.

@RoiEXLab
Copy link
Member Author

NodeBB is free when using the github version

@DanVanAtta
Copy link
Member

@ron-murhammer I think we should take a moment to reconsider the forum merger. I'm starting to think that hosting a forum of our own is maybe not the right way to go.

The source forge forum had a good bit going for it: image uploads, email notifications, bot filtering, and an established user base, It is meeting our needs. What do you think if we updated the source forge home page to have less content, and link warclub and triplea-game.org. We can link the forum from triplea-game.org.

Perhaps at the very least we should do the above ^ until we actually do figure out how we want to merge the forums. Adding the above links will at least get the current sites linked together. We'll just be missing warclub links back to triplea-game.org or sourceforge forum.

@DanVanAtta
Copy link
Member

@RoiEXLab can you link to the setup steps for nodeBB?

I gave discourse a shot, it did not quite work out of the box. A 3rd forum, if it's easy to host, is the nicest option.

@ron-murhammer
Copy link
Member

@DanVanAtta Yeah, I'd still like to merge to 1 forum though the current warclub forum does seem to be lacking some features that we want. I would still prefer to address this sooner rather than later but we can link the SF home page to the new site and warclub for now.

@RoiEXLab
Copy link
Member Author

Was in the top post, but whatever...
https://docs.nodebb.org/en/latest/installing/os.html
NodeBB kinda recommends free cloud servers found somewhere in thr docs...

@RoiEXLab
Copy link
Member Author

@RoiEXLab
Copy link
Member Author

RoiEXLab commented Jan 21, 2017

@DanVanAtta do we want to move to a new forum software? The current warclub CMS is terrible
If so, I could setup a test-forum under a warclub-subdomain, if I get the rights...

@DanVanAtta
Copy link
Member

following up in: #1486

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion team communication thread, meant for coordination and decision making
Projects
None yet
Development

No branches or pull requests

5 participants