SMF is falling apart.

So the idea is to keep the front untouched making/getting a new backend and link it with the front? Seems like a good choice keeping all the archives and data in tact.

Updates on the backend choice or custom made? Have you already started? Keeping the old database or relocating? Probably MySQL?

Been working a lot with NodeJS which has proven the past few years to be an all round solid choice so that’d be my suggestion (and area of expertise).

Your efforts are greatly appreciated Riven.

Of course I wouldn’t expect one person to attempt this by themselves, but is it too crazy to suggest making our own forum in java or adapting the jforum2 software to our needs?

https://code.google.com/p/jforum2/

The Sims 3 forums are based on jforum and are quite beautiful:

http://forum.thesims3.com/jforum/forums/list.page

The jforum2 project is not being actively developed. It is in bug-fix mode. However, it is complete. It’s the best java forum software that I could find.

There will be a new frontend and a new backend, as both are in a deplorable state. :point:

We need something more modern, although there will always be a culture shock when new styling is applied. People might revolt, before lovin’ it :slight_smile:

Make it responsive and we’ll all be lovin’ it from the get go! ;D

Oh, it will be responsive. With a proper DOM structure it isn’t too much work.

begins sharpening pitchfork

Glad to see SMF finally go. <3

That’s a Herculean task! I don’t doubt that you can do it, but you shouldn’t feel obliged to bear it solo. Feel free to farm out any dreary jobs to us.
For example, will you carry over all of the old forum posts and personal messages? I imagine that would be a nightmare, but something that we could help with once the new back end design is settled.

I imagine the initial conversion should be done by one person. Onward maintenance can be open-sourced.

When you think of it, a forum is really limited in functionality.

About 90% of the user interfaces are only accessible by the admin.
About 95% of the user interfaces are only accessible by the mods.
If you did the ‘math’, you guys (‘regular members’) see about 5% of SMF’s UI, which is the part that initially has to work in the revamped forum.

When you think of it, the UBB parser (responsible for turning your [icode][i][/icode] into [icode][/icode]) is the only complex thing you’ll encounter, as UBB is quite a messy standard, given that an AST has to be built with different parsing-rules per tag-type. It also has to be able to process garbage and gracefully continue parsing. The good news is that that part is done already. SoonTM we will have (near) realtime-previews of the post you are typing.

The data model is simple, there are only 20-30 tables, which have simple relationships. The complex part is really the templating and the separation of concerns of serverside vs. clientside). With modern clientside templating engines like Angular / Knockout / React, things become exponentially simpler.

With control over the backend implementation, it’s actually quite easy to make most of today’s forums functionality less… stupid. Once you follow a topic or participate in it, it should take priority in the unread-topics listings, say: Followed > Participated (ordered by, say, awarded medals, desc) > [everything else]. Things like infini-scroll become trivial.

One of the more annoying things to support will be handling all those arcane URLs that are indexed in search-engines already.

[quote=“Riven,post:50,topic:55907”]
Are you Medusa? Because some part of me just got rock hard.

Well, due to performance issues of (larger) code dumps, the [icode][ code ][/icode] and (to prevent abuse) [icode][ icode ][/icode] tags can probably not be previewed in realtime - they will only be syntax-highlighted in the final post.

What about implementing a client side code highlighter just to preview them, and use the server side highlighter to highlight the final post?

It’s a heavy operation, we don’t want the browser to stutter while you are typing your message…

Maybe do like Eclipse does? If you haven’t typed for 1-2 seconds, reparse it? Or be even smarter and have a maximum post/code length before it stops previewing it?

So, when you type for a bit, ponder some first world problems, and continue, and find your browser to be unresponsive for however long it takes to parse code / produce html.

There are a billion solution to this problem, but they all get rather elaborate very quickly, and can be postponed.

Feature creep successfully averted. :point:

Building your own forum won’t be less time consuming than using something like phpbb and importing the post history, then just take a minimal, barebones theme and customize it.

Actually, I doubt it. We have a shit tonne of customization in JGO’s SMF instance, and replicating it in yet another crappy PHP forum would be painstaking and… demoralizing, to say the least. With powerful clientside tools like Angular it’s actually a breeze - I already implemented basic forum functionality and quite a few ‘addons’ in the one or two hours a day I’ve been working on it for the last two weeks. The backend business logic of a forum really isn’t that big if you leave out all admin/moderation UIs. Why invest my ‘precious’ time in yet another dead-end forum backend when I can enjoy building my own (and open-sourcing the damn thing, for your pleasure).

Riven, just wanted to tell you how much we all appreciate what you are doing for this community.

I’m also highly interested in helping out once you open-source it as I would love to improve the forum!

I have zero idea about how any of this kinda stuff works, so with a grain of salt. http://casual-effects.com/markdeep/ is pretty cool.