Discuss Scratch

ZZC12345
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

I understand this usually would go under Suggestions or Questions About Scratch, but this is a more hypothetical question and most of the people over there have no idea what a database is anyways.

Main question/talking point:
Could DjangoBB be replaced with Discourse with a reasonable amount of effort on the Scratch Team's (the programmers, not the mods) part?

Background:
The Scratch Forums run on a custom fork of DjangoBB [1]. DjangoBB is an extremely outdated software [2] which still uses Django 1, which in turn has many known security bugs [3]!
Django is now on version 4.1 and the rest of the internet has moved on from DjangoBB. Scratch is the only major website to still use it.[4]

Discourse is the modern forum software most of the the internet now uses. As many as 3000 companies use Discourse to host their forums. This includes Zoom, GitLab, Ruby on Rails, Docker, the Brave browser, and JetBrains (which makes many common IDEs) [5]. It has built-in search and moderation, and since it's open source, it could easily be modified to fit the Scratch 3 styles (like s2forums does now).

Pros/cons:
Discourse provides hosting for their forums for $100/month. However, the Scratch Team (in Cambridge, MA; the devs, not the mods) actually has server infrastructure in place already, which could easily be converted to run Ruby on Rails, Postgres, and Redis, which are all common backend frameworks.
Unfortunately, Discourse doesn't have an easy way to migrate from DjangoBB [6]. It probably wouldn't be to hard to write a migration script, though, and let it run for several days since the Scratch Forums have almost 650000 posts now [7].
Discourse actually does have a CSV importer, so it wouldn't be too hard to archive the current topics and things into a gigantic CSV. [8]
Discourse also in fact does support BBCode, making for an even easier transition. However, posts in Discourse are primarily in Markdown.

As a result of a move (if it did take place), users would be unable to edit migrated posts. There is also a 2 month limit for post edits on Discourse, though this can be changed.

Related:
- topic/522782

——
[1] See the “Powered by” link at the bottom right of Scratch Forum pages and the s2forums repo.
[2] The last commit on the parent repository of s2forums was in 2017. The last commit on the s2forums repo was in 2016. The DjangoBB website doesn't have an HTTPS certificate and shows many error messages.
[3] See Django's security issues archive page: I can find many issues including but not limited to SQL injection, memory exhaustion, denial-of-service, XSS, and information leakage.
[4] See DjangoBB's forks on GitHub and search results for “DjangoBB” (Scratch is #3 on the list)
[5] See discourse.org/customers.
[6] Presumably because it's not very popular. See discourse/discourse/script/import_scripts on GitHub.
[7] More than half a million! See the topic id of a newer topic, like this one.
[8] See the importer and its documentation.

Last edited by ZZC12345 (Sept. 24, 2022 06:28:29)

DifferentDance8
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

This raises another question: Why discourse? Why not nodebb?

To answer your original question… very. As the 2.0 website (including profile pages, which assuming you don't use a 3.0 everywhere addon) is made using Django[1], it would be a hassle to try to convert to discourse (even when I think nodebb has a better UI).

Even though DjangoBB went belly up a long time ago, Discourse, with it's various better looking alternatives[2], isn't the best option. I would suggest bbPress (because the skeumorphic look fits in better with other 2.0 related pages) or Thredded[3] (because it looks lightyears better for mobile than the current option). Even FluxBB (which went belly up in 2018) is better than nothing!


[1]: https://en.scratch-wiki.info/wiki/Python#Trivia
[2]: https://alternativeto.net/software/discourse/
[3]: https://github.com/thredded/thredded

Last edited by DifferentDance8 (Sept. 24, 2022 06:53:21)

ZZC12345
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

DifferentDance8 wrote:

This raises another question: Why discourse? Why not nodebb?
Much more expensive for hosting (source), less popular, and doesn't support BBCode out of the box (harder migration).
DifferentDance8
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

ZZC12345 wrote:

Much more expensive for hosting (source)
You said in OP that:

ZZC12345 wrote:

However, the Scratch Team (in Cambridge, MA; the devs, not the mods) actually has server infrastructure in place already, which could easily be converted to run Ruby on Rails, Postgres, and Redis, which are all common backend frameworks.
So, it would theoretically not cost anything to host…

ZZC12345 wrote:

less popular
Regardless, NodeBB is used in thousands of websites.

ZZC12345 wrote:

and doesn't support BBCode out of the box (harder migration).
Well, IDK if it's the fact that I use GitHub, but I actually find markdown easier to use than BBCode.

Last edited by DifferentDance8 (Sept. 24, 2022 07:02:00)

Maximouse
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

Unlike Markdown, BBCode syntax is not standardized so migrating existing posts to any other forum software without breaking the formatting would be difficult. It might be better to make an archive.
NFlex23
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

I've gotten so used to DjangoBB though…
imfh
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

Does Discourse support HTML posts, at least internally? DjangoDB does that. It takes the BB code and converts it to HTML. It then uses the HTML for everything except editing, as evidenced by posts with a large font size which is no longer possible. If the HTML could be imported instead of the BB code, the posts would maintain accuracy, in theory.
MagicCrayon9342
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

Just to be clear, the ST will never be updating the forums.
Pufferfish_Test
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

MagicCrayon9342 wrote:

Just to be clear, the ST will never be updating the forums.
citation please
Maximouse
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

Pufferfish_Test wrote:

MagicCrayon9342 wrote:

Just to be clear, the ST will never be updating the forums.
citation please
Scratch Team members did say more than once that they don't currently have plans to migrate the forums to a different system (for example here) but that doesn't mean they will never be updated.
DifferentDance8
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

I just recently resurfaced this topic, and why would they switch to a forum software that was last released 4 months ago[!] instead of using Simple Machines Forum, which last released 8 days ago?
Maximouse
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

DifferentDance8 wrote:

last released 4 months ago[!]
Some software products are updated less frequently. I don't think that's a problem if they're being actively developed.

Last edited by Maximouse (Dec. 3, 2022 12:55:49)

ZZC12345
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

Maximouse wrote:

DifferentDance8 wrote:

last released 4 months ago[!]
Some software products are updated less frequently. I don't think that's a problem if they're being actively developed.
I think that was a joke. Also, sometimes it's better not to use new products as they are more likely to have bugs than tried-and-tested older versions.
DifferentDance8
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

ZZC12345 wrote:

I think that was a joke. Also, sometimes it's better not to use new products as they are more likely to have bugs than tried-and-tested older versions.
Except the thing is that 2.1.2 is a stable release.
ZZC12345
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

DifferentDance8 wrote:

ZZC12345 wrote:

I think that was a joke. Also, sometimes it's better not to use new products as they are more likely to have bugs than tried-and-tested older versions.
Except the thing is that 2.1.2 is a stable release.
That doesn't mean it's stable. (and by that same reasoning, I should stop updating Chrome even though it keeps getting security bugs and all that stuff fixed)
DifferentDance8
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

ZZC12345 wrote:

That doesn't mean it's stable.
What? And Discourse is?
MagicCrayon9342
Scratcher
1000+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

ZZC12345 wrote:

Quote
So your never updating Chrome? Humans make mistakes and will never stop making them, we are humans. There will never not be bugs or security vulnerabilities in Chrome.
SAVVYSCLUTTER
Scratcher
500+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

I'd prefer phpBB or PunBB as they work on old browsers. I know Scratch 3.0 doesn't, but some users like me sometimes visit the forums on whatever device we're using.
TheSecondGilbert
Scratcher
100+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

SAVVYSCLUTTER wrote:

I'd prefer phpBB or PunBB as they work on old browsers. I know Scratch 3.0 doesn't, but some users like me sometimes visit the forums on whatever device we're using.
Another one is FluxBB, which is also what Scratch used to use on their 1.4 era (thus completing the circle).
Although, on the TBGs we've found a XSS vuln there, so…
9pfs
Scratcher
100+ posts

How hard would it be to replace DjangoBB with Discourse, and would the ST do it?

DifferentDance8 wrote:

I just recently resurfaced this topic, and why would they switch to a forum software that was last released 4 months ago[!] instead of using Simple Machines Forum, which last released 8 days ago?
Sorry to necropost, but although Discourse doesn't have version bumps that often, it actually gets updated several times every day, and every update is just as stable as a stable build of Google Chrome (well, probably more stable) (Discourse has lots of tests (nearly every single feature has a test, and when a bug gets fixed, a test gets added) that all have to pass for a change to be used in production, so that makes sure that everything is stable, even when it's in beta)

Last edited by 9pfs (July 14, 2023 08:12:48)

Powered by DjangoBB