So I did a thing...
Posts: 14
  • Posted On: Aug 24 2021 3:18am

I did a thing, a pretty big thing. I rewrote TRF and tonight I YOLO'd and did the deployment.


Some of you might have gotten Account Activation emails. That was a mistake, I enabled account verification features for testing a while back and forgot that they'd be hot during the migration.... All old accounts are automatically pre-verified though, so just use your email address and a password you remember and all old accounts should get linked up.


Hopefully everything works alright. The old site is still available in read-only mode at if you need to find & reference anything to demonstrate an error.


Happy 20 years everyone! I was planning on sitting on this until closer to the real anniversary, but I've been poking at this project on and off for about 5 years now and honestly... better early than never, y'know?

Posts: 14
  • Posted On: Aug 24 2021 6:04pm

OK, a little more information on what changed, and things to look out for now that I'm not literally on my way to bed.

When I say I "rewrote TRF", this time around I truly mean a full rewrite. This is TRF version6, and it's all-custom. No ezBoard, vBulletin, LDU, Sedito, or Cotonti (all things that TRF has used in the past). I authored every piece of functionality you see. The hard part about maintaining the v5 codebase ( is it's written in PHP, using a framework called Cotonti which is maintained by a group of Slavs. I no longer professionally write PHP and Cotonti is basically dead in terms of development, so security updates were few and far between and my willingness to work on that code has diminished substantially over the years. The language gap between myself and the bilingual Slavs made debugging hard as half the help topics online aren't in english.

Rewriting TRF into a language I use daily will help a lot in making sure features and fixes are performed in a timely manner. Because this thing is now all-custom, there are no hidden features. For example, I can't move threads at the moment because I haven't written that functionality (I have added a ToDo for that gap). I'll be writing new functionality as things come up -- I'm treating this project as if it was one of the projects I maintain for my day job. It runs on much the same infrastructure, and I'm using the same tools that I use for my professional clients.

The biggest part of this change was the data migration. We have nearly 20 years of text content in our database, and that content has gone through many, many migrations. When it comes to data integrity it's ... not the greatest. Lots of missing user IDs (from spam cleanups in the past I think). I spent the vast majority of my development time working on a 16-step import process to preserve and fix this data as much as possible. The migration itself takes a little over an hour, and I re-ran it about a hundred times over the last 3 years as I ironed out as many problems as I could.

That said -- if you notice that any of your Identities are missing historical content, please let me know ASAP. I preserved as much data as possible, the old database is still available and the new one contains a lot of intentionally kept legacy data with the hope that I'd be able to reconstitute missing data if necessary.


New Features

I'm pleased to announce a few awesome new features that I'm very happy with!

- Accounts & Identities. You should have already noticed this, but now you sign in with an email address and a password, not an account username. That is because now, Accounts are used to sign in, and Identities are used every where else to identify you. You can create as many Identities as you want, and you can switch between them at-will (hit the little Group of People icon in the upper-right). Hopefully all your old Accounts have been transitioned to Identities and are under a singular account, but if you used multiple email addresses you'll just need to sign in with every email address you used to claim all your old Accounts. I will eventually make an "Account Merge" functionality so all your Identities can be held under a singular Account.

- Custom Factions! You can create a Faction now! Factions have nearly ever feature that this site does, a Wiki, Forums, custom CSS, and gated Memberships. Technically "" is just a blessed Faction that knows its the main site. Custom Factions get their own subdomain and act as a full site. I really really wanted to do a data migration here and bring back old group data from vBulletin, but I wasn't able to pull that off. I settled for enabling people to start fresh.

- A better Wiki. It's called the Codex. It's pretty basic, it's a collection of Pages under Categories that can be edited by any Member of the site or faction.

- Much improved Private Messages. The new system acts more like email and properly supports groups of users in the same persistant PM.

- Better Post Rendering. With all the migrations we've done over the years we've got posts with HTML markup, BBCode, EZBoard custom markup, and some Markdown. Now every post in a Forum or page in a Codex has a toggle for what renderer to use. You can switch it to plain text to clean things up, or switch rendering modes and let TRF handle it. If you find posts with really bad rendering let me know, I might need to update the parsers to handle special codes.


Planned Features

In the near future there's some stuff coming down the pipe that I'll sketch out briefly here.

  • Topic Moving
  • Double-post blocking
  • CAPTCHA validation for new Accounts
  • Daily Email Delivery of Subscriptions (you can subscribe to topics now but it doesn't do anything other than give you a list of subscriptions)
  • Better Responsive mode, this thing should be useable on Mobile



Posts: 4195
  • Posted On: Oct 3 2021 4:44am

I just found this today.  Spot on, Titus!  This may be just the kick in the butt I need to get with the program and post more threads!


Posts: 4195
  • Posted On: Oct 3 2021 5:34am

On another note, while I was pittering around on discord making a post about Star Trek, your old Plain Fish tune "Steady On" came up on my  music playing.  I hadn't heard it in a good long while (I transfered the music from an old external HD today and while that was happening I figured I would see what TRF was doing and found all these neat, new  changes. 

Posts: 5387
  • Posted On: Oct 5 2021 7:17am

Hey, you're on Discord? You should come to the TRF Discord. Did you know TRF has a Discord?

Posts: 7745
  • Posted On: Oct 8 2021 3:20am

Hey Omnae! Wow, haven't thought about Plaid Fish in a very, very long time, I'm not even sure if I have copies of the tunes any more! That's one hell of a blast from the past, damn.

Yeah lots of changes, more changins coming as needed. I just rolled out some updates so deleted topics actually get deleted, that should help with the weird spam. :-P I'll have to add the same stuff for Posts in Topics soon.

Posts: 2440
  • Posted On: Oct 9 2021 9:03am

Titus help Smarts can't remember his e-mail and you aren't reading your private messages.

Posts: 3599
  • Posted On: Oct 9 2021 7:45pm

Something's different! Wait! what happened? What's going on?

*looks around and gets up to speed*


Nice one Titus!  This looks like a fair bit of work!

Also...we have a discord channel now?