You might want to look at a suggested CFMX OOP design pattern posted 
under the ColdFusion topic on http://www.benorama.com. I've been 
experimenting with this recently and find it to be very clean and effective.

Cutter

Li Chunshen (Don) wrote:

>According to Macromedia's CFMX References on Using
>UDFs effectively:
>
>"Consider the following techniques for making your
>functions available to your ColdFusion pages: 
>
>If you consistently call a small number of UDFs,
>consider putting their definitions on the
>Application.cfm page. 
>If you call UDFs in only a few of your application
>pages, do not include their definitions in
>Application.cfm. 
>If you use many UDFs, put their definitions on one or
>more ColdFusion pages that contain only UDFs. You can
>include the UDF definition page in any page that calls
>the UDFs. "
>
>I agree with everything it states, and I think it
>might help more if CFMX predefines a UDF library path
>such as UDFlib under CFMX installation instead of an
>arbitrary directory, I can see several benefits of
>this approach: 
>consistency -- especially helpful for large
>development environment;
>easier for reuse -- across applications/projects
>(this one is similar to CFMODULE's dot notation
>method, I love it)
>
>And I don't see any downside of it.  Thanks.
>
>DL
>
>
>--- Matthew Walker <[EMAIL PROTECTED]> wrote:
>  
>
>>These two cfmx UDFs from cflib.org may help:
>>
>>
>><cfscript>
>>      function DSNExists(DSN) {
>>              var factory =
>>
>>    
>>
>createObject("java","coldfusion.server.ServiceFactory");
>  
>
>>              var DSNs =
>>factory.getDataSourceService().getNames();
>>              return
>>yesNoFormat(listFindNoCase(arrayToList(DSNs),
>>DSN));
>>      }
>></cfscript>
>>
>>
>><!---
>> Verifies a DSN is working.
>> 
>> @param dsn    Name of a DSN you want to verify.
>>(Required)
>> @return Returns a Boolean. 
>> @author Ben Forta ([EMAIL PROTECTED]) 
>> @version 1, October 15, 2002 
>>--->
>><CFFUNCTION NAME="VerifyDSN" RETURNTYPE="boolean">
>>   <CFARGUMENT NAME="dsn" TYPE="string"
>>REQUIRED="yes">
>>
>>   <!--- initialize variables --->
>>   <CFSET var dsService="">
>>   <!--- Try/catch block, throws errors if bad DSN
>>--->
>>   <CFSET var result="true">
>>
>>
>>   <CFTRY>
>>      <!--- Get "factory" --->
>>      <CFOBJECT ACTION="CREATE"
>>                TYPE="JAVA"
>>               
>>CLASS="coldfusion.server.ServiceFactory"
>>                NAME="factory">
>>      <!--- Get datasource service --->
>>      <CFSET
>>dsService=factory.getDataSourceService()>
>>      <!--- Validate DSN --->
>>      <CFSET result=dsService.verifyDatasource(dsn)>
>>
>>      <!--- If any error, return FALSE --->
>>        <CFCATCH TYPE="any">
>>           <CFSET result="false">
>>        </CFCATCH>
>>   </CFTRY>
>>
>>   <CFRETURN result>
>></CFFUNCTION>
>>
>>    
>>
>>>-----Original Message-----
>>>From: Li Chunshen (Don) [mailto:[EMAIL PROTECTED]]
>>>Sent: Wednesday, 1 January 2003 11:37 a.m.
>>>To: CF-Talk
>>>Subject: Request Time 
>>>
>>>
>>>specs: CFMX on WinXP Pro; remote datasources on
>>>      
>>>
>>Win2k
>>    
>>
>>>Pro.
>>>
>>>Requestimeout set to 40 seconds via CF admin
>>>      
>>>
>>(server
>>    
>>
>>>has been rebooted, my friend).  Expect cf server
>>>      
>>>
>>to
>>    
>>
>>>throw requestimeout msg, better, gracefully,
>>>regardless of the types of request.  Problem, when
>>>trying to connect to an unavailable remote
>>>      
>>>
>>datasource
>>    
>>
>>>(who can garanttee it's always available?), 
>>>      
>>>
>>instead
>>    
>>
>>>of 40 seconds timeout, CFMX keeps on trying and
>>>      
>>>
>>trying
>>    
>>
>>>though asked otherwise, what's going on?  With
>>>      
>>>
>>CF5, an
>>    
>>
>>>undocumented tag of Is_CFdatasource takes care of
>>>      
>>>
>>the
>>    
>>
>>>problem very well.  Thanks.
>>>
>>>DL
>>>
>>>
>>>
>>>
>>>
>>>__________________________________________________
>>>Do you Yahoo!?
>>>Yahoo! Mail Plus - Powerful. Affordable. Sign up
>>>      
>>>
>>now.
>>    
>>
>>>http://mailplus.yahoo.com
>>>
>>>      
>>>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Reply via email to