Why does LightFront have "Flexible Conventions"? Why should I care?
The concept behind flexible conventions is simple.
Typically, a CFML framework tackles concepts convention vs. configuration with one simple answer.
- All configuration - Frameworks such as Mach-ii, Model-Glue and Fusebox do not provide a great degree of convention. Sure, there are certain ways those frameworks want you to configure your application, but you are given a great degree of freedom in how you do it.
- All convention - Frameworks such as FW/1, CF on Wheels and ColdBox offer a convention you must follow. While this does tend to make certain things easier, it is also a pain in the neck if you have to solve a problem in a way other than how the framework does it.
That's where LightFront is different.
LightFront does not offer a great deal of configuration, but there are some things you must define. It was a conscious decision to define those values in Application.cfc.
I, personally, have spent a great deal of time developing applications on frameworks that offer a great deal of flexibility, through the use of a config file in XML. While this has its advantages, one major disadvantage is the lack of ability to configure actions dynamically. You also have to maintain an XML file.
It's always felt like the XML file has been an extra step. I wanted something simple.
So, "Flexible Conventions"?
Right... Flexible conventions give you the opportunity to define a few key settings in your application. If none has been defined, LightFront sets the value from its default.
For example, you can turn off switch based controllers altogether. You can change the default controller and view locations, as well as default actions, pre-actions and post-actions.
By giving you a little configuration, it makes it possible to "set your own convention".
FAQ
The FAQ's are a work in progress... Some of these may be not found, incomplete or out of date...
- What is LightFront?
- What are LightFront's features?
- How is LightFront different than other MVC frameworks?
- What are "Flexible Conventions"? Why do I care?
- How do I install LightFront?
- What do I need to configure in LightFront? Where? How?
- Some frameworks require you to know a lot of extras to use them. What functions or commands do I need to learn for LightFront?
- How do I setup my LightFront controllers?
- How do I define my actions?
- What is callAction()?
- How do I call views directly as events?
- What is displayView()?
- What is relocate? Is that like <cflocation>?
- What about LightFront and ColdSpring or Lightwire?
- What about LightFront and ORM, like Reactor, Transfer, DataMgr, DataFaucet and ColdFusion 9's Hibernate functionality?
- How do you call the model from LightFront?
- I see that LightFront can support switch controllers, like Fusebox 2 & 3 had. Does this mean that LightFront is 100% Fusebox 3 compatible?
- Are views an example of conventions?
- I don't like all of my pages going through index.cfm or whatever I've called the default cfm page. Can I still use LightFront?
- What about calling LightFront events from a view page, either in or out of the framework?
- Can LightFront handle search engine safe (SES) URL's?
- Download the zip file.
- Browse the LightFront repository
- Follow the LightFront Framework on Twitter!
