>*WHY* is it good that I can call any template from the browser or as a
module?

First off this is mis-stated. One of the appealing points of fusebox is that
you can lock down all of those function and object tags (whoops did I say
objects?) with only 3 lines of code in your application.cfm.  That is, if
the request is not coming from index.cfm,  then send them to index.cfm. So
you can htr or ::DATA$ me all you want and all you are going to see is an
index page which paths to a bunch of templates/modules that you are never
going to access unless you do it the way my logic provides. By this, I mean
if you see a tag call or path to some template, you are never going to be
able to call that template by itself.  So if you figure out that my order
processing is done on act_process_order.cfm, and you try calling that
template by itself through the browser with a .htr or ::DATA$,
application.cfm is going to see that the request is not coming from
index.cfm and send you to the front of my website or wherever it is that I
choose to send you. So its not "You can call any template from a browser",
rather it prohibits this. This, is in fact a different means of your current
goal.  Its just easier to implement.  Now if you have the luxury of setting
a client up on their own box, you can set directory security up in such a
manner that this is not necessary.  However, I have never had a client
complain about too much security. As well, this offers you a simple inherent
security measure for clients that rest on shared servers where sandbox or
any other sort of directory security is not offered.  It has been my
personal experience that most ISP's will want you on a dedicated or managed
server if you want to start playing with directory permissions. Now you can
roll your eyes all you want, but small to medium web application solutions
that rest on shared servers are cash cows.  Most of those clients want the
same solutions (e.g.., ecommerce, client login, administration, data
harvesting, message boards et al.). If you have each of these elements set
up as individual modules, then building sites for these clients can be done
by the least skilled of your programming staff fast and easy. All they need
to do is take a module's fuseactions, throw them into a case on your switch
and either call the module as a tag or simple path to its directory's
index.cfm.  So the turn over rate for these clients is amazing.

My current business is set up just like a record company. Record company's
exist, believe it or not, not on Korn or Brittany Spears or "insert 5 member
boy band here".  They exist on midline product.  That is their catalog. You
see, you sign 10 Brittany Spears before you get Brittany Spears, and pray to
god that Brittany Spears pays for the money you invested in the other 9 that
shipped gold and came back platinum. (This is a joke meaning you shipped
500,000 records and 1,000,000 were returned). If a record company tried to
rest solely on this reckoning they would be out of business faster than the
Dot Gones. So to subsidize themselves, they repackage catalog. For example,
wherein I am not a Hendrix fan so I do not know for certain, my bet is that
every Hendrix compilation or "best of" has the same recurring 4-5 songs and
I will go one step further and bet the publishing of those songs is
administered thru Universal/MCA (Hendrix's label). So how does this apply to
programming?  Well you generally have 1 or 2 major clients. By major I mean
financially. Now you hope that these clients meet the financial milestones
outlined in your contract. Generally they do, but what if they don't?  What
if wallstreet says to your client "umm we just realize you are overvalued so
we are attaching cement shoes to your stock"  Do you fire your staff or ask
them to work for free until that client "in the works" comes through? No,
you rest safely in the comfort of the cash all the small to medium clients
(your midline product) generated. Which, by the way, were programmed by your
interns that simply plugged in modules to a fusebox. Not to mention your
royalty on the data harvesting of these clients (the publishing).

Secondly, contrary to what Jeremy thinks is possible, all my data and logic
is object oriented.  So, if I have a client that decides months after
production that they want a message board, then I just take my message board
module/object and plug it in to the fusebox.  Recently I had a manufacturer
that originally just wanted to display products with a search engine
pointing the user to retail outlets and or websites that sold their brands.
After months of collecting data on the users and where they were routed I
was able to convince the client to a) harvest their data for resale to other
manufacturers and b) set up shop on the web.  The design implementation for
the module took about 3-4 weeks as design using does at its fastest case,
and the programming took about a day and a half. The only reason programming
took so long, is that it was set for a day I was speaking at CFUG and spent
most of the first day preparing for my speech and all my interns were on
spring break.  Once you develop an good sized library of code, fusebox
allows you to just plug modules into each other either by simply plugging
them in.

Now back to my monolithic response to Jeremy....

------------------------------------------------------------------------------
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to