New Cythera Forums!



  • Boring backstory...

    Given that Ambrosia Software is on its last leg, there's been a lot of discussion about moving the community to a new home. Some of the EV folks started a Discord for their board, and I believe there's one Avatara setup for Cythera. Additionally, I've made a couple attempts at different boards hosted on Cythera Guides. In any event, my main goal has been to preserve as much of the history of the existing boards as possible, and so I wasn't satisfied with any of the options out there.

    Due to Avatara's ongoing insistence that we look into something more Discord-like with Markdown support, I decided to return to one of the most promising forum systems I tried years ago: NodeBB. At the time, it felt too different and didn't run on any of the databases I used, so I returned to myBB. However, it's made progress in recent years, most notably shifting to a Mongo backend by default.

    Long story short, the document-based database schema in NodeBB is so simple that I was able to do in a few days what would have taken many months on myBB -- write a crawler/converter to pull all the information from the existing boards and port it to the new system. There's a couple issues (search is on the fritz at the moment, plus some dangling links to Ambrosia's boards remain), but it's a comprehensive recreation of the Cythera boards on NodeBB.

    I thought of deploying it on a staging subdomain to share, but since the myBB software has been so lackluster and there's no posts on it, I just directly replaced forums.cytheraguides.com with the new system:

    New Cythera Guides Forum!

    NodeBB has some very appealing features. Foremost is built-in Markdown support. I know that will be popular with Avatara. One of my personal favorites is combined flat/threaded topic views. That is, all posts are presented in the standard flat order, but individual replies can also be viewed directly inline. It's a powerful feature that combines flat and threaded layouts optimally, and I've always been surprised that so few chat systems employ it.

    Another key aspect of NodeBB is that everything is "live." Private messaging is live chat. Posts update in realtime. Pagination is eschewed in favor of infinite scrolls. Most of these capabilities rely on sockets and cookies, so if people aren't a big fan of cookies, we could enable pagination.

    It's also very fast. Even though search isn't working correctly at the moment, it's as easy to browse through posts from the beginning of the forums as recent ones.

    The system is remarkably resilient. I've tested with a lot of garbage data, and it doesn't flinch... one slightly wrong field in a single row of a single table in a SQL-based system like myBB and the whole system is dead! Combined with built-in email testing, plugin management, dynamic device support, and other features, I'm finding NodeBB to be a welcome change from myBB.

    Usernames and notes

    You'll probably notice that all of the users right now have "_bot" in their name. I did this to leave options open for anyone wanting to register with an existing name. If you want to create a new account and leave your robotic doppelgänger intact with all your post history, that works. If you want to take over the bot account and restore all of your (Cythera) post history, you can do that too; it's what I did.

    To take over an existing account, you can register a new one with your desired password. I can then merge the two, but you would need to login one time as the "_bot" user and set the username as desired. From there, you can also change your username and update your email/profile settings.

    Alternatively, I can give a temp password to people wanting to take over a bot account, and you can directly login to the system to reset password, email, and username.

    I'm not sure how much anyone cares, but the option is there.

    A few tidbits:

    • I've only moved the Cythera forums. Post counts and such will reflect that. I might port over some other Ambrosia forums later, not sure. None of the others are really used, so a static archive like Pallas' one makes more sense. That being said, since each subforum is its own category, it'd be pretty easy to bulk import others at any time.
    • Most of the older topics are locked by default. I unlocked at least the last decade in the main forum and a couple years back in the chronicles.
    • Attachments and images are not moved. There's no way to even access attachments on Ambrosia's system anymore; that content is unfortunately lost.
    • NodeBB doesn't support subtitles or polls as far as I can tell. My converter places the subtitle in bold at the top of the first post. Poll options and votes are put directly beneath that if applicable.
    • I used another tool to port the html to Markdown text, so some information like non-reply quote boxes wasn't preserved.

    In Closing...

    If you're reading this on the new Cythera Guides Forum, welcome! If you're on Ambrosia's boards, feel free to make an account and hop over to Cythera Guides! NodeBB is a little different than what we're used to, but it's more "modern" in that it takes cues from Discord and reddit.

    As I said, my main goal has been to get a new board system running that maintains the existing history, so this was mostly for my own interest. I hope others find it useful as well. I'm sure there's still a lot of lingering issues with the conversion yet to be discovered, but with some kind of backup in place, I personally feel a lot better about the possibility of Ambrosia's web board vanishing overnight.

    To the Ambrosia side:
    It seems strange to say this, but this is likely to be my last post here. It's been a lot of fun, but creating these temp accounts is getting more and more difficult and frustrating. I'll continue to be active on the Cythera Guides side. Farewell, Ambrosia!



  • A few small updates:

    • I encountered one unexpected bug when posting this topic! The global id for tracking topics and posts didn't get updated in the batch insert, but it's been fixed now.

    • I tweaked the importer to also put in the search entries, so search is working now.

    • I'm going back and forth on pagination. I like infinite scrolling in theory, and it makes the board feel very "new." But it's such a departure from the way I'm used to browsing the Cythera boards that it doesn't quite click for me. At the moment, pagination is enabled by default, but logged in users can adjust their preference in profile settings.



  • Additional updates:

    • Welcome @Two-Jacks @Buzzzzy! BW and Av should be able to login now, I hope

    • The NodeBB<->Discord integration should be enabled, so this post will serve as a test. If it fails, I'll be reduced to pointless "test" posts



  • test post


  • Global Moderator

    Thanks for getting this all set up. It looks like the forum is mostly working, after some adjustment.

    It's sort of weird seeing a new forum system. The ASW forums went through at least three versions (plus the one on delver before ASW took over), with the last version being almost a decade ago. I wonder how they would look today had ASW stuck around. Markdown and forum tech has largely changed in the past five years, though BB forums are still around, so it would've been interesting to see which path ASW would have taken.



  • It’s great and it feels like something worth celebrating, though I don’t know what sort of celebration to suggest.


  • Global Moderator

    Thank you, Wizard. Very good work and very well done. It's very good to know that the boards will carry on.


  • Global Moderator

    Just as a note to editors, it looks like all special characters were mis-encoded with a ___-prefix, so all those ^_^s became ^____^ and :) became :___).

    If you're editing these out, sometimes it'll treat an underscore as an italics indicator (regular markdown) and sometimes not. So if you have a broken ^^, prefix the underscore with a backslash like ^\_^.



  • ^______^



  • Just saying hello. I'm pretty busy these days with my career, but I just wanted to wish the community well with the new forums.



  • I posted this on discord as well, but in the interest of general users browsing the forum who may be curious about the migration process:

    https://github.com/spolsley/webforum_to_nodebb

    Those are the scripts and steps I used to port Cythera over to NodeBB from Ambrosia's Invision system. It's unfortunately long and involved. Regarding the quality of my code itself, that is best described by Tyrael when he told me this years ago: "You program like a researcher." :p