views:

129

answers:

3

I have been tasked with doing some planning and research for a home grown in house application. Our primary development language is ColdFusion and Flex3, so I wanted to attack this problem with a modular solution, using an MVC framework.

I must mention that I am not a huge ColdFusion developer, but will be one of the architects behind this app (yikes!). I have a few years experience developing ecommerce applications in .NET / PHP / ASP, but never on this type of scale.

The overall goal is to build a module based applciation that we can roll out and 'add' modules for functionality, so as not to lock ourselves in a certain direction.

The system requires two key things:

  1. Functionality must be a 'drop and go' type, so that if the eCommerce application requires functionality like paypal processing, we drop in the paypal module, and bam it is an option at checkout, etc;
  2. Ability to handle multiple brands (we have a few markets we serve, and each market has its own brand).

Ok enough background...

My key concerns are, how should I start? I am looking at using a ColdFusion MVC framework, any suggestions at which? I've looked at the following(for Coldfusion):

  • Model-Glue
  • Cairngorm
  • Pivot-MVC
  • Fusebox

Am I on the right track? I hope using an MVC will help reach the goal of a drop in and go modular functionality with reduced time spent coding repetitive things. I don't know enough about these MVC frameworks tho.

Would appreciate any helpful suggestions so I can formulate a precise plan of attack.

EDIT: Having reviewed ColdBox, what would be a comparison to use it over another MVC? I've read that it does not support the 'drop and go' type of functionality.

Any other opinions on an MVC framework for CF?

+3  A: 

I selected the ColdBox Framework for ColdFusion for its rich feature set, ability to be a controller for my Ajax/Flash/Web Service development, active community and frequent releases. Most importantly, I selected ColdBox for the amazing amount of documentation--allowing me faster answers while affording me even more time to write code rather than documenting how the application works.

I encourage a framework--any framework. It will foster faster development, help guide best practices and enable the application to have a long life--past you and other developers.

So, YES! You are on the right track.

Links of Interest

  1. Sample Applications
  2. Down and Dity ColdBox PDF
  3. Documentation
  4. ColdBox API Reference
  5. Paid Training and Certification
  6. Who Uses ColdBox

Respectfully,

Aaron Greenlee

Aaron Greenlee
i'm a long time model-gluer, but would probably choose coldbox for a new app
Antony
Is functionality like the 'drop and use' method I described something that you have seen used before? OR should this angle be re-throught? What I DON'T want to do is tailor the eCommerce app per biz unit, but for all as a whole, and provide specific needs via plug-in modules.
Jakub
Just curious why would you choose coldbox over any other? Can you list a few points? In some research most CF MVC's seem to share same features, but coldbox just has more complete documentation it seems..? Or am I off...
Jakub
Yes, I can add some points.I first selected ColdBox for deeper exploration when I recognized it had an impressive amount of documentation. I invested in production applications on ColdBox after recognizing the value of the toolkit (check out the interceptors, plugins and cache). ColdBox was (and may still be) the only framework with a debugger.ColdBox is more than MVC and code organization or a front controller. Its a framework and toolkit suite.
Aaron Greenlee
A: 

Well, I hope I'm understanding you correctly here. All of the options you listed are great frameworks. However, when you set one up, at most, you're going to get a 'Hello World' sort of site out of it, and from there, you're probably on your own. MVC frameworks are designed to sort of split apart different part of programming (the logic, the appearance, the overall data model, etc.) to allow for easy reuse, but not at a level of 'Oh, add PayPal, Authorize.Net and PayflowPro to the last step of my cart' sort of application.

It sounds like you're looking for a CF-based eCommerce application like Cartweaver, and then to acquire or buy Cartweaver plugins to extend it (to offer different types of shipping, payment processing, etc., etc.).

Kyle Brickman
A: 

If it were me, i'd plan the users viewpoint of the application, how many steps there were, how many different pages, what is the function, design purposes of each page.

Then plan out each page's logic, what it needs to do etc..step by step no code, just lots of comments.

Then maybe do a wireframe html/css pages with no coldfusion to show you step by step how the ecommerce application would act like..

Then start making page by page, and do lots of testing....the clearer your plans are for any plans, the less chance of feature creep.

crosenblum