From: Evan R. <eva...@gm...> - 2006-04-30 15:37:05
|
Hey guys, me again. i've spent the last day thinking about all of this stuff more intensively. i was going to start on making everything multi-user, which is not so complicated, but it requires a lot of adding/rewriting of core logic...since we always need to retrieve only the logged in user's stuff. and i can't bring myself to take that step when everything is, as we say in the office, spaghetti code. in order to solve this problem, there are two things that need to be done first, which i'm going to just jump in and get started on: 1. the code desperately needs to be refactored. 2. the view needs to be broken up and simplified. my initial thoughts yesterday were that the only option was to apply a professional framework here. i spent most of the day playing with CakePHP, which is pretty damn cool. but in the end, i admit that i was probably wrong, as it would be, as they say in german "mit Kanonen auf Spatzen schie=DFen" which is a nice figurative that translates like "shooting at sparrows with cannons"...in other words, way overkill for what we need. [although, if we were starting the application brand new, it may still be a decent choice] in any case, in regards to my 2 points above: 1. i see that Kev began laying the foundation for this yesterday.=20 i'm going to simply jump in and help out there, whenever i need a function, i'll simply add it to a class. this will eventually tone down init.php over time. if someone has a better idea on how to systematically chop at this let me know. in any case, i'd start in on the options and users, since that's what i had on the table for the next step towards multi-user. [note: Kev, i'd recommend you rename actions/entities to controllers/models respectively, since that is more standard terminology] 2. essentially each of the existing scripts is in some way or other the view, but in most cases more than needed. i'd like to be able to split this apart into more code blocks doing 1 small task each. we could choose to use some sort of templating engine (such as smarty), but i doubt it's necessary. in the end, this makes it super simple for Andrew to plug in his ajax stuff and for Khaled to create a decent stylesheet. ok enough from me...it'd be interesting to hear thoughts from the rest of y= ou. /evan On 4/30/06, Evan Roth <eva...@gm...> wrote: > hey, > > kev, i see that you've started to put in the...um...framework for a frame= work. > > after chopping apart the options page today, i became a little > disheartened. currently our controller is a big fat blob and the view > is a mess. > > in order to get any kind of css to play nicely, we really need to > strip out a nice view and keep it super simple: > for example, the feeds list, should be 1 view, which is then invoked > from the panel or frameset or whatever. right now, this same list is > coded almost identically in feeds.php (framed) and panel.php (normal). > > i'm really getting the feeling that we should just bite the bullet and > switch to a php framework...which will make everyone's job easier in > the end, even if it is a bit of work up front. > i've never used any php specific ones (only struts for our jsp stuff > at work), so can't make a good suggestion. been reading quite a bit > about symfony lately, but it might be only php5. otherwise, i've > heard good about cakephp, since it seems to be emulating rails, and > thus riding the popularity wave. > i'd imagine we'd be much better off implementing something that's > already available, rather than trying to build our own. > > in any case, my concern is not so much the fat init.php, but the view > that is all over the place. and if we want to really push out a nice > tableless, css based UI, we need a really efficient view. (this also > helps if we decide to go down the ajax road as well) > > anyway...just thought i'd add my 2 cents...perhaps some of the other > devs have some thoughts. discussion is always good. if it should be > done, i don't mind jumping in the cold water and starting with it. i > just want to pass off some clean simple markup to khaled ASAP, so we > can begin seeing some initial versions of the new UI...that will be > really exciting... > > /evan > |