06-16-2014, 11:21 PM
(06-16-2014, 09:28 PM)FireKnight Wrote: Thanks for the validation, Sirocyl. Also, good luck with the renovation of FETO as it looks like a massive undertaking. I hate dealing with legacy code, especially other people's legacy code. Coupled with the fact it sounds like 1 particular coder made it meaning documentation is going to be practically lax and it was probably rushed to be released, it's not what I would call fun.
So, you have my admiration for tackling this challenge and I hope the legacy code doesn't cause too many self-inflicted concussions.
I love you.
But yeah, you seem to understand 100% the dealings of refactoring someone else's project.
It's written in the kind of PHP that would make the Flying Spaghetti Monster lose his mind.
It wasn't one particular coder which wrote everything, but it has always been one particular coder at a time working on the stack. There never was a standard coding/style guideline, it's always been "write functions. if it works, great, if not, write more code to make it work".
There is no documentation. No coding diary, no comments, no changelogs, no git blames, no tags, no help files, readmes, wiki, doxygen, metadata, no beautifully-typeset TeX documentation on anything. The only thing that is documented, is what's not made in-house - IPB. And even then, it's sparsely documented because it's commercial software.
Part of the reason I'm divorcing the site from that crusty old board, is that we aren't renewing our license on it, leaving us in the dust as far as updates go.
We chewed over the decision to buy into the license for it, but decided against it, as the old board was on its last legs, and it's beginning to collapse now. It would not have lasted until now if we kept using the old system the way it was.
I cannot access major, important functions of the Admin CP, because it fails to load halfway through, running the server out of memory. (I can bet our hosting provider is none too happy with that, either.)
In addition to all that, the site, CMS, knowledgebase and media, FETO and all the services, were entirely built on IPB, which is a very questionable move in my opinion. Building a site on IPB is like designing a game engine on Internet Explorer. It works, kinda, but it looks ugly, is slow, and its practicality begins to wane over time, and you're left wondering what executive decision prompted you to make it that way.
And real life is kicking my ass at every turn.
I was originally planning on being "nice", and iteratively developing FETO, slowly moving it to a new platform, and keeping the user data sacred, but now, I don't think that's possible without either a second server, or spending hours slaving at the SSH terminal to make basic things work, and starting from scratch.
And due to the way it's programmed, it's hard-coded to use the one database, throughout all of its entangled scripts and functions.
Meaning, no staging, no sandboxed testing, no beta server.
We're developing on live, production code, and living on the edge.
We've had one catastrophic failure already, which was thankfully resolvable because I kept a backup of the site and databases.
I recently lost the 2TB HDD containing all my site backups and in-progress development and workspace. Which means, the "iterative development" strategy is straight out the window.
Every rime I try to make some progress here, something takes a massive dump.
But thanks for at least understanding the hell I go through.