Early this year, I started refactoring POP Forums to include a plug-in system of sorts that would allow some interaction of external pieces of code and UI to interact with topics. It's not the most elegant thing in the world, but the idea was to be able to drop something in without having to do a bunch of edits on the code and cause a divergent code base. I have specific ideas for plug-ins, and it occurred to me today that as we head into the peak season, I need to get this shit in place for CoasterBuzz or miss an opportunity.
So I deployed the updates today. Even with all of the style changes in the CB forum, it actually went pretty smoothly looking at diffs and adding in the new parts. Most of the changes were in the code library, which involves just replacing the compiled assembly, but there were enough changes to have to be careful about how stuff went in. There are also a bunch of minor changes here and there, like RSS feeds for recent topics and forums, minor style changes (page links are now "x of y") and some performance fixes no one will ever see. This version (v8.5) will not likely ever see any public deployment. I'm done putting v8.x stuff out into the world for free.
First task is to remove the hard-coding for the news forum that drops the news item in there, as that's a good starting point to see if what I built really works the way I intended. After that, there are at least three plug-ins I have in mind. One is really easy: Some extra UI to explicitly link trip reports to the park database. That's long overdue.
Meanwhile, when I get tired and disconnected from this, I can always work on something else. I'm surprised at how well this works, and I'm not sure why I never realized it. If I get stuck on something, my instinct is to go do something else, when if I just close one project and open another, I stay in a groove and get stuff done. Duh!
Thinking about CB and the forum app of course makes me wanna rewrite everything in MVC, which would be infinitely more maintainable, but then I get back into the rut of not every getting anything new out there. Rebuilds have extremely low ROI, and right now, ROI is important because it's paying the bills. I am doomed to rewrite that damn forum over and over for the rest of my life! :)