Author Topic: Technical question about FA  (Read 948 times)

ColonThree

  • **
  • Posts: 123
  • E-points: +16/-3
  • Not a cat
    • View Profile
Technical question about FA
« on: January 04, 2013, 09:32:39 am »
At the moment, it seems one of the biggest reasons why FA isn't getting outside help for the UI is because of trust issues, because it would involve seeing the code, which I'm assuming is because the UI and backend are intertwined. Would it not be relatively simple to export such code into external files, so that instead of the PHP for the UI having "select blah from blah and do some magic", it would just call something like GetLatestSubmissions(24)/GetUnreadJournals() and whatnot? Then once the UI is separated from the back end, anyone working on the UI only needs to know what these functions are, how they're called, and in what format the data is returned. An FA UI API, if you have an acronym fetish. At the same time, the back end can be fiddled about with endlessly just as long as the functions still accept and return the same data in the same way.

It sounds simple enough - just cutting and pasting and adding some intermediate variables, maybe massaging the data into a more suitable format for passing between functions - but if that were the case I'm sure it would've already been done. Am I gravely underestimating how difficult it would be? Is there something I'm overlooking or misunderstanding? Is the code just that awful? I wouldn't think it would be that bad, since even the user pages say it only uses 25 different queries, with about 10 of those probably being the ones for the top bar that are the same on every page.

Apologies if I abused any terminology. You get the idea though.
~Witty quote~

RickyBobbyMew

  • STOP POSTING
  • Posts: 18
  • E-points: +0/-8
  • Uninitiated Rube
    • View Profile
Re: Technical question about FA
« Reply #1 on: January 04, 2013, 01:30:35 pm »
Almost every web application these days follows the MVC pattern, which is sort-of-not-really what you're describing. You can still have XSS holes with purely client-side code; not ever exploit is server-side. But yes -- most applications these days separate the business logic from the views.

As far as FA -- I have no clue. I haven't looked at their code, ever, and it's not always easy refactoring an entire web application to use a standardized framework. That said, it's not a very complicated web application compared to other enterprise apps I've worked on.

The "trust issue" doesn't make any sense in not having people help with the code. We have contractors work on shit all the time and you can have people work in a branch and review the code before merging it down and deploying it.

ColonThree

  • **
  • Posts: 123
  • E-points: +16/-3
  • Not a cat
    • View Profile
Re: Technical question about FA
« Reply #2 on: January 04, 2013, 03:49:22 pm »
You can still have XSS holes with purely client-side code; not ever exploit is server-side.

Obviously the code would still need to be checked, but at least they would have some new code to check.

Almost every web application these days follows the MVC pattern, which is sort-of-not-really what you're describing. ... As far as FA -- I have no clue. I haven't looked at their code, ever, and it's not always easy refactoring an entire web application to use a standardized framework. That said, it's not a very complicated web application compared to other enterprise apps I've worked on.

From what I gather I everything is all bundled together in one big smelly mess. Perhaps it's been done already. Who knows. Certainly it's never been made public.
~Witty quote~

Pi

  • POOR IMPULSE CONTROL
  • Postcount ate Whippany, NJ
  • ****
  • Posts: 614
  • E-points: +40/-10
  • <blink>yes hello</blink>
    • View Profile
    • Clan Spum userpage
Re: Technical question about FA
« Reply #3 on: January 04, 2013, 06:44:02 pm »
The code is a gigantic shitshow. There's also no review to speak of. Basically, what they need is a complete rewrite, by someone competent, in something not PHP, but that's not really gonna happen.
"we did farts.  now we do sperm.  we are cutting edge." — Theo DeRaadt

RickyBobbyMew

  • STOP POSTING
  • Posts: 18
  • E-points: +0/-8
  • Uninitiated Rube
    • View Profile
Re: Technical question about FA
« Reply #4 on: January 15, 2013, 03:34:03 pm »
...and we both know plenty of people who fall into that category have offered to help.

They might have a hard time judging competency, but I think the reason they are not taking people up on offers for FREE HELP falls into the realms of drama and paranoia. The paranoia might be a little understandable since somebody took the time to exploit the site on at least a few occasions but if they were doing things right and using a framework that prevented these types of problems (or at least using best practices and reviewing code) it shouldn't have been a problem in the first place.

I think Inkbunny is making the right decision going open source... Or, at least I heard that was the plan.

I'll definitely help them out. I usually need some kind of project on the side, anyway.

Silvermink

  • Posts: 2
  • E-points: +0/-0
  • Uninitiated Rube
    • View Profile
Re: Technical question about FA
« Reply #5 on: January 25, 2013, 11:08:04 am »
I'm not sure I'd want to see FA's codebase. What's that thing about the abyss gazing also into you?