Description
Investigate various php open source frameworks that would facilitate a MVC system to have surveys as plug-ins.
At this point the system needs to be completely re-written to follow a fluidproject benchmark. So, 2 branches of VULab will be developed. One “working” version (designed for all-hands meeting) and one built with a proper framework (using data models that are in the current VULab system)
Current candidate is: www.CodeIgniter.com
Comments
-
Blake E commented
2008-11-03T11:28:46.000-0500 vulab6
-
Blake E commented
2008-11-03T11:29:22.000-0500 A great article outlining the CodeIgniter license. It shows that it is BSD compatible. (which is what fluid is).
http://www.hopstudios.com/blog/is_codeigniter_actually_open_source/ -
Blake E commented
2008-11-03T11:43:44.000-0500 I am looking at CodeIgniter because:
- it follows the fluid mantra - “A lightweight framework, with a bit of MVC to help make your app easier to write.”
- It is widely used and maintained (we can draw additional interest and support)
- it has plugin architecture etc already setup.
- focus on a small footprint
Why am I not looking at cakePHP
- it is very large and is considered “bloated” to most programmers
- distributed with the MIT License
- is closer to a CMS then a framework (a framework will provide more transparency and versatility)
-
Blake E commented
2008-11-03T17:00:23.000-0500 I sent an email to the list with some more pros and cons, I’ll paste it here as well:
OpenVULab is going to be undergoing some heavy reworking after the All-Hands-Meeting.
We are going to be moving to a real open source mvc framework to facilitate a few things:- plugins (survey tools as well as simple inclusion of fluid components)
- data models (handle projects, surveys, etc, in a generic way that is easy to integrate with a new design)
- proper page controllers (handle data outside of layouts)
- logic / view separation
Why are we switching to a framework?
Currently there is no framework behind phpESP, and as we are trying to incorporate dynamic and complex things such as the ones listed above.
Any framework will have already written functionality and code to provide these things in a clean and easy manor.
What Framework then?
I’ve selected 2 popular open source frameworks and I’ve outlined some of the pros and cons below:
phpCake.org and CodeIgniter.comI’ve collected a basic “plus” and minus’ below:
PHP Cake:
Pluses:
1. Stricter framework, better compliance with MVC.
2. Bigger amount of modules
3. Lots of examples and snipets
4. VERY popular.Minuses:
1. Much heavier than Igniter, more configuring to do.
2. Its template system and smarty integration is kinda strange.
3. The overall templates (display schemes) implementation has its own limits.
4. You are committed to do things the cakePHP way
5. Very poor documentation.Code Igniter
Pluses:
1. Looser - more ways to do things.
2. Easy configuration, nice loging capabilities
3. MUCH Lighter - their goal is to be light and powerful.
4. Template engine or (optionally) native php for views. Very light. (more control over views)
5. AMAZING documentation (very easy to get others to help)Minuses:
1. Less modules. (which is growing every day)
2. Loose system has its own good and bad sides - less order in the source files.I prefer CodeIgniter, as I always want more control then more built-in features. Also, CodeIgniter is MUCH lighter and the documentation is leagues ahead of phpCake. Two things that I think are very much in line with the fluidproject. By choosing CodeIgniter we’d have less pre-made modules to choose from, but given that we have high standards in terms of UI and code, I think building out own modules is a better route anyway.
Here is a blog post that breaks down the CodeIgniter License:
http://www.hopstudios.com/blog/is_codeigniter_actually_open_source/phpCake uses the standard MIT Open Source License.
Any questions? Comments? Personal Experiences?
- Blake (the infamous FatalRemedy)
- plugins (survey tools as well as simple inclusion of fluid components)
-
Blake E commented
2008-11-10T11:58:15.000-0500 So far nothing has come up against CI, and I plan on moving forward with it. I’ve done further research into the components and library and its exactly what we want to use.
I’m going to leave out this issue until after all-hands and we can push to have a laywer take a look to give the final “OK” on CodeIgniter.com