<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>coldfusion CMS Frameworks Flex Ajax</title><description></description><managingEditor>noreply@blogger.com (Kalyan Dhar)</managingEditor><pubDate>Mon, 2 Jun 2025 08:49:37 -0400</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">54</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://kalyan-coldfusion.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:category text="Technology"><itunes:category text="Software How-To"/></itunes:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>Asynchronous webservice response.</title><link>http://kalyan-coldfusion.blogspot.com/2014/07/asynchronous-webservice-response.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Tue, 29 Jul 2014 11:58:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4113584701619415022</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="MsoNoSpacing"&gt;
I hope you all are doing well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
After a very long time I am going to post this article. I
switched to a different technology. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
Within last two years I worked on android and few Java
related things. Now again I moved to CF. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
Recently I faced one issue with my client Process we
built one webservice which accept large XML file from client and process it parallel.
While processing large data 1&lt;sup&gt;st&lt;/sup&gt; we faced challenges with the memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
It was a quick fix we used Sax parser instead of DOM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
But recently we faced one issue that when client is
sending large files in every 5 minutes our process is not able to process that
file within 5 mins. So we are not receiving very next file. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
To resolve that I change our webservice from synchronous
to Asynchronous mode.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
In Asynchronous mode we are sending them response after
getting file and processing that file in backend so we are not missing any
files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
This solution is really worked for me. If you are having
same kind of issue this solution may help you to come up from your situation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
To do that I used ColdFusion event gateway feature.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt; line-height: 115%;"&gt;Event gateway lets CFML
code send a message to CFC methods asynchronously. This event gateway lets you
initiate processing by a CFC method without waiting for it to complete or
return a value. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
By default, ColdFusion delivers the message to a CFC method
named &lt;b&gt;onIncomingMessage&lt;/b&gt;. You can
specify any method name, however, in the &lt;b&gt;SendGatewayMessage&lt;/b&gt;
method's data parameter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;u&gt;3 Steps to create gateway&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: .5in; margin-right: 17.25pt; margin-top: 1.5pt; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;
&lt;a href="https://www.blogger.com/null" name="149291"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Create a CFC with an&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;span style="background: white; font-family: 'Courier New'; font-size: 8.5pt;"&gt;onIncomingMessage&lt;/span&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;&amp;nbsp;method. Put the CFC in an appropriate
directory for your application. For example, you can put it in the&amp;nbsp;&lt;i&gt;cf_root&lt;/i&gt;\WEB-INF\cfusion\gateway\cfc
directory on J2EE configurations, in the&amp;nbsp;&lt;i&gt;cf_root&lt;/i&gt;\gateway\cfc
directory on server configurations, or in a subdirectory of these directories.
ColdFusion is installed with mappings to these cfc gateway directories.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoListParagraph" style="line-height: 12.05pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 17.25pt; margin-top: 0in; mso-add-space: auto; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;The&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; font-family: 'Courier New'; font-size: 8.5pt;"&gt;onIncomingMessage&lt;/span&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;&amp;nbsp;method must take a CFEvent structure that
contains input information in its Data field, and processes the contents of the
Data field as needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: .5in; margin-right: 17.25pt; margin-top: 1.5pt; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Use the Gateways page in the ColdFusion
Administrator to add an instance of the CFML event gateway type. Specify the
following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 3.0pt; margin-left: 1.0in; margin-right: 27.75pt; margin-top: 3.0pt; mso-list: l0 level2 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: 'Courier New'; font-size: 8.5pt;"&gt;o&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;A unique Gateway ID.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 3.0pt; margin-left: 1.0in; margin-right: 27.75pt; margin-top: 3.0pt; mso-list: l0 level2 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: 'Courier New'; font-size: 8.5pt;"&gt;o&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;The path to the CFC that you created in step 1.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 3.0pt; margin-left: 1.0in; margin-right: 27.75pt; margin-top: 3.0pt; mso-list: l0 level2 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: 'Courier New'; font-size: 8.5pt;"&gt;o&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;The startup mode. Select Automatic startup mode
to start the event gateway when ColdFusion starts up.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 3.0pt; margin-left: 1.0in; margin-right: 27.75pt; margin-top: 3.0pt; mso-list: l0 level2 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: 'Courier New'; font-size: 8.5pt;"&gt;o&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Do&amp;nbsp;&lt;i&gt;not&lt;/i&gt;&amp;nbsp;specify a configuration
file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: .5in; margin-right: 17.25pt; margin-top: 1.5pt; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Start the event gateway instance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 17.25pt; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 17.25pt; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;u&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Using Gateway &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class="MsoListParagraphCxSpFirst" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: .5in; margin-right: 17.25pt; margin-top: 1.5pt; mso-add-space: auto; mso-list: l1 level1 lfo1; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Write CFML code that uses&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; font-family: 'Courier New'; font-size: 8.5pt;"&gt;SendGatewayMessage&lt;/span&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;&amp;nbsp;functions to send messages in structures to
the event gateway instance ID that you specified in CFAdmin. The&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; font-family: 'Courier New'; font-size: 8.5pt;"&gt;SendGatewayMessage&lt;/span&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;&amp;nbsp;function returns true if the gateway
successfully queues the message in the ColdFusion Gateway Service; false,
otherwise. It does not ensure that the CFC receives or processes the message.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoListParagraphCxSpLast" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: .5in; margin-right: 17.25pt; margin-top: 1.5pt; mso-add-space: auto; mso-list: l1 level1 lfo1; text-indent: -.25in;"&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol; font-size: 8.5pt;"&gt;·&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="background: white; font-family: Verdana, sans-serif; font-size: 8.5pt;"&gt;Run your CFML application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 0in; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 0in; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 0in; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-NCsQ5VHuZ0I/U9fEpZ8-kRI/AAAAAAAAGV0/OhdhHNMgMaw/s1600/post.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-NCsQ5VHuZ0I/U9fEpZ8-kRI/AAAAAAAAGV0/OhdhHNMgMaw/s1600/post.jpg" height="292" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 12.05pt; margin-bottom: 1.5pt; margin-left: 0in; margin-right: 17.25pt; margin-top: 1.5pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://2.bp.blogspot.com/-NCsQ5VHuZ0I/U9fEpZ8-kRI/AAAAAAAAGV0/OhdhHNMgMaw/s72-c/post.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>New flavor to execute query from coldfusion cfscript.</title><link>http://kalyan-coldfusion.blogspot.com/2012/06/new-flavor-to-execute-query-from.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Fri, 29 Jun 2012 13:53:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-1255409302485934972</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNoSpacing"&gt;
As you know that coldfusion added java coding style in
cfscript tag.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
Here one example of executing query from coldfusion
cfscript tag.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
Retrieve resultset with multiple id's&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
function getResultSetByIDs(string dsn, required numeric
userIDs) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup a
variable for the Query Result&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var qResult =
'';&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup the
Query variable&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var q= new
query();&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add
Parameter &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
q.addParam(name="ID", value=arguments.userIDs,
cfsqltype="CF_SQL_INTEGER" list="true");&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create the
SQL String&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var
sqlString="&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USERS&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
WHERE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
USERID IN (:ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ";&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
q.setdatasource(arguments.pDsn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
q.setsql(sqlString);&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
qResult=q.execute().getresult();&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return
qResult;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNoSpacing"&gt;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Now Facebook session can be shared with our ColdFusion Applications</title><link>http://kalyan-coldfusion.blogspot.com/2012/06/now-facebook-session-can-be-shared-with.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Mon, 25 Jun 2012 10:36:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-5982973668691854301</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
Yesterday I was trying to build one application which can share session with FaceBook. That means if I logged in FaceBook Then I don’t need to login in my application.&lt;br /&gt;
I know Facebook Platform is a set of APIs. SO i try to digg into FB and after a bit of research I find out it’s possible and &lt;strong&gt;‘Benoit Hediard’ &lt;/strong&gt;already build it in ColdFusion. That’s great !!!! .&lt;br /&gt;
SDK URL &lt;a href="http://facebooksdk.riaforge.org/"&gt;http://facebooksdk.riaforge.org/&lt;/a&gt;&lt;br /&gt;
To use facebook session in our application we need to create one APP id/Key in Facebook Development&lt;br /&gt;
&lt;a href="https://developers.facebook.com/"&gt;https://developers.facebook.com/&lt;/a&gt;&lt;br /&gt;
By which we can also track how many users logged in&lt;br /&gt;
From where logged in.&lt;br /&gt;
What they are doing in our site.&lt;br /&gt;
…..&lt;br /&gt;
…..&lt;br /&gt;
…&lt;br /&gt;
and Many more.&lt;br /&gt;
I like it very much.&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>ColdFusion Closures By Zeus</title><link>http://kalyan-coldfusion.blogspot.com/2012/05/coldfusion-closures-by-zeus.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Tue, 8 May 2012 10:33:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4404392773947764329</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
ColdFusion 10 introduced a new feature called ‘ColdFusion Closures’.&lt;br /&gt;
A closure is an inner function. The inner function can access the variables in the outer function. You can access the inner function by accessing the outer function. See the example below.&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;function helloTranslator(String helloWord)&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt; { &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;return function(String name) { &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;return “#helloWord#, #name#”; &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;}; &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;} &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;helloInEnglish=helloTranslator(“Hello”); &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;helloInFrench=helloTranslator(“Bonjour”); &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;writeoutput(helloInEnglish (“Arindam”)); &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;//closure is formed. &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;//Prints Hello, Arindam. &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;writeoutput(“&amp;lt;br&amp;gt;”); &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;writeoutput(helloInFrench(“Arindam”)); &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;//Prints Bonjour, Arindam. &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
In the above example, the outer function returns a closure.&lt;br /&gt;
Using the helloInEnglish variable, the outer function is accessed. It sets the helloWord argument.&lt;br /&gt;
Using this function pointer, the closure is called. For example, helloInEnglish (“Arindam “).&lt;br /&gt;
Observe that even after the execution of outer function, the closure can access the variable sets by the outer function.&lt;br /&gt;
In this case, using closure, two new functions are created. One adds Hello to the name. And the second one adds Bonjour to the name.&lt;br /&gt;
helloInEnglish and helloInFrench are closures. Though they have the same function body they store different environments.&lt;br /&gt;
The inner function is available for execution after the outer function is returned.&lt;br /&gt;
A closure is formed when the inner function is available for execution. As seen in the example, even after the outer function is returned, the inner function can access the variables in the outer function.&lt;br /&gt;
Closure retains the reference to the environment at the time it is created. For example, the value of a local variable in the outer function. It makes closure an easy to use and handy feature.&lt;br /&gt;
&lt;em&gt;Source:  help.adobe.com/en_US/ColdFusion/10.0/Developing/index.html&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;Article written : Arindam Roy&lt;/em&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Send Email with SSIS/DATABASE from gmail account</title><link>http://kalyan-coldfusion.blogspot.com/2012/04/send-email-with-ssisdatabase-from-gmail.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 4 Apr 2012 11:01:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4299242487865089473</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
You had noticed That the Send Email task from the SSIS package does not have the option of indicating a user name and password, it will only authenticate using Windows Authentication.&lt;br /&gt;
 &lt;br /&gt;
This SSIS email task does not support Gmail SMTP server. Even it does not support any smtp server with username and password.&lt;br /&gt;
Here is one SSIS Script executor package example to send email from gmail account. This is a Substitute of SSIS email Send task.&lt;br /&gt;
Steps To Send Email with gmail.&lt;br /&gt;
 &lt;br /&gt;
&lt;strong&gt;Step1: Create Global variables for SMTP server Configurations.&lt;/strong&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCtpsPY0onNLR1Y9giJuAe9osF70zzk6L4EnOal318egXIFi-xLO6EAf_s04y0wVfT1pL3QT_AOnIsyvLGKYC3FZVoR_PUUpHZnojX6qGp8zjHA4-amytsV2znOT7UPI57OCM_10jKITk/s1600/untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCtpsPY0onNLR1Y9giJuAe9osF70zzk6L4EnOal318egXIFi-xLO6EAf_s04y0wVfT1pL3QT_AOnIsyvLGKYC3FZVoR_PUUpHZnojX6qGp8zjHA4-amytsV2znOT7UPI57OCM_10jKITk/s320/untitled.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Step2: Drag and Drop Script Task&lt;/strong&gt;&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQsSEMlcugpbAWQGXrl6RdmJrKyDZ_3QuZJF_xWF_mrnr8L-JsaDHuZEUfEOT2HZ8n3qreIzuGCHkB5qowBEP_B3g9DKlemFdTIN0piGcn7HGFyM_H6cYlpMSOoP0PpyxbLCSi4wySN-a-/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQsSEMlcugpbAWQGXrl6RdmJrKyDZ_3QuZJF_xWF_mrnr8L-JsaDHuZEUfEOT2HZ8n3qreIzuGCHkB5qowBEP_B3g9DKlemFdTIN0piGcn7HGFyM_H6cYlpMSOoP0PpyxbLCSi4wySN-a-/s320/2.png" width="223" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Step3: Add variables in ReadOnlyVariables&lt;/span&gt;&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBnPC1KWe61s8Les23kQwsuSGmVSEEj_c6VgAEAv5oa3Vny3Gz8uWV7TZCM0LLaC2_mzAUORCcMobFBQUFtJ9ohP1eCAXLtEyZS-IJPk4Rh75Qrkyq8NtahCv-3CmsN8Cb2i9umfgux8iL/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBnPC1KWe61s8Les23kQwsuSGmVSEEj_c6VgAEAv5oa3Vny3Gz8uWV7TZCM0LLaC2_mzAUORCcMobFBQUFtJ9ohP1eCAXLtEyZS-IJPk4Rh75Qrkyq8NtahCv-3CmsN8Cb2i9umfgux8iL/s320/3.png" width="320" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Step4: Click Edit to Write Script and Select Script Language “Microsoft Visual C# 2008”&lt;/span&gt;&lt;br /&gt;
So this will be our solution developing our own Send Email Function with option for User Credentials.&lt;br /&gt; Now let’s start.&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheH22NpkFPFBdlFurAcghPUhNqqGnnJlCywr-4b0BTaxN2RTc6VVYJsDkKWodz6EHASc3aEMfLcL2Q9WkKUokAdoYUjtqq_gHiKHltriJOBZu5p3VroGBGK3_MWy4hVsBQlNy0yXLBL9sO/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="289" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheH22NpkFPFBdlFurAcghPUhNqqGnnJlCywr-4b0BTaxN2RTc6VVYJsDkKWodz6EHASc3aEMfLcL2Q9WkKUokAdoYUjtqq_gHiKHltriJOBZu5p3VroGBGK3_MWy4hVsBQlNy0yXLBL9sO/s320/4.png" width="320" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;strong&gt;Step5: Write C# script to send email&lt;/strong&gt;&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQfAF-xwDWiEl5SW19TBhLHgDfo2BlvvMsMIshESuvrukQE1GxlStiYnGsW0U3I4R9TSpNYPuG2Tq_njBqGWQHW_T7WyxlYtD-Mt9mAw6563Zpu6eLlVzr3dbpEPgIRd2IMyka9t8bS4T/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQfAF-xwDWiEl5SW19TBhLHgDfo2BlvvMsMIshESuvrukQE1GxlStiYnGsW0U3I4R9TSpNYPuG2Tq_njBqGWQHW_T7WyxlYtD-Mt9mAw6563Zpu6eLlVzr3dbpEPgIRd2IMyka9t8bS4T/s320/5.png" width="320" /&gt;&lt;/a&gt;
&lt;br /&gt;
 &lt;br /&gt;
Here the script to write:&lt;br /&gt;
 &lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using Microsoft.SqlServer.Dts.Runtime;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Text.RegularExpressions;&lt;br /&gt;
using System.Net.Mail;&lt;br /&gt;
 &lt;br /&gt;
namespace ST_f36d382ef89848a894adeac409e3a7f6.csproj&lt;br /&gt;
{&lt;br /&gt;
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]&lt;br /&gt;
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
#region VSTA generated code&lt;br /&gt;
enum ScriptResults&lt;br /&gt;
{&lt;br /&gt;
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,&lt;br /&gt;
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure&lt;br /&gt;
};&lt;br /&gt;
#endregion&lt;br /&gt;
 &lt;br /&gt;
public void Main()&lt;br /&gt;
{&lt;br /&gt;
string sSubject = “[Kalyan]:SSIS Test Mail From Gmail”;&lt;br /&gt;
string sBody = “Test Message Sent Through SSIS”;&lt;br /&gt;
int iPriority = 2;&lt;br /&gt;
 &lt;br /&gt;
if (SendMail(sSubject, sBody, iPriority))&lt;br /&gt;
{&lt;br /&gt;
Dts.TaskResult = (int)ScriptResults.Success;&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
//Fails the Task&lt;br /&gt;
Dts.TaskResult = (int)ScriptResults.Failure;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
public bool SendMail(string sSubject, string sMessage, int iPriority)&lt;br /&gt;
{&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
string sEmailServer = Dts.Variables["sEmailServer"].Value.ToString();&lt;br /&gt;
string sEmailPort = Dts.Variables["sEmailPort"].Value.ToString();&lt;br /&gt;
string sEmailUser = Dts.Variables["sEmailUser"].Value.ToString();&lt;br /&gt;
string sEmailPassword = Dts.Variables["sEmailPassword"].Value.ToString();&lt;br /&gt;
string sEmailSendTo = Dts.Variables["sEmailSendTo"].Value.ToString();&lt;br /&gt;
string sEmailSendCC = Dts.Variables["sEmailSendCC"].Value.ToString();&lt;br /&gt;
string sEmailSendFrom = Dts.Variables["sEmailSendFrom"].Value.ToString();&lt;br /&gt;
string sEmailSendFromName = Dts.Variables["sEmailSendFromName"].Value.ToString();&lt;br /&gt;
 &lt;br /&gt;
SmtpClient smtpClient = new SmtpClient();&lt;br /&gt;
MailMessage message = new MailMessage();&lt;br /&gt;
 &lt;br /&gt;
MailAddress fromAddress = new MailAddress(sEmailSendFrom, sEmailSendFromName);&lt;br /&gt;
 &lt;br /&gt;
//You can have multiple emails separated by ;&lt;br /&gt;
string[] sEmailTo = Regex.Split(sEmailSendTo, “;”);&lt;br /&gt;
string[] sEmailCC = Regex.Split(sEmailSendCC, “;”);&lt;br /&gt;
int sEmailServerSMTP = int.Parse(sEmailPort);&lt;br /&gt;
 &lt;br /&gt;
smtpClient.Host = sEmailServer;&lt;br /&gt;
smtpClient.Port = sEmailServerSMTP;&lt;br /&gt;
smtpClient.EnableSsl = true;&lt;br /&gt;
 &lt;br /&gt;
System.Net.NetworkCredential myCredentials =&lt;br /&gt;
new System.Net.NetworkCredential(sEmailUser, sEmailPassword);&lt;br /&gt;
smtpClient.Credentials = myCredentials;&lt;br /&gt;
 &lt;br /&gt;
message.From = fromAddress;&lt;br /&gt;
 &lt;br /&gt;
if (sEmailTo != null)&lt;br /&gt;
{&lt;br /&gt;
for (int i = 0; i &amp;lt; sEmailTo.Length; ++i)&lt;br /&gt;
{&lt;br /&gt;
if (sEmailTo[i] != null &amp;amp;&amp;amp; sEmailTo[i] != “”)&lt;br /&gt;
{&lt;br /&gt;
message.To.Add(sEmailTo[i]);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
if (sEmailCC != null)&lt;br /&gt;
{&lt;br /&gt;
for (int i = 0; i &amp;lt; sEmailCC.Length; ++i)&lt;br /&gt;
{&lt;br /&gt;
if (sEmailCC[i] != null &amp;amp;&amp;amp; sEmailCC[i] != “”)&lt;br /&gt;
{&lt;br /&gt;
message.To.Add(sEmailCC[i]);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
switch (iPriority)&lt;br /&gt;
{&lt;br /&gt;
case 1:&lt;br /&gt;
message.Priority = MailPriority.High;&lt;br /&gt;
break;&lt;br /&gt;
case 3:&lt;br /&gt;
message.Priority = MailPriority.Low;&lt;br /&gt;
break;&lt;br /&gt;
default:&lt;br /&gt;
message.Priority = MailPriority.Normal;&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
message.Subject = sSubject;&lt;br /&gt;
message.IsBodyHtml = true;&lt;br /&gt;
message.Body = sMessage;&lt;br /&gt;
 &lt;br /&gt;
smtpClient.Send(message);&lt;br /&gt;
return true;&lt;br /&gt;
}&lt;br /&gt;
catch (Exception ex)&lt;br /&gt;
{&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCtpsPY0onNLR1Y9giJuAe9osF70zzk6L4EnOal318egXIFi-xLO6EAf_s04y0wVfT1pL3QT_AOnIsyvLGKYC3FZVoR_PUUpHZnojX6qGp8zjHA4-amytsV2znOT7UPI57OCM_10jKITk/s72-c/untitled.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">12</thr:total></item><item><title>Keeping a session alive on ColdFusion using Jquery</title><link>http://kalyan-coldfusion.blogspot.com/2012/06/keeping-session-alive-on-coldfusion.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Tue, 6 Mar 2012 10:31:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-6143357108225887528</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
Here is a simple solution to keep a session open on forms where users may need an extended period of time for data entry. You can  include this code on any page where you need the session extended. You can remove the javascript include if JQuery is included on all of your pages already.&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;&amp;lt;!— Include this file on any page where users may take a &lt;/em&gt;&lt;em&gt;long time filling in text and you want to keep the session open —&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;cfparam name=”variables.refreshrate” default=”60000″&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;cfoutput&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;script type=”text/javascript” src=”/js/jquery-1.3.2.min.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;script language=”JavaScript” type=”text/javascript”&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;$(document).ready(function(){&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt; setTimeout(“callserver()”,#variables.refreshrate#);&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt; });&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;function callserver()&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt; {&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt; var remoteURL = ‘/emptypage.cfm’;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;    $.get(remoteURL,  function(data){&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;      setTimeout(“callserver()”,#variables.refreshrate#);&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;    });&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt; }&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;/script&amp;gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&amp;lt;/cfoutput&amp;gt;&lt;/strong&gt;&lt;br /&gt;
In the above code the function callserver will get invoked 60 seconds after the data entry page is loaded. The callserver function will keep refreshing the data entry screen at an interval of 60 seconds with all the data that user have entered till the user submits the form.&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Determine default and max session/Application timeouts for current ColdFusion server</title><link>http://kalyan-coldfusion.blogspot.com/2012/02/determine-default-and-max.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 22 Feb 2012 10:53:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-3484133784501153859</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
ColdFusion provides Admin API to work with admin settings. For example setClientStorage, Cookie Management, Datasource Management etc. In one of my old post, I already provide an example how to add/update/delete a DSN from a code base.This API is mainly used to install/Build an application in one request.&lt;br /&gt;
In today’s post we determine how to get session and application scope values.&lt;br /&gt;
Usage Scenario: For example we have 3 applications in one ColdFusion server and we set different session timeout values for each application. Now if a developer wants to get sessionTimeOut and MaxSessionTimeOut values of each application.&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;cftry&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset adminAPI = createObject(“component”, “CFIDE.adminapi.administrator”)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset adminAPI.login(“password1$”)&amp;gt;&amp;lt;!– Add password of CFadmin —&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset runtimeENV = createObject(“component”, “CFIDE.adminapi.runtime”)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset sessionDefaultTimeout = runtimeENV.getScopeProperty(“sessionScopeTimeout”)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset sessionMaxTimeout = runtimeENV.getScopeProperty(“sessionScopeMaxTimeout”)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfset ApplicationMaxTimeout = runtimeENV.getScopeProperty(“ApplicationscopeTimeout”)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;cfoutput&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      Default timeout session: #sessionDefaultTimeout# &amp;lt;br&amp;gt;Max value is #sessionMaxTimeout#.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;br&amp;gt;ApplicationMaxTimeout #ApplicationMaxTimeout#&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;/cfoutput&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;cfcatch&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;      &amp;lt;cfdump var=”#cfcatch#”/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;/cfcatch&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #99cc00;"&gt;&amp;lt;/cftry&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #993300;"&gt;Note: This adminAPI will fall in CF8 if application name have space in Application.cfm/Application.cfc&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Top 10 Key Information Technology Trends For 2012</title><link>http://kalyan-coldfusion.blogspot.com/2012/01/top-10-key-information-technology.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Tue, 10 Jan 2012 10:52:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-7412329503285998859</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
Src:- &lt;a href="http://www.techpark.net/2011/10/31/top-10-key-information-technology-trends-for-2012/"&gt;http://www.techpark.net/2011/10/31/top-10-key-information-technology-trends-for-2012/&lt;/a&gt;&lt;br /&gt;
At the Gartner Symposium IT/Expo, David Cappuccio, managing vice president and chief of research for the Infrastructure teams with Gartner, said the Top 10 Trends show how IT is changing in that many of them in the past been outside the traditional purview of IT, but they will all affect how IT does its job in the future.&lt;br /&gt;
The Top 10 Trends and their impact, briefly include:&lt;br /&gt;
&lt;strong&gt;1 The evolution of virtualization&lt;/strong&gt;: Cappuccio says virtualization will ultimately drive more companies to treat IT like a business. The danger during the next few years will be in following a specific vendor’s vision, though it is unlikely that any one vendor’s vision will prevail. Users should have their own visions of architecture control, and build toward it with a constantly updated strategic plan.&lt;br /&gt;
&lt;strong&gt;2 Big data, patterns and analytics:&lt;/strong&gt; Unstructured data will grow some 80% over the course of the next five years, creating a huge IT challenge. Technologies such as in-line deduplication, automated tiering of data to get the most efficient usage patterns per kilowatt, and flash or solid-state drives for higher-end performance optimization, will increase in importance over the next few years, Cappuccio said. Analytics and other systems to monitor for recurring data patterns that could develop  into money making applications will also be important.&lt;br /&gt;
&lt;strong&gt;3. Energy efficiency and monitoring:&lt;/strong&gt; The power issue has moved up the food corporate food chain, Cappuccio said.  Nascent tools are beginning to roll out that can use analytic tools to watch power usage on a variety of levels.  With the increased attention given to power consumption, it has become apparent that many systems are highly underutilized. At low utilization levels, they use a high percentage of their total energy draw. An average x86 server that is turned on, but idle, will draw upward of 65% of its nameplate wattage, for example.  IT organizations need a clear inventory of what compute resources are doing and what workloads there is the potential for significant waste of energy.&lt;br /&gt;
&lt;strong&gt;4. Context aware apps:&lt;/strong&gt; The big question here how to do something smart to take advantage of smartphones.  Gartner has in the past said context-based computing will go beyond the business intelligence applications and truly make a unified communications environment possible by  bringing together data culled from social networks and mobile-devices.&lt;br /&gt;
&lt;strong&gt;5. Staff retention and retraining:&lt;/strong&gt; Here the idea is developing a plan to get people excited about their jobs enough to stay.  And we’ll need is as starting in 2011 an average of 10,000 baby boomers will be eligible to retire every day for the next 19 years, Cappuccio said. Loyalty to one company is not a quality found in new workers.&lt;br /&gt;
&lt;strong&gt;6. Social networks: &lt;/strong&gt; Affordable and accessible technology has let individuals and  communities come together in a new way – with a collective voice – to make statements about our organizations, the products/services we deliver and how we deliver them, Cappuccio said. The collective is made up of individuals, groups, communities, mobs, markets and firms that shape the direction of society and business. The collective is not new, but technology has made it more powerful -and enabled change to happen more rapidly Cappuccio said. The collective is just beginning to have an impact on business operations and strategies but most organizations do not have a plan for enabling or embracing it.  Ignoring social networking is not an option, Cappuccio said.&lt;br /&gt;
&lt;strong&gt;7. Consumerization:&lt;/strong&gt; The key trend here is the fact that new application types will be developed to address mobile users but they won’t be desktop replacement applications.  Still,  a secure, well-defined strategy needs to be put into place to take advantage of this development, Cappuccio said.&lt;br /&gt;
&lt;strong&gt;8. Compute per square foot:&lt;/strong&gt;  Virtualization is one of the most critical components being used to increase densities and vertically scale data centers. If used wisely, average server performance can move from today’s paltry 7% to 12% average to 40% to 50%, yielding huge benefits in floor space and energy savings.  Two issues that need to be considered going forward are the number of cores per server – four- and eight-core systems are becoming common, and 16 cores will be common within two years -  and overall data center energy trends. IT will also have to address things like performance/licensing, Cappuccio said&lt;br /&gt;
&lt;strong&gt; 9. Cloud computing&lt;/strong&gt;: While cost is a potential benefit for small companies, the biggest benefits of cloud computing are built-in elasticity and scalability. As certain IT functions industrialize and become less customized, such as email, there are more possibilities for larger organizations to benefit from cloud computing, according to Cappuccio.&lt;br /&gt;
&lt;strong&gt; 10. Fabrics:&lt;/strong&gt; Gartner defines this infrastructure convergence as: The vertical integration of server, storage, and network systems and components with element-level management software that lays the foundation to optimize shared data center resources efficiently and dynamically. Systems put forth so far by Cisco and HP will unify network control but are not there yet.&lt;br /&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><title>Executing Code When ColdFusion Server Starts</title><link>http://kalyan-coldfusion.blogspot.com/2012/06/executing-code-when-coldfusion-server.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Mon, 2 Jan 2012 10:32:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-3770334523825491089</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
ColdFusion 9 introduced the onServerStart method into application framework in a new ColdFusion component, Server.cfc.&lt;br /&gt;
Having code run each time the server starts can be used for a variety of reasons but should be reserved for application independent tasks such as server wide logging.&lt;br /&gt;
ColdFusion 9 introduced the onServerStart method that, if implemented will run each time the server starts. The method is the only method in the new ColdFusion component Server.cfc. Unless an alternate location is specified in the ColdFusion administrator the ColdFusion server will look for Server.cfc in the webroot.&lt;br /&gt;
The following code will run when the server starts up and set a server wide variable that holds the data and time the server started.&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;&lt;strong&gt;&amp;lt;cfcomponent&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;&lt;strong&gt;&amp;lt;cffunction name=”onServerStart”&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;&lt;strong&gt;&amp;lt;cfset Server.StartUpDateTime = Now() /&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;&lt;strong&gt;&amp;lt;/cffunction&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: 'Courier New'; font-size: xx-small;"&gt;&lt;strong&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With the addition of the onServerStart method applications can now handle server wide setup easily and efficiently.&lt;br /&gt;
&lt;em&gt;Source: cookbooks.adobe.com&lt;/em&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>ADOBE CREATIVE CLOUD</title><link>http://kalyan-coldfusion.blogspot.com/2011/11/adobe-creative-cloud.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Fri, 18 Nov 2011 10:49:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-2104035573669617823</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
The biggest announcement to come out of the annual Adobe MAX Conference last month was the unveiling of the &lt;strong&gt;Adobe Creative Cloud.&lt;/strong&gt;&lt;br /&gt;
It is basically a membership-based program formed of three pillars: &lt;strong&gt;Creative Services, Creative Community, and Creative Applications.&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;The first is Creative Services&lt;/strong&gt;, which are hosted services that you can use in your production work, in the delivery of your content.&lt;br /&gt;This includes a &lt;strong&gt;font service&lt;/strong&gt; like Typekit, which Adobe recently acquired, which enables the use and delivery of a broad foundry of cloud fonts across all of your work.&lt;br /&gt;
A second area is &lt;strong&gt;Digital Publishing&lt;/strong&gt;, which enables publishing rich media to tablets via the cloud.&lt;br /&gt;
And the third category is &lt;strong&gt;Business Catalyst&lt;/strong&gt;, which supports designing and operating websites for small businesses, with pre-built services for things like handling e-commerce, doing customer relationship management, and integrating with social networks.&lt;br /&gt;
&lt;strong&gt;The second pillar is Creative Community&lt;/strong&gt;, which is for all creatives around the world and enables to connect more easily with other creatives – it’s a place to share, to communi­cate, and to inspire each other with your work and really collaborate as you’re working.&lt;br /&gt;
And lastly &lt;strong&gt;the third pillar is Creative Applications&lt;/strong&gt; – and these are enabling you to create not only on personal computers, but also wherever you are with mobile devices, all connected through the Creative Cloud. This includes a whole new collection of &lt;strong&gt;Adobe touch apps&lt;/strong&gt; to run on tablets and other mobile devices, including &lt;strong&gt;Proto, Kuler, Debut, Collage, Carousel, Ideas, and Photoshop Touch&lt;/strong&gt;.&lt;br /&gt;In addition, membership also includes access to all Adobe creative desktop products you know and love, including Photoshop, Illustrator, and Dreamweaver and Premiere and InDesign, Lightroom, more. You can download and install any of these applica­tions you choose as part of your membership, and these are all connected to Creative Cloud via desktop sync. They also interact with the touch apps, and you can move files between desktop and touch as you’re working.&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Source: http://prodesigntools.com/what-is-the-adobe-creative-cloud.html&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>DDoS attacks in payment gateways</title><link>http://kalyan-coldfusion.blogspot.com/2011/06/ddos-attacks-in-payment-gateways.html</link><category>coldfusion attacks</category><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 23 Jun 2011 14:43:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-8942942377523264643</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Tahoma, Arial, serif; font-size: 12px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="line-height: 1.8em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;A&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;b&gt;denial-of-service attack&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;(&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;DoS attack&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;) or&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;b&gt;distributed denial-of-service attack&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;(&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;DDoS attack&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;) is an attempt to make a computer resource unavailable to its intended users. Although the means to carry out, motives for, and targets of a DoS attack may vary, it generally consists of the concerted efforts of person or persons to prevent an Internet site or service from functioning efficiently or at all, temporarily or indefinitely. Perpetrators of DoS attacks typically target sites or services hosted on high-profile web servers such as banks, credit card payment gateways, and even root name servers. The term is generally used with regards to computer networks, but is not limited to this field; for example, it is also used in reference to CPU resource management.One common method of attack involves saturating the target machine with external communications requests, such that it cannot respond to legitimate traffic, or responds so slowly as to be rendered effectively unavailable. In general terms, DoS attacks are implemented by either forcing the targeted computer(s) to reset, or consuming its resources so that it can no longer provide its intended service or obstructing the communication media between the intended users and the victim so that they can no longer communicate adequately.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The United States Computer Emergency Readiness Team (US-CERT) defines symptoms of denial-of-service&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Unusually slow network performance (opening files or accessing web sites)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Unavailability of a particular web site&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Inability to access any web site&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Dramatic increase in the number of spam emails received-(this type of DoS attack is considered an e-mail bomb)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt; margin-left: .25in; margin-right: 0in; margin-top: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Denial-of-service attacks can also lead to problems in the network ‘branches’ around the actual computer being attacked. For example, the bandwidth of a router between the Internet and a LAN may be consumed by an attack, compromising not only the intended computer, but also the entire network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt; margin-left: .25in; margin-right: 0in; margin-top: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;If the attack is conducted on a sufficiently large scale, entire geographical regions of Internet connectivity can be compromised without the attacker’s knowledge or intent by incorrectly configured or flimsy network infrastructure equipment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Methods of attack&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; mso-list: l6 level1 lfo11; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 8pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Consumption of computational resources, such as bandwidth, disk space, or processor time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; mso-list: l6 level1 lfo11; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 8pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disruption of configuration information, such as routing information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; mso-list: l6 level1 lfo11; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 8pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disruption of state information, such as unsolicited resetting of TCP sessions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; mso-list: l6 level1 lfo11; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 8pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disruption of physical network components.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-add-space: auto; mso-list: l6 level1 lfo11; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 8pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Obstructing the communication media between the intended users and the victim so that they can no longer communicate adequately.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Hack Websites by Ddos Attack&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;A DoS attack is a denial of service through continued illegitimate requests for information from a site. In a DDoS attack, the hacker’s computer sends a message to all the enslaved computers to send a spoofed request to the broadcast address of the victim’s computer (x.x.x.255 if it is subnetted) with the spoofed source address (x.x.x.123 being the target IP).This is Step 1 in Figure 1.6. The router then sends the spoofed message to all computers on the subnet (in many cases, these are the victim’s own computers) that are listening (around 250 maximum), asking for a response to the ICMP packet (Step 2).Those computers each respond to the victim’s source address x.x.x.123 through the router (Step 3). In the case of DDoS, there are many computers that have been commandeered that are sending many requests to the router, making the router do many times the work, and using the broadcast address to make other computers behind the router work against the victim computer (Step 4).This then overloads the victim in question and will eventually cause it to crash, or more likely the router will no longer reliably be able to send and receive packets, so sessions will be unstable or impossible to establish, thus denying service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeIU9eOptwOFrIOh589tNHfNILUr97U1LbP5KBevmfvH9SbibKAOaCDJ0fkcrnejY-PS7cVwJjDfpsQ6msqFnx06RNAJWp8glrumPOFA404y4Y2NhvLxqS2qBjgoTO9xx7oIsc1RM8_cdP/s1600/ddos.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeIU9eOptwOFrIOh589tNHfNILUr97U1LbP5KBevmfvH9SbibKAOaCDJ0fkcrnejY-PS7cVwJjDfpsQ6msqFnx06RNAJWp8glrumPOFA404y4Y2NhvLxqS2qBjgoTO9xx7oIsc1RM8_cdP/s400/ddos.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;An example of a DoS/DDoS attack occurred in February of 2001, when Microsoft was brought to its knees. Many industry experts believe that the attack was timed to coincide with Microsoft’s launch of a $200 million ad campaign. Ironically, the ad campaign was focused on what Microsoft refers to as “Software for the agile business.”The attack by hackers was just one more sign to the Internet industry that hackers are very much able to control sites when they feel they have a point to prove&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;How to protect yourself&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l9 level1 lfo2; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The application should connect to the database using as low privilege user as is possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l4 level1 lfo3; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The application should connect to the database with different credentials for every trust distinction (e.g., user, read-only user, guest, administrators) and permissions applied to those tables and databases to prevent unauthorized access and modification.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l5 level1 lfo4; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The application should prefer safer constructs, such as stored procedures which do not require direct table access. Once all access is through stored procedures, access to the tables should be revoked.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l7 level1 lfo5; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Highly protected applications:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l7 level1 lfo5; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The database      should be on another host, which should be locked down with all current      patches deployed and latest database software in use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l7 level1 lfo5; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The application      should connect to the database using an encrypted link. If not, the      application server and database server must reside in a restricted network      with minimal other hosts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l7 level1 lfo5; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Do not deploy      the database server in the main office network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Protect yourself&amp;nbsp; by ColdFusion&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Role-based security is implemented by the&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;b&gt;&lt;i&gt;roles&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;attribute of the &lt;cffunction&gt; tag. The attribute contains a comma-delimited list of security roles that can call this method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/cffunction&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Access control is implemented by the&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;b&gt;&lt;i&gt;access&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;attribute of the &lt;cffunction&gt; tag. The possible values of the attribute in order of most restricted behavior are: private (strongest), package, public (default), and remote (weakest).&lt;br /&gt;
&lt;/cffunction&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Private:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The method is accessible only to methods within the same component. This is similar to the Object Oriented Programming (OOP) private identifier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Package:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The method is accessible only to other methods within the same package. This is similar to the OOP protected static identifier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Public:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The method is accessible to any CFC or CFM on the same server. This is similar to the OOP public static identifier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Remote:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Allows all the privileges of public, in addition to accepting remote requests from HTML forms, Flash, or a web services. This option is required, to publish the function as a web service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Best Practices&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l8 level1 lfo6; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Do not use THIS scope inside a component to expose properties. Use a getter or setter function instead. For example, instead of using THIS.myVar create a public function that sets the variable (i.e. setMyVar(value)).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l10 level1 lfo7; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Do not omit the role attribute as ColdFusion will not restrict user access to the function.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l1 level1 lfo8; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Avoid using Access=”Remote” if you do not intend to call the component directly from a URL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Configuration&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The following section describes some of the server-wide security-related options available to a ColdFusion administrator via the ColdFusion MX 7 Administrator console web application (&lt;a href="http://servername:port/CFIDE/administrator/index.cfm"&gt;&lt;span style="color: #557799;"&gt;http://servername:port/CFIDE/administrator/index.cfm&lt;/span&gt;&lt;/a&gt;). If the console application is unavailable, you can modify these options by editing the XML files in the cf_root/lib/ (Server configuration) or cf_web_root/WEB-INF/cfusion/lib (J2EE configuration) directory; however, editing these files directly is not recommended.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Best Practice&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l3 level1 lfo9; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;CF Admin Password screen&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .25in; margin-right: 0in; margin-top: 0in; mso-list: l2 level1 lfo10; tab-stops: list .75in; text-indent: -.25in;"&gt;&lt;span style="color: #333333; font-family: Symbol; font-size: 10pt;"&gt;·&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable a strong Administrator password&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l2 level1 lfo10; tab-stops: list .5in;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The      ColdFusion Administrator is the default interface for configuring the      ColdFusion application server. It is secured by a single password. Ensure      that the Administrator security is enabled and the password is strong and      stored in a secure place.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l2 level1 lfo10; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Ensure the      checkbox is filled&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l2 level1 lfo10; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enter and      confirm a strong password string of 8 characters or more&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="color: #333333; line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-list: l2 level1 lfo10; tab-stops: list .5in;"&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Click Submit      Changes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Sandbox Security screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable Sandbox Security&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The ColdFusion Sandbox allows you to place access security restrictions on files, directories, methods, and data sources. Sandboxes make the most sense for a hosting provider or corporate intranet where multiple applications share the same server. Enable this option.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Next, a sandbox needs to be configured, because if not all code in all directories will execute without restriction. Code in a directory and its subdirectories inherits the access controls defined for the sandbox. For example, if ABC Company creates multiple applications within their directory all applications will have the same permissions as the parent. A sandbox applied to ABC-apps will apply to app1 and app2. A sample directory structure is shown below:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;br /&gt;
D:\inetpub\wwwroot\ABC-apps\app1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;D:\inetpub\wwwroot\ABC-apps\app2&lt;br /&gt;
Note: if a new sandbox is created for app2 then it will not inherit settings from ABC-apps.&lt;br /&gt;
Sandbox security configurations are application specific; however, there are general guidelines that should be followed:&lt;br /&gt;
Create a default restricted sandbox and copy setting to each subsequent sandbox removing restrictions as needed by the application. Except in the case of files/directories where access is granted rather than restricted.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Restrict access to data sources that should not be accessed by the sandboxed application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Restrict access to powerful tags, for example CFREGISTRY and CFEXECUTE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Restrict file and directory access to limit the ability of tags and functions to perform actions to specified paths.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Every&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;application should have a sandbox.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;In multi-homed environments disable Java Server Pages (JSP) as ColdFusion is unable to restrict the functionality of the underlying Java server.&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;RDS Password screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable a strong RDS password&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Developers can access ColdFusion resources (files and data sources) over HTTP from Macromedia Dreamweaver MX and HomeSite+ through ColdFusion’s Remote Development Services (RDS). This feature is password protected should only be enabled in secure development environments.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;br /&gt;
Ensure the checkbox is filled&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enter and confirm a strong password string of 8 characters or more&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Click Submit Changes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Use RDS over SSL - During development, you should use SSL v3 to encrypt all RDS communications between Dreamweaver MX and the ColdFusion server. This includes remote access to server data sources and drives, provided that both are accessed through RDS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disable RDS in Production&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;In production environments, you should not use RDS. In earlier versions of ColdFusion, RDS ran as a separate service or process and could be disabled by disabling the service. In ColdFusion MX, RDS is integrated into the main service. To disable it, you must disable the RDSServlet mapping in the web.xml file. The following procedure assumes that ColdFusion is installed in the default location.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;1. Back up the C:\CFusionMX7\wwwroot\WEB-INF\web.xml file.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;2. Open the web.xml file for editing.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;3. Comment out the RDSServlet mapping, as follows:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;servlet-mapping&gt;&lt;/servlet-mapping&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;servlet-name&gt;RDSServlet&lt;/servlet-name&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;url-pattern&gt;/CFIDE/main/ide.cfm&lt;/url-pattern&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;–&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;4. Save the file.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;5. Restart ColdFusion.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Settings Screen&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable a Request Timeout&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;ColdFusion processes requests simultaneously and queues all requests above the configured maximum number of simultaneous requests. If requests run abnormally long, this can tie up server resources and lead to DoS attacks. This setting will terminate requests when the configured timeout is reached.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Fill the checkbox next to “Timeout Request after (seconds)”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enter the number of seconds for ColdFusion to allow threads to run&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;To allow a valid template request to run beyond the configured timeout, place a &lt;cfsetting&gt; atop the base ColdFusion template and configure the RequestTimeout attribute for the necessary amount of time (in seconds).&lt;/cfsetting&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Use UUID for cftoken&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Best practice calls for J2EE session management. In the event that only ColdFusion session management is available, strong security identifiers must be used. Enable this setting to change the default 8-character CFToken security token string to a UUID.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable Global Script Protection - This is a new security feature in ColdFusion MX 7 that isn’t available in other web application platforms. It helps protect Form, URL, CGI, and Cookie scope variables from cross-site scripting attacks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Specify a Site-wide Error Handler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Prevent information leaks through verbose error messages. Specifying a site-wide error handler covers you when cftry/cfcatch are not used. This page should be a generic error message that you return to the user. Also, if the error handler displays user-input, it should be reviewed for potential cross-site scripting issues.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Specify a Missing Template Handler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Provide a custom message page for HTTP 404 errors when the server cannot find the requested ColdFusion template.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Configure a memory throttling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;To prevent file upload DoS attacks, Macromedia added new configuration settings to ColdFusion MX 7.0.1 that allow administrators to restrict the total upload size of HTTP POST operations. Configure these settings accordingly.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;maximum size for post data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;This is the total size that ColdFusion will accept for any single HTTP POST request (including file uploads). ColdFusion will reject any request whose Content-size header exceeds this setting.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Request Throttle Threshold&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;HTTP POST requests larger than this setting (default is 4MB) are included in the total concurrent request memory size and get queued if they exceed the Request Throttle Memory setting.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Request Throttle Memory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;This sets the total amount of memory (MB) ColdFusion reserves for concurrent HTTP POST requests. Any requests exceeding this limit are queued until enough memory is available.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Memory Variables screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Enable J2EE Session Management and Use J2EE session variables.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Best practice requires J2EE sessions because they are more secure than regular ColdFusion sessions. (See Session Management section)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Select checkbox next to “Enable Session Variables”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Select checkbox next to “Enable J2EE session variables”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Set the maximum session timeout to 20 minutes to limit the window of opportunity for session hijacking.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Set the default session timeout to 20 minutes to limit the window of opportunity for session hijacking. (The default value is 20 minutes.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;The session-timeout parameter in the cf_root/WEB-INF/web.xml file establishes the maximum J2EE session timeout. This setting should always be greater-than or equal-to ColdFusion’s Maximum Session Timeout value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Set the maximum application timeout to 24 hours.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Set the default application timeout to 8 hours.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Data Sources screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Do not use an administrative account to connect ColdFusion to a data source. For example, do not use SA account to connect to a MS SQL Server. The account accessing the database should be granted specific privileges to the objects it needs to access. In addition, the account created to connect the database should be an OS-based, not a SQL account. Operating system accounts have many more auditing, password, and other security controls associated with them. For example, account lockouts and password complexity requirements are built into the Windows operating system; however, a database would need custom code to handle these security-related tasks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disable the following Allowed SQL options for all data sources:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Create Drop Grant Revoke Alter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;As an administrator, you do not have control over what a developer sends to the database; however, there should be no circumstance where the previous commands need to be sent to a database from a web application.&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Debugging Settings screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disable Robust Exception for production servers. (Default)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Disable Debugging for production servers. (Default)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Debugging IP Addresses&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Ensure only the addresses of trusted clients are in the IP list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Only allow the localhost IP (127.0.0.1) in the list on production machines&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Mail screen&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Require a user name and password to authenticate to your mail server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Set the connection timeout to 60 seconds (The default value is 60 seconds.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 21.6pt; margin-bottom: 6.0pt;"&gt;&lt;span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8pt;"&gt;Ref: WIKIPEDIA, SYNGRESS, OWASP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeIU9eOptwOFrIOh589tNHfNILUr97U1LbP5KBevmfvH9SbibKAOaCDJ0fkcrnejY-PS7cVwJjDfpsQ6msqFnx06RNAJWp8glrumPOFA404y4Y2NhvLxqS2qBjgoTO9xx7oIsc1RM8_cdP/s72-c/ddos.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>SQL Tips: Faster technique to get 1st and last day of the month</title><link>http://kalyan-coldfusion.blogspot.com/2011/05/sql-tips-faster-technique-to-get-1st.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Sun, 29 May 2011 13:52:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-194585111145017318</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Normally we put together the year, month and 1 as the day separating  them with slashes (/) in the date format (e.g “YYYY/MM/DD” ).&lt;br /&gt;
Like following code:-&lt;br /&gt;
CREATE FUNCTION [dbo].[GetFirstDayOfMonth] ( @pInputDate DATETIME )&lt;br /&gt;
RETURNS DATETIME&lt;br /&gt;
BEGIN&lt;br /&gt;
RETURN CAST(CAST(YEAR(@pInputDate) AS VARCHAR(4)) + ‘/’ + CAST(MONTH(@pInputDate) AS VARCHAR(2)) + ‘/01′ AS DATETIME)&lt;br /&gt;
END&lt;br /&gt;
GO&lt;br /&gt;
&amp;nbsp;In this function we need to separate month year from InputDate and then convert them into string.&lt;br /&gt;
This string conversion operation is time taking and consume good amount of memory as well.&lt;br /&gt;
I came up with a solution that easily return 1&lt;sup&gt;st&lt;/sup&gt;date of current moth.&lt;br /&gt;
This technique doesn’t need the conversion to string and back it to date therefore somewhat faster than normal technique:&lt;br /&gt;
SELECT DATEADD(month, DATEDIFF(month, ‘20010101′, getdate()),  ‘20010101′) as firstDate(where ‘20010101′ is a randomly chosen date -  most any date will work).For instance, to get the last day of the month  we need to change only the second occurrence:&lt;br /&gt;
SELECT DATEADD( month, DATEDIFF(month, ‘20010101′, getdate()), ‘20010131′ ) as lastDate.&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Creation of Singleton Object with Coldfusion</title><link>http://kalyan-coldfusion.blogspot.com/2010/08/creation-of-singleton-object-with.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 4 Aug 2010 12:11:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-6927427935430292286</guid><description>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CKALYAN%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CKALYAN%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CKALYAN%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} p 	{mso-style-noshow:yes; 	mso-style-priority:99; 	mso-margin-top-alt:auto; 	margin-right:0in; 	mso-margin-bottom-alt:auto; 	margin-left:0in; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p&gt;Note: Coldfusion in and out tag is replaced because of blogging problem)
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Singletons are perhaps one of the most simple Design Patterns. For those who don’t know sigletons are a class that can only have one instance. They can be thought of as a glorified global variable - but are a lot more useful.Most ColdFusion classes, or rather instances of CF components, can be turned in a singleton by placing the following code in your Application.cfm: &lt;/p&gt;  &lt;p&gt;cfif not structkeyexists(application,instance name)
&lt;br /&gt;      cfset application.instance name = createobject(”component”,path to component)
&lt;br /&gt;   /cfifor OnApplicationStart method of your Application.cfc: cfset application.instance name = createobject(”component”,path to component)&lt;/p&gt;  &lt;p&gt;The above code places an instance of the component in the application scope and you can then access the properties and methods of the component via the application variable.Singletons can also be placed in other ColdFusion scopes such as the server or session scopes or even the request scope. Which scope you choose depends on what your code does.Another way to create a singleton is to add an getInstance method to your component and use that to return the instance.Like so:&lt;/p&gt;  &lt;p&gt;&lt;span style=""&gt; &lt;/span&gt;cffunction name=”getInstance” access=”public” output=”false”   &lt;/p&gt;  &lt;p&gt;      cfif not isdefined(”application.instance name”)
&lt;br /&gt;         cfset application.[instance name] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application.[instance name]
&lt;br /&gt;   /cffunctionRather than hard coding the instance name we can base it on the displayname of the component.cffunction name=”getInstance” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;  
&lt;br /&gt;      cfif not isdefined(”application.#displayname#”)
&lt;br /&gt;         cfset application.[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application.[displayname]
&lt;br /&gt;   /cffunction&lt;/p&gt;  &lt;p&gt;While this is an improvement on the original code this method would need to be added to all components you wanted to turn into a singleton. A better solution is to create a singleton component and in a component you need to turn into a singleton extend from the singleton component.The singleton component (singleton.cfc):&lt;/p&gt;  &lt;p&gt;&lt;span style=""&gt; &lt;/span&gt;cfcomponent displayname=”singleton”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”getInstance” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;     
&lt;br /&gt;      cfif not isdefined(”application.#displayname#”)
&lt;br /&gt;         cfset application[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application[displayname]
&lt;br /&gt;   /cffunction&lt;/p&gt;  &lt;p&gt;/cfcomponentThe component we want to use as a singleton (dsn.cfc): cfcomponent displayname=”DSN” extends=”singleton”
&lt;br /&gt;   cfset variables.DNS = “”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”getDSN” access=”public” returntype=”string” output=”false”
&lt;br /&gt;      cfreturn variables.DSN
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”setDSN” access=”public” output=”false”
&lt;br /&gt;      cfargument name=”DSN” type=”string” required=”yes”
&lt;br /&gt;      cfset variables.DSN = arguments.DSN
&lt;br /&gt;   /cffunction
&lt;br /&gt;     
&lt;br /&gt;/cfcomponentUsing the component (in Applicaton.cfm): cfscript
&lt;br /&gt;      if (not structkeyexists(application,’dsn’)) {
&lt;br /&gt;         application.dsn = createobject(’component;,’dsn’).getInstance();
&lt;br /&gt;         application.dsn.setDSN(’mydsn’);
&lt;br /&gt;      }
&lt;br /&gt;   /cfscriptor OnApplicationStart method of Application.cfc: cfscript
&lt;br /&gt;      application.dsn = createobject(’component’,'dsn’).getInstance();
&lt;br /&gt;      application.dsn.setDSN(’mydsn’);  
&lt;br /&gt;   /cfscriptIn the page: cfquery name=”myquery” datasource=”#applicaton.dsn.getDSN()#”
&lt;br /&gt;   …
&lt;br /&gt;   /cfquery&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;  &lt;/span&gt;Here the example code : singleton.cfc cfcomponent displayname=”singleton”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”init” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;     
&lt;br /&gt;      cfif not isdefined(”application._singletons”)
&lt;br /&gt;         cfset application._singletons = structnew()
&lt;br /&gt;      /cfif
&lt;br /&gt;      cfif not isdefined(”application._singletons.#displayname#”)
&lt;br /&gt;         cfset application._singletons[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application._singletons[displayname]
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”remove” access=”public” output=”false”
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname  
&lt;br /&gt;     
&lt;br /&gt;      cfif isdefined(”application._singletons.#displayname#”)  
&lt;br /&gt;         cfset structdelete(application._singletons, displayname)
&lt;br /&gt;      /cfif
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;/cfcomponentAnd here hows it’s setup in Application.cfm (or .cfc): cfscript
&lt;br /&gt;   &lt;em&gt;// function to get an instance of a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function getInstance(name) {
&lt;br /&gt;      if (not isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         instance = createobject(”component”,”com.classsoftware.utils.#name#”).init();
&lt;br /&gt;      }
&lt;br /&gt;     
&lt;br /&gt;      return application._singletons[name];
&lt;br /&gt;   }&lt;/p&gt;  &lt;p&gt;   &lt;em&gt;// function to remove a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function removeInstance(name) {
&lt;br /&gt;      if (isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         application._singletons[name].remove();
&lt;br /&gt;      }
&lt;br /&gt;   }  
&lt;br /&gt;  
&lt;br /&gt;   &lt;em&gt;// remove instance if asked&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   if (isdefined(”url.init”)) {
&lt;br /&gt;      removeInstance(’dsn’);
&lt;br /&gt;   }
&lt;br /&gt;/cfscriptAnd how it’s used on the page: cfset dsn = getInstance(”dsn”)&lt;/p&gt;  &lt;p&gt;   cfquery name=”myquery1″ datasource=”#dsn.getDSN()#”
&lt;br /&gt;      select ….
&lt;br /&gt;   /cfquery
&lt;br /&gt;  
&lt;br /&gt;   cfquery name=”myquery2″ datasource=”#dsn.getDSN()#”
&lt;br /&gt;      select ….
&lt;br /&gt;   /cfquery&lt;/p&gt;  &lt;p&gt;The functions getInstance and removeInstance could be placed inside a component that creates/removes singletons (a singleton factory?). However that component itself would need to be a singleton or you’d need to create it (via createobject) on every page. I’ll feel it’s best just to leave them as user defined functions for simplicity and performance sake.Anther issue that came up was that you can still use createobject (or cfinvoke) to create other instances of the component and there seems no way of stopping this.Well there’s one way I can think of but I’m not sure if I’d actually use it in a production system, but it may be of interest to someone so here’s how to do it.ColdFusion methods can be set at run time, you can add or replace methods by assigning them to new functions like so: &lt;em&gt;// from this point on when method is called call newmethod instead&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   cfset instance.method = newmethodMethods can also be removed like so: &lt;em&gt;// remove method “method” from instance&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   cfset structdelete(instance,”method”)&lt;/p&gt;  &lt;p&gt;So you can create a component that has a method that throws an exception (via cfabort) and then have all methods of that component call that method. You can create an instance of the component but if you call any methods you will get an error.Applying this to our singleton component we get: &lt;/p&gt;  &lt;p&gt;cfcomponent displayname=”singleton”
&lt;br /&gt;   cffunction name=”init” access=”public” output=”false”
&lt;br /&gt;      cfscript
&lt;br /&gt;         var displayname = getMetaData(this).displayname;
&lt;br /&gt;  
&lt;br /&gt;         this.invalid();
&lt;br /&gt;  
&lt;br /&gt;         if (not isdefined(”application._singletons”)) {
&lt;br /&gt;            application._singletons = structnew();
&lt;br /&gt;         }
&lt;br /&gt;         if (not isdefined(”application._singletons.#displayname#”)) {
&lt;br /&gt;            application._singletons[displayname] = this;
&lt;br /&gt;         }  
&lt;br /&gt;        
&lt;br /&gt;         return application._singletons[displayname];
&lt;br /&gt;      /cfscript
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”remove” access=”public” output=”false”
&lt;br /&gt;      cfscript
&lt;br /&gt;         var displayname = getMetaData(this).displayname;
&lt;br /&gt;  
&lt;br /&gt;         this.invalid();
&lt;br /&gt;        
&lt;br /&gt;         if (isdefined(”application._singletons.#displayname#”)) {
&lt;br /&gt;            structdelete(application._singletons, displayname);
&lt;br /&gt;         }
&lt;br /&gt;      /cfscript
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”invalid” access=”public” output=”false”
&lt;br /&gt;      cfabort showerror=”Singletons must be created via helper functions not via create object!”
&lt;br /&gt;   /cffunction  
&lt;br /&gt;  
&lt;br /&gt;/cfcomponentThe this.invalid();&lt;/p&gt;  &lt;p&gt;&lt;span style=""&gt; &lt;/span&gt;would also needed to be added to all methods of classes than extend singleton.cfc. eg dsn.cfc in the last article.If you then remove the method that generates the error (via structdelete) before any methods are called then the methods of the instance can be called.Applying this to our getInstance function we get: &lt;em&gt;// function to get an instance of a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function getInstance(name) {
&lt;br /&gt;      if (not isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         instance = createobject(”component”,”path..#name#”);
&lt;br /&gt;         structdelete(instance,”invalid”);
&lt;br /&gt;         instance.init();
&lt;br /&gt;      }
&lt;br /&gt;     
&lt;br /&gt;      return application._singletons[name];
&lt;br /&gt;   }&lt;/p&gt;  &lt;p&gt;That way only instances returned from our getInstance function can be used and any other instances created via created object (or other way) will throw an error when a method of that instance is called.&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Singletons are perhaps one of the most simple Design Patterns. For those who don’t know sigletons are a class that can only have one instance. They can be thought of as a glorified global variable - but are a lot more useful.Most ColdFusion classes, or rather instances of CF components, can be turned in a singleton by placing the following code in your Application.cfm: &lt;/p&gt;  &lt;p&gt;cfif not structkeyexists(application,instance name)
&lt;br /&gt;      cfset application.instance name = createobject(”component”,path to component)
&lt;br /&gt;   /cfifor OnApplicationStart method of your Application.cfc: cfset application.instance name = createobject(”component”,path to component)&lt;/p&gt;  &lt;p&gt;The above code places an instance of the component in the application scope and you can then access the properties and methods of the component via the application variable.Singletons can also be placed in other ColdFusion scopes such as the server or session scopes or even the request scope. Which scope you choose depends on what your code does.Another way to create a singleton is to add an getInstance method to your component and use that to return the instance.Like so: &lt;/p&gt;  &lt;p&gt;cffunction name=”getInstance” access=”public” output=”false”   &lt;/p&gt;  &lt;p&gt;      cfif not isdefined(”application.instance name”)
&lt;br /&gt;         cfset application.[instance name] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application.[instance name]
&lt;br /&gt;   /cffunctionRather than hard coding the instance name we can base it on the displayname of the component.cffunction name=”getInstance” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;  
&lt;br /&gt;      cfif not isdefined(”application.#displayname#”)
&lt;br /&gt;         cfset application.[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application.[displayname]
&lt;br /&gt;   /cffunction&lt;/p&gt;  &lt;p&gt;While this is an improvement on the original code this method would need to be added to all components you wanted to turn into a singleton. A better solution is to create a singleton component and in a component you need to turn into a singleton extend from the singleton component.The singleton component (singleton.cfc):&lt;/p&gt;  &lt;p&gt;&lt;span style=""&gt; &lt;/span&gt;cfcomponent displayname=”singleton”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”getInstance” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;     
&lt;br /&gt;      cfif not isdefined(”application.#displayname#”)
&lt;br /&gt;         cfset application[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application[displayname]
&lt;br /&gt;   /cffunction&lt;/p&gt;  &lt;p&gt;/cfcomponentThe component we want to use as a singleton (dsn.cfc): cfcomponent displayname=”DSN” extends=”singleton”
&lt;br /&gt;   cfset variables.DNS = “”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”getDSN” access=”public” returntype=”string” output=”false”
&lt;br /&gt;      cfreturn variables.DSN
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”setDSN” access=”public” output=”false”
&lt;br /&gt;      cfargument name=”DSN” type=”string” required=”yes”
&lt;br /&gt;      cfset variables.DSN = arguments.DSN
&lt;br /&gt;   /cffunction
&lt;br /&gt;     
&lt;br /&gt;/cfcomponentUsing the component (in Applicaton.cfm): cfscript
&lt;br /&gt;      if (not structkeyexists(application,’dsn’)) {
&lt;br /&gt;         application.dsn = createobject(’component;,’dsn’).getInstance();
&lt;br /&gt;         application.dsn.setDSN(’mydsn’);
&lt;br /&gt;      }
&lt;br /&gt;   /cfscriptor OnApplicationStart method of Application.cfc: cfscript
&lt;br /&gt;      application.dsn = createobject(’component’,'dsn’).getInstance();
&lt;br /&gt;      application.dsn.setDSN(’mydsn’);  
&lt;br /&gt;   /cfscriptIn the page: cfquery name=”myquery” datasource=”#applicaton.dsn.getDSN()#”
&lt;br /&gt;   …
&lt;br /&gt;   /cfquery&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;  &lt;/span&gt;Here the example code : singleton.cfc&lt;/p&gt;  &lt;p&gt;&lt;span style=""&gt; &lt;/span&gt;cfcomponent displayname=”singleton”
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”init” access=”public” output=”false”  
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname
&lt;br /&gt;     
&lt;br /&gt;      cfif not isdefined(”application._singletons”)
&lt;br /&gt;         cfset application._singletons = structnew()
&lt;br /&gt;      /cfif
&lt;br /&gt;      cfif not isdefined(”application._singletons.#displayname#”)
&lt;br /&gt;         cfset application._singletons[displayname] = this
&lt;br /&gt;      /cfif  
&lt;br /&gt;     
&lt;br /&gt;      cfreturn application._singletons[displayname]
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”remove” access=”public” output=”false”
&lt;br /&gt;      cfset var displayname = getMetaData(this).displayname  
&lt;br /&gt;     
&lt;br /&gt;      cfif isdefined(”application._singletons.#displayname#”)  
&lt;br /&gt;         cfset structdelete(application._singletons, displayname)
&lt;br /&gt;      /cfif
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;/cfcomponentAnd here hows it’s setup in Application.cfm (or .cfc): cfscript
&lt;br /&gt;   &lt;em&gt;// function to get an instance of a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function getInstance(name) {
&lt;br /&gt;      if (not isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         instance = createobject(”component”,”com.classsoftware.utils.#name#”).init();
&lt;br /&gt;      }
&lt;br /&gt;     
&lt;br /&gt;      return application._singletons[name];
&lt;br /&gt;   }&lt;/p&gt;  &lt;p&gt;   &lt;em&gt;// function to remove a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function removeInstance(name) {
&lt;br /&gt;      if (isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         application._singletons[name].remove();
&lt;br /&gt;      }
&lt;br /&gt;   }  
&lt;br /&gt;  
&lt;br /&gt;   &lt;em&gt;// remove instance if asked&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   if (isdefined(”url.init”)) {
&lt;br /&gt;      removeInstance(’dsn’);
&lt;br /&gt;   }
&lt;br /&gt;/cfscriptAnd how it’s used on the page: cfset dsn = getInstance(”dsn”)&lt;/p&gt;  &lt;p&gt;   cfquery name=”myquery1″ datasource=”#dsn.getDSN()#”
&lt;br /&gt;      select ….
&lt;br /&gt;   /cfquery
&lt;br /&gt;  
&lt;br /&gt;   cfquery name=”myquery2″ datasource=”#dsn.getDSN()#”
&lt;br /&gt;      select ….
&lt;br /&gt;   /cfquery&lt;/p&gt;  &lt;p&gt;The functions getInstance and removeInstance could be placed inside a component that creates/removes singletons (a singleton factory?). However that component itself would need to be a singleton or you’d need to create it (via createobject) on every page. I’ll feel it’s best just to leave them as user defined functions for simplicity and performance sake.Anther issue that came up was that you can still use createobject (or cfinvoke) to create other instances of the component and there seems no way of stopping this.Well there’s one way I can think of but I’m not sure if I’d actually use it in a production system, but it may be of interest to someone so here’s how to do it.ColdFusion methods can be set at run time, you can add or replace methods by assigning them to new functions like so: &lt;em&gt;// from this point on when method is called call newmethod instead&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   cfset instance.method = newmethodMethods can also be removed like so: &lt;em&gt;// remove method “method” from instance&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   cfset structdelete(instance,”method”)So you can create a component that has a method that throws an exception (via cfabort) and then have all methods of that component call that method. You can create an instance of the component but if you call any methods you will get an error.Applying this to our singleton component we get: cfcomponent displayname=”singleton”
&lt;br /&gt;   cffunction name=”init” access=”public” output=”false”
&lt;br /&gt;      cfscript
&lt;br /&gt;         var displayname = getMetaData(this).displayname;
&lt;br /&gt;  
&lt;br /&gt;         this.invalid();
&lt;br /&gt;  
&lt;br /&gt;         if (not isdefined(”application._singletons”)) {
&lt;br /&gt;            application._singletons = structnew();
&lt;br /&gt;         }
&lt;br /&gt;         if (not isdefined(”application._singletons.#displayname#”)) {
&lt;br /&gt;            application._singletons[displayname] = this;
&lt;br /&gt;         }  
&lt;br /&gt;        
&lt;br /&gt;         return application._singletons[displayname];
&lt;br /&gt;      /cfscript
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”remove” access=”public” output=”false”
&lt;br /&gt;      cfscript
&lt;br /&gt;         var displayname = getMetaData(this).displayname;
&lt;br /&gt;  
&lt;br /&gt;         this.invalid();
&lt;br /&gt;        
&lt;br /&gt;         if (isdefined(”application._singletons.#displayname#”)) {
&lt;br /&gt;            structdelete(application._singletons, displayname);
&lt;br /&gt;         }
&lt;br /&gt;      /cfscript
&lt;br /&gt;   /cffunction
&lt;br /&gt;  
&lt;br /&gt;   cffunction name=”invalid” access=”public” output=”false”
&lt;br /&gt;      cfabort showerror=”Singletons must be created via helper functions not via create object!”
&lt;br /&gt;   /cffunction  
&lt;br /&gt;  
&lt;br /&gt;/cfcomponent&lt;/p&gt;  &lt;p&gt;The this.invalid(); would also needed to be added to all methods of classes than extend singleton.cfc. eg dsn.cfc in the last article.If you then remove the method that generates the error (via structdelete) before any methods are called then the methods of the instance can be called.Applying this to our getInstance function we get: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;// function to get an instance of a singleton&lt;/em&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;   function getInstance(name) {
&lt;br /&gt;      if (not isdefined(”application._singletons.#name#”)) {
&lt;br /&gt;         instance = createobject(”component”,”path..#name#”);
&lt;br /&gt;         structdelete(instance,”invalid”);
&lt;br /&gt;         instance.init();
&lt;br /&gt;      }
&lt;br /&gt;     
&lt;br /&gt;      return application._singletons[name];
&lt;br /&gt;   }&lt;/p&gt;  &lt;p&gt;That way only instances returned from our getInstance function can be used and any other instances created via created object (or other way) will throw an error when a method of that instance is called.&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How Coldfusion works and it’s Key Features( Compilation and precompile )</title><link>http://kalyan-coldfusion.blogspot.com/2010/08/how-coldfusion-works-and-its-key.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 4 Aug 2010 12:03:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4678839963512634224</guid><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNSlSMiA7Fki0ZzgmVZO7vz7xu5g3vBhc1souhJt8w-NOIrBpREfkX_NbUWVFXl_ZmSD5CBSJ3HPi_CaV4v88VcqxSGKsC01auI8o8ALa95zi3sLSiuvDXVpfcM_GUjuISZCuGRaMz2_FH/s1600/coldfusion_across_technology.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 495px; height: 330px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNSlSMiA7Fki0ZzgmVZO7vz7xu5g3vBhc1souhJt8w-NOIrBpREfkX_NbUWVFXl_ZmSD5CBSJ3HPi_CaV4v88VcqxSGKsC01auI8o8ALa95zi3sLSiuvDXVpfcM_GUjuISZCuGRaMz2_FH/s320/coldfusion_across_technology.JPG" alt="" id="BLOGGER_PHOTO_ID_5501586440644519602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Where Does the Compilation Go?&lt;/strong&gt;&lt;br /&gt;CFMX compiles cfm (and cfc) templates into .class files, which are Java byte code files. The files are written to (and executed from) the cfclasses subdirectory of [cfusionmx]\wwwroot\WEB-INF\ directory where CFMX is installed. This occurs whether you are using another Web server or have located your file outside the default wwwroot location. CFMX compiles and runs the code from this cfclasses directory, regardless of the location of the source file. The file names for these class files may not be at all apparent. A CF template named Setsession.cfm might lead to a class file named cfsetsession2ecfm1011928410.class.  All templates from all directories end up in this one cfclasses subdirectory. They’re not stored here in any subdirectories related to their original location. Instead, CF includes a hash of the directory name in that set of numbers after the file name. Keep that in mind when trying to associate a given class file with its original cfm template. The hashing process is a bit convoluted.  Perhaps the easiest way to detect which class file goes with which source file is to simply edit the file and then execute (or precompile) it. Look in the cfclasses directory for the most recently created class file. Assuming your server is not too busy with many compilations taking place, it should be pretty easy to associate the classname with the CF source code name.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Saving Java Source Code Produced by CFMX&lt;/strong&gt; (Earlier coldfusion Versions)&lt;br /&gt;So that’s where the compiled source code goes. But what about seeing the actual uncompiled Java source code that your CF template is converted into? Normally it’s of no concern to CF developers what CFMX is doing under the covers in converting our CFML to Java. For the ardently curious among you, did you know that you can ask CFMX to save the Java code it creates, in source form? You can. It’s an undocumented feature, and while I’ve had no trouble doing it. The setting can only be enabled by someone with administrative control of the server, and the setting is also server-wide. It will add a slight additional time to the compile process, so it’s not something you’d want to turn on in production. It probably ought not be left on in development either. You need to edit the file web.xml in the [cfusionmx]\wwwroot\WEB-INF directory. There, if you’re familiar with XML files, you’ll find a parameter called “coldfusion.compiler.saveJava”. Change its value from false to true. Save the file. Restart the server. Now, whenever a new or recently edited file is compiled (whether automatically by CFMX or by our precompile.bat file), CFMX will also create a “.java” file along with the “.class” file. This “.java” file will be found in that same [cfusionmx]\wwwroot\WEB-INF\cfclasses\ directory as the “.class” files (and will be subject to that same issue of the curious file naming mentioned above).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Idea of Deleting the Generated Class Files&lt;/strong&gt;&lt;br /&gt;Some have proposed that instead of precompiling their code they’d just as soon delete the underlying Java class file that was created when it was last compiled. That may seem like overkill, but there are times when it might be worth trying. Just note that, as the previous sections discussed, finding the class file that’s associated with a given source template can be challenging. While some may simply delete all the class files, that’s certainly overkill. There is a -f directive you can pass to the compile process (by modifying the precompile.bat file now cfcompile.bat). That will force a recompile of a file even if CF doesn’t think it’s necessary. Sometimes that solves the same problem that deleting the class file would solve.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisjiCfsXGt-uwpKyvVfP6LEqB184fDDaJfVgEUCBEcSXQqLZMvjKtoqHWWxX0yWtAVjtHAJy8BOyEAI6Ew0nBeOJ8JJ-3FSzSd0tUgkQXCfT1RzkT4YC11AcqhDNqLJTcqg9L1r3UV02ty/s1600/coldfusion_flow.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 532px; height: 314px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisjiCfsXGt-uwpKyvVfP6LEqB184fDDaJfVgEUCBEcSXQqLZMvjKtoqHWWxX0yWtAVjtHAJy8BOyEAI6Ew0nBeOJ8JJ-3FSzSd0tUgkQXCfT1RzkT4YC11AcqhDNqLJTcqg9L1r3UV02ty/s320/coldfusion_flow.JPG" alt="" id="BLOGGER_PHOTO_ID_5501586953010375074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMtRHdJqkFfRTpff5OgUpG-zC9oGr5k7JKz3d-8jhzuDsFmZ1uejwpNm0CW5RnQuCWNHQ0VopQfSne1juqg8ompSCrc21cZVdEp-N5F74RnRkC7WBQldw4n49wU4Wx8Rr1vfKGoUmmrjD6/s1600/coldfusion-keyfeatures.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 408px; height: 271px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMtRHdJqkFfRTpff5OgUpG-zC9oGr5k7JKz3d-8jhzuDsFmZ1uejwpNm0CW5RnQuCWNHQ0VopQfSne1juqg8ompSCrc21cZVdEp-N5F74RnRkC7WBQldw4n49wU4Wx8Rr1vfKGoUmmrjD6/s320/coldfusion-keyfeatures.JPG" alt="" id="BLOGGER_PHOTO_ID_5501587188836034866" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Precompiling ColdFusion pages  &lt;/span&gt;&lt;p&gt;You can use the cfcompile utility to precompile ColdFusion pages (CFM, CFC, and CFR files). This can enhance initial page loading time at runtime.&lt;/p&gt; &lt;p&gt;Use the following command to compile ColdFusion pages into Java classes:&lt;/p&gt; &lt;p&gt;cfcompile webroot [directory-to-compile]&lt;/p&gt; &lt;p&gt;Sourceless distribution&lt;br /&gt;You can use the cfcompile utility with the -deploy option to create ColdFusion pages (CFM, CFC, and CFR files) that contain Java bytecode. You can then deploy the bytecode versions of the ColdFusion pages instead of the original CFML source code.&lt;/p&gt; &lt;p&gt;Use the following command to compile CFML files into bytecode format that you can deploy instead of CFML source code:&lt;/p&gt; &lt;p&gt;cfcompile -deploy webroot directory-to-compile output-directory&lt;/p&gt; &lt;p&gt;After you run the cfcompile utility, perform the following steps:&lt;/p&gt; &lt;p&gt;Back up your original CFML files&lt;br /&gt;Copy the generated bytecode CFML files to the original directory&lt;br /&gt;Deploy the application.            &lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNSlSMiA7Fki0ZzgmVZO7vz7xu5g3vBhc1souhJt8w-NOIrBpREfkX_NbUWVFXl_ZmSD5CBSJ3HPi_CaV4v88VcqxSGKsC01auI8o8ALa95zi3sLSiuvDXVpfcM_GUjuISZCuGRaMz2_FH/s72-c/coldfusion_across_technology.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How to get the primary key of a record added to the table with coldfusion</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/how-to-get-primary-key-of-record-added.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:45:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-669768330958424105</guid><description>&lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;Many people use database tables with autonumber primary keys. These are columns (typically&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;named “id”) that the database will provide a value for by simply adding one to the last highest value.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;So if the last record inserted had an ID value of 5, the next will be 6. (Note that this isn’t always true.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;You can’t assume the next value will be one over the last highest value.) If you need to find out what&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;value was used for the primary key, ColdFusion provides a simple way to do that.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;To use this feature, you first must provide the result attribute to your cfquery tag. This tells&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;ColdFusion to save information about the query to the variable named by the result attribute.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;cfquery datasource="&lt;font"    style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;“foo” &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;result=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;“result”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#810000;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;insert into people(name,email)&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;values(&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;“Paris Hilton”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;“trash@celebs.com”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;/cfquery&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;After running this query a structure named result will be created. Most of the keys of this structure&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;are set, including the sql of the query, recordcount, and other values, however there is a special key&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;that will store the value of the primary key assigned to the insertion. Unfortunately, this key value&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;will vary depending on the database. For SQL Server, the value will be in the IDENTITYCOL key.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;For Oracle, the value will be in the ROWID key. For Sybase, the value will be in the&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;SYB_IDENTITY key. For Informix, the value will be in the SERIAL_COL key. For MySQL, the&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;value will be in the GENERATED_KEY key.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;Using the above query as an example and assuming MySQL, you can display the primary key value&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:130%;"&gt;like so:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;cfoutput&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;"&gt;The ID of the row I just inserted was #result.generated_key#.&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;span style="font-family:TimesNewRomanPSMT;font-size:78%;color:#0000ff;"&gt;&lt;/cfoutput&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Logical architecture of a Fusebox application</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/logical-architecture-of-fusebox.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:41:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4889336055526746504</guid><description>&lt;p&gt;&lt;strong&gt; &lt;strong&gt;&lt;u&gt;Logical architecture of a Fusebox application&lt;/u&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The logical architecture of a Fusebox app resembles a hub and spoke system, with all actions returning to the hub (the Fusebox). This sort of structure is also known as a circuit application. &lt;a href="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/fusebox.JPG" title="fusebox"&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/fusebox.JPG" alt="fusebox" /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Figure 1 Fusebox App Structure&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;A circuit application is usually a single directory of files and generally does a few related tasks such as search. The overall application is called the &lt;em&gt;home&lt;/em&gt; application, which is made up of many circuit applications. This is where Fusebox gets its name. Just like an electrical Fusebox, it is set up as a group of circuits (”fuses”) that are ready to send the user to whichever part of the application his or her next click requires. Each of these fuses has a name, called a &lt;em&gt;fuseaction&lt;/em&gt;. Fuseactions are used to turn on the appropriate switches to cause the required action. So the Fuseaction is the key to the application?without a fuseaction, the application will only do the default fuseaction.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;INDEX.CFM and the Fuseaction&lt;/strong&gt;The home application is ALWAYS engendered in a file called INDEX.CFM, which is placed in the root directory of your application. Every link on the website will always be to this file! When creating the user interface for the application, each URL link or form will be to INDEX.CFM and then contain the name of the fuseaction that will do the work necessary if it is activated. For a URL, the fuseaction will be contained in the query string, for instance: &lt;em&gt;http://localhost/INDEX.CFM?fuseaction=search.&lt;/em&gt; For a form, the usual method of placing the fuseaction is to call the INDEX.CFM file in the form?s action field, but then include a hidden form field with the fuseaction:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;form action="”INDEX.CFM”" method="”post”"&gt; &lt;p&gt;        &lt;input type="”hidden”" name="”fuseaction”" value="”search”"&gt;&lt;/form&gt;&lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Now, The question is for internal workings of the INDEX.CFM file. It will use CFINCLUDEs to combine files together to create a working application. But how does ColdFusion use the fuseaction to know which files to combine? This is done using CFCASE/CFSWITCH. The CFCASE/CFSWITCH tags perform a similar function to a CFIF statement with a bunch of CFELSEIFs. But, using CFSWITCH/CFCASE will run much faster than a similar series of CFIF/CFELSEIF. When there are many ELSEIF’s, the logic is exactly the same. For example, here is a logical statement using CFIF/CFELSEIF:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;cfif&gt; &lt;p&gt;        “Wooof” &lt;cfelseif&gt;         “Meeooow” &lt;cfelseif&gt;         “Moooooo” &lt;cfelse&gt;         [[Silence]] &lt;/cfif&gt;&lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Using CFCASE/CFSWITCH, the same statement would be:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;cfswitch expression="”my_variable”"&gt; &lt;p&gt;        &lt;cfcase value="”DOG”"&gt;                 “Wooof”         &lt;/cfcase&gt;         &lt;cfcase value="”CAT”"&gt;                  “Meeooow”         &lt;/cfcase&gt;      &lt;cfcase value="”COW”"&gt;                “Moooooo”        &lt;/cfcase&gt;         &lt;cfdefaultcase&gt;                [[silence]]         &lt;/cfdefaultcase&gt; &lt;/cfswitch&gt;&lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Since CFSWITCH/CFCASE is faster, it is the method used in the Fusebox architecture. INDEX.CFM will contain CFSWITCH/CFCASE to determine what the user wants to do. Think of the INDEX.CFM as basically one big switch statement and each CFCASE contains the information on what to do for a particular fuseaction. Therefore, the EXPRESSION= parameter of the CFSWITCH will be equal to your Fuseaction variable. An example: fuseaction=search might run a search and then display the results. In this case, the opening CFSWITCH statement should assign #FUSEACTION# to be the variable to be used, as in:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;cfswitch expression="”#FUSEACTION#”"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;This means that basically, a fuseaction is the equivalent of a single CFCASE statement in your INDEX.CFM. Have a look at this code:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;cfswitch expression="”#fuseaction#”"&gt; &lt;p&gt;        &lt;cfcase value="”"&gt;                &lt;cfinclude template="”/public/Main/blocks/dsp_html_header.cfm”"&gt;                &lt;cfinclude template="”/public/Newsletter/blocks/dsp_registration_form.cfm”"&gt;                &lt;cfinclude template="”/public/Main/blocks/dsp_html_footer.cfm”"&gt;        &lt;/cfcase&gt;        &lt;cfcase value="”Register_User_For_Newsletter”"&gt;                &lt;cfinclude template="”/public/Newsletter/queries/qry_check_for_dups.cfm”"&gt;                &lt;cfinclude template="”/public/Newsletter/blocks/dsp_registration_thank_you.cfm”"&gt;                &lt;cfinclude template="”/public/Main/blocks/dsp_html_footer.cfm”"&gt;        &lt;/cfcase&gt;&lt;/cfswitch&gt;&lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Suppose a user clicks on the following link:&lt;/strong&gt;&lt;/p&gt; &lt;table border="1" cellpadding="0" width="100%"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;a href="”INDEX.CFM?fuseaction=""&gt; registration &lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Using the example code above, when ColdFusion executes our CFSWITCH using the “registration” fuseaction, it will first display our HTML header block, then it will include the registration form itself and then finally the HTML footer. The rest of the CFCASES will be ignored.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-family:Times New Roman;"&gt;Article Inspired from : fusionauthority&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Coldfusion and It’s Advantages</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/coldfusion-and-its-advantages.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:40:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-8872102546485367513</guid><description>&lt;p align="left"&gt;&lt;span style="font-family:Times New Roman;"&gt;ColdFusion is a rapid scripting environment server for creating dynamic Internet Applications. ColdFusion Markup Language (CFML) is an easy-to-learn tag-based scripting language, with connectivity to enterprise data and powerful built-in search and charting capabilities. ColdFusion enables developers to easily build and deploy dynamic websites, content publishing systems, self-service applications, commerce sites, and more.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/coldfusionmx.JPG" alt="coldfusionmx.JPG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/coldfusionmx_arch.JPG" alt="coldfusionmx_arch.JPG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:#000000;"&gt;ü  &lt;strong&gt;Develop and manage applications quickly and easily&lt;/strong&gt;—ColdFusion  lets you condense complex and powerful business logic into fewer lines of code that can be reused, helping you to save time and reduce errors. It provides insight into applications across servers and helps you maintain a consistent configuration across clusters to more efficiently manage your environment. Using ColdFusion , you can improve application performance with more granular control over code, templates, and applications. And speed up application development with the tight integration between ColdFusion  and Adobe ColdFusion Builder™ software, the new Eclipse™ based IDE.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:#000000;"&gt;ü  &lt;strong&gt;Rapidly build rich interfaces for new and existing ColdFusion applications&lt;/strong&gt;—By leveraging the unique integration between ColdFusion  and the products in the Adobe Flash Platform, you can accelerate the development of RIAs and interfaces, from client to server. Built-in support for Ajax controls enables you to easily create rich interfaces using Ajax and to build more compelling and intuitive applications. New controls include mapping, multimedia player, multifile upload, accordion navigation, progress indicator, confirmations, alerts, buttons, and sliders. In addition, you can now leverage the power of ColdFusion enterprise services via AMF or SOAP without writing a single line of CFML. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:#000000;"&gt;ü  &lt;strong&gt;Integrate ColdFusion applications with enterprise technologies&lt;/strong&gt;—Using the enterprise services in ColdFusion , you can easily access data from an existing infrastructure. It’s also easy to build a hub application for enterprise personnel by including Microsoft Exchange enterprise messaging, calendaring, a contact list, and task management. You can expose data from Microsoft Office SharePoint web services to a ColdFusion application and dynamically generate office documents for reporting, decision making, and presentations. Leverage .NET objects from other applications to build a hub application for multiple enterprise resources. Also integrate with Java™ objects, IMAP, and more.&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;strong&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/coldfusionmx_adv.JPG" alt="coldfusionmx_adv.JPG" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/coldfusionmx_arch_comp.JPG" alt="coldfusionmx_arch_comp.JPG" align="left" width="456" height="157" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Times New Roman;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;table border="0" cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td valign="top" width="265"&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;Sources: &lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;• Sun Developer Network overview of Java SE security&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;• MSDN, “How To: Use Regular Expressions to Constrain Input in ASP.NET”&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;• PHP.NET Manual—“Security” section&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;• Adobe white paper—Rapid application development for J2EE using Adobe ColdFusion 8&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:Times New Roman;"&gt;• Adobe white paper—ColdFusion 8 developer security guidelines&lt;/span&gt;&lt;/em&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>ColdFusion Magic:- Join between oracle and sql server Using resultset</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/coldfusion-magic-join-between-oracle.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:39:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-2229958140712500352</guid><description>Yes, it is possible to JOIN result sets from different datasources &lt;p&gt;One unique use for Query of Queries is to JOIN recordsets from separate queries. By extension, this means you can JOIN recordsets from different datasources as well.&lt;/p&gt; &lt;p&gt;Let’s assume that my datasource for customers is an Oracle database, but the database for customer orders is SQL Server. I realize this is a bit contrived, but we all know how strange the corporate operating environment can be. Using Query of Queries, you can run a JOIN on the two recordsets.&lt;/p&gt; &lt;p&gt;In this example, I’m grabbing orders for a specific customer. First, we’ll look at the &lt;em&gt;getCustomerOrders&lt;/em&gt; query, which will provide the second recordset that we’ll use in our JOIN along with the &lt;em&gt;getCustomers&lt;/em&gt; recordset:&lt;br /&gt;&lt;br /&gt;&lt;cfquery name="”getCustomerOrders”" datasource="”customerOrderDB”"&gt;&lt;br /&gt;select&lt;br /&gt;     orderID,&lt;br /&gt;     customerID,&lt;br /&gt;     orderAmount&lt;br /&gt;from&lt;br /&gt;     customerOrders   &lt;br /&gt;&lt;/cfquery&gt;&lt;/p&gt; &lt;p&gt;This would produce a recordset like the one shown in &lt;strong&gt;Figure 1&lt;/strong&gt;.&lt;/p&gt; &lt;p align="center"&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/fig1.JPG" alt="fig1.JPG" /&gt;&lt;/p&gt; &lt;p align="center"&gt;JOIN query(Figure 1)&lt;/p&gt; &lt;p align="left"&gt; &lt;/p&gt; &lt;p&gt;Now, let’s JOIN these separate result sets:&lt;br /&gt;&lt;br /&gt;&lt;cfquery name="”getOrdersForCustomer”" dbtype="”query”"&gt;&lt;br /&gt;select&lt;br /&gt;     getCustomers.customerID,&lt;br /&gt;     getCustomers.customerName,&lt;br /&gt;     getCustomerOrders.orderID,&lt;br /&gt;     getCustomerOrders.orderAmount&lt;br /&gt;from&lt;br /&gt;     getCustomers, getCustomerOrders&lt;br /&gt;where&lt;br /&gt;     getCustomerOrders.customerID = getCustomers.customerID&lt;br /&gt;     AND getCustomerOrders.customerID = 91&lt;br /&gt;&lt;/cfquery&gt;&lt;/p&gt; &lt;p&gt;The resulting recordset can be seen in &lt;strong&gt;Figure 2&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;&lt;img src="https://ch1blogs.cognizant.com/blogs/205111/files/2010/05/fig2.JPG" alt="fig2.JPG" /&gt;&lt;/p&gt; &lt;p&gt;JOIN Query of Query(Figure 2)&lt;/p&gt; &lt;p align="left"&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;This ability to relate records in separate queries can be a useful approach to certain programming challenges.&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Vulnerability affects ColdFusion MX 7 and ColdFusion 8</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/vulnerability-affects-coldfusion-mx-7.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:38:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-8236094998578282913</guid><description>&lt;p&gt;A vulnerability has been reported in Adobe ColdFusion, which potentially can be exploited by malicious people to hijack user sessions.&lt;/p&gt; &lt;p&gt;The vulnerability is caused due to an unspecified error when using CFID or CFTOKEN and can be exploited to e.g. hijack a user’s session on an application built using ColdFusion.&lt;/p&gt; &lt;p&gt;NOTE: This vulnerability does not affect customers using J2EE session management.&lt;/p&gt; &lt;p&gt;The vulnerability affects ColdFusion MX 7 and ColdFusion 8.&lt;/p&gt; &lt;h3&gt;Issue&lt;/h3&gt; &lt;hr /&gt;ColdFusion manages sessions by keying on cookie values for CFID and CFTOKEN, by default. It has been found that ColdFusion will accept empty string values for either or both of these variables. If an application accidentally stored empty values to CFID and CFTOKEN, all users could share the same session data. &lt;h3&gt;Solution&lt;/h3&gt; &lt;hr /&gt;This update will cause ColdFusion to create a new session if CFID and/or CFTOKEN values are empty strings. &lt;h5&gt;&lt;strong&gt;ColdFusion 8 &lt;/strong&gt;&lt;/h5&gt; &lt;p&gt;You use the ColdFusion 8 Administrator to install hot fixes. The installation process is the same for all platforms and installation choices.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Download &lt;a href="http://www.adobe.com/support/coldfusion/ts/documents/kb402805/hf800-70523.zip"&gt;hf800-70523.zip&lt;/a&gt; (6.25K) and extract the hf800-70523.jar file.&lt;/li&gt;&lt;li&gt;Open the ColdFusion 8 Administrator and select the System Information page.&lt;/li&gt;&lt;li&gt;Next to the Update File field, select the Browse Button and browse to the extracted file. Select the file and click Submit.&lt;/li&gt;&lt;li&gt;Restart ColdFusion.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The ColdFusion 8.0 hot fix JAR file does not need to be retained after installing it with the ColdFusion Administrator. The file has been copied into the correct location.&lt;/p&gt; &lt;p&gt;The ColdFusion 8.0 hot fix JAR file will appear as a new entry in the System Information list.&lt;/p&gt; &lt;p&gt;Hot fixes are installed in the cf_root\lib\updates directory. To uninstall a hot fix, delete the JAR file from the updates directory that are being replaced by the cumulative update, after stopping the ColdFusion 8 application server.&lt;/p&gt; &lt;h5&gt;&lt;strong&gt;ColdFusion MX 7 &lt;/strong&gt;&lt;/h5&gt; &lt;p&gt;You use the ColdFusionMX 7 Administrator to install hot fixes. The installation process is the same for all platforms and installation choices.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Download &lt;a href="http://www.adobe.com/support/coldfusion/ts/documents/kb402805/hf702-70523.zip"&gt;hf702-70523.zip&lt;/a&gt; (106K) and extract the hf702-70523.jar file.&lt;/li&gt;&lt;li&gt;Open the ColdFusionMX 7 Administrator and select the System Information page.&lt;/li&gt;&lt;li&gt;Next to the Update File field, select the Browse Button and browse to the extracted file. Select the file and click Submit.&lt;/li&gt;&lt;li&gt;Restart ColdFusion.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The ColdFusionMX 7.02 hot fix JAR file does not need to be retained after installing it with the ColdFusion Administrator. The file has been copied into the correct location.&lt;/p&gt; &lt;p&gt;The ColdFusionMX 7.02 hot fix JAR file will appear as a new entry in the System Information list.&lt;/p&gt; &lt;p&gt;Hot fixes are installed in the cf_root\lib\updates directory. To uninstall a hot fix, delete the JAR file from the updates directory, after stopping the ColdFusionMX 7.02 application server.&lt;/p&gt; &lt;p&gt;For More information use following link&lt;/p&gt; &lt;p&gt;&lt;a href="http://kb2.adobe.com/cps/402/kb402805.html"&gt;http://kb2.adobe.com/cps/402/kb402805.html&lt;/a&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Use Single Sign-On to access ColdFusion applications via SharePoint</title><link>http://kalyan-coldfusion.blogspot.com/2010/06/use-single-sign-on-to-access-coldfusion.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Thu, 24 Jun 2010 14:38:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-4828552703665501736</guid><description>&lt;p&gt;SharePoint custom Web Parts let you access multiple ColdFusion applications from the SharePoint server using Single Sign-On (SSO). After signing in, users can access multiple secure ColdFusion applications by accessing ColdFusion services from multiple Web Parts.&lt;/p&gt; &lt;p&gt;To make a ColdFusion application available from SharePoint, use the CFSharepoint SSO WebPart template. This template is a customized version of PageViewer WebPart. It enables you to pass SSO credentials to the ColdFusion application. Download this template from the Adobe website or copy it from the ColdFusion 9 DVD.&lt;/p&gt; &lt;p&gt;Remember these points:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Web Parts support only the native single sign-on solution; other pluggable single sign-on services are not supported.&lt;/li&gt;&lt;li&gt;Only single sign-on credentials are passed to the ColdFusion application. The ColdFusion application must have the necessary logic to retrieve the credentials and login to the application.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a name="WSACB7BCB8-F071-4537-BD1D-A2EBB8170D61"&gt;&lt;/a&gt;&lt;!-- --&gt;&lt;/p&gt; &lt;h3&gt;Deploy the CF9SSOWebPart.wsp Web Part for SharePoint Portal Server 2007&lt;/h3&gt; &lt;p&gt;To configure single sign-on for SharePoint Server 2007, deploy the CF9SSOWebPart.wsp file to the SharePoint server.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Copy the CF9SSOWebPart.wsp file to the BIN folder within the Web Server extensions. It is normally located at Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN in the SharePoint server.&lt;/li&gt;&lt;li&gt;To deploy the solution to SharePoint, use the command prompt to navigate to Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN and enter the following commands, as required. &lt;p&gt;To delete the solution if it is already present:&lt;/p&gt; &lt;pre&gt;STSADM.EXE -o deletesolution -name CF9SSOWebPart.wsp -override&lt;/pre&gt; &lt;p&gt;To add the solution to SharePoint:&lt;/p&gt; &lt;pre&gt;STSADM.EXE -o addsolution -f CF9SSOWebPart.wsp&lt;/pre&gt; &lt;p&gt;To deploy the solution to the configured website by specifying the URL:&lt;/p&gt; &lt;pre&gt;STSADM.EXE -o deploysolution -name CF9SSOWebPart.wsp  -url &lt;virtual&gt; -local -allowGacDeployment&lt;/pre&gt; &lt;p&gt;To deploy the solution to all the configured websites:&lt;/p&gt; &lt;pre&gt;STSADM.EXE -o deploysolution -name CF9SSOWebPart.wsp -local -allowGacDeployment&lt;/pre&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a name="WSf01dbd23413dda0e-2477eceb120130012ed-8000"&gt;&lt;/a&gt;&lt;!-- --&gt;&lt;/p&gt; &lt;h3&gt;Import the CF9SSOWebPart.wsp Web Part into a Web Part Page&lt;/h3&gt; &lt;ol&gt;&lt;li&gt;Navigate to the web page on the SharePoint server where you want the Web Part to be accessible.&lt;/li&gt;&lt;li&gt;In the Web Part page, click Site Actions &gt; Site Settings.&lt;/li&gt;&lt;li&gt;In the Site Settings page, click Galleries &gt; Web Parts.&lt;/li&gt;&lt;li&gt;In the Web Part gallery, click Upload in the toolbar pane.&lt;/li&gt;&lt;li&gt;Select the CF9SSOWebPart.wsp Web Part.&lt;/li&gt;&lt;li&gt;Enter the following details in the toolbar pane. &lt;ul&gt;&lt;li&gt;URL of the ColdFusion application to access&lt;/li&gt;&lt;li&gt;The form field name as the User ID&lt;/li&gt;&lt;li&gt;The form field name as the password&lt;/li&gt;&lt;li&gt;Name of the SSO application where the credentials are configured&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Once the Web Part is deployed, it takes the credentials from the SharePoint Single Sign-On database (based on the application name entered in the Tools Pane). These credentials are transferred to the ColdFusion application through the URL (provided in the Tools Pane) in a FORM containing the specified form fields.&lt;/p&gt; &lt;h2&gt;Using cfsharepoint&lt;/h2&gt; &lt;p&gt;Sharepoint integration with ColdFusion helps you dynamically manage user lists, views, and groups; work with images and document workspaces; and use search effectively. The cfsharepoint tag lets you create new lists, retrieve list items, and update list items on the SharePoint server.&lt;/p&gt; &lt;p&gt;The following example shows how to create a picture library list called “getpics”.&lt;/p&gt; &lt;pre&gt;&lt;cfsharepoint action="addlist" login="#login#" params="#{ listname =" description="This a picture library list" templateid= "109 "&gt;    &lt;! --- Creates a folder within the picture library list&gt;  &lt; action  ="create new folder" login= "#login#" name="collection1" params="#{strListName=" strparentfolder=""&gt;  &lt;!--- Uploads pictures to the folder that you created ---&gt;  &lt;cfscript&gt;      myimage = filereadbinary(expandpath("Bird.jpg"));      //convert the image into byte array to pass as input for "upload" action.  &lt;/cfscript&gt;  &lt;cfsharepoint action="upload" login="#login#" params="#{strListName=" strfolder="Collection1" bytes="#myimage#" filename="bird.jpg" foverwriteifexist="true}#"&gt;    &lt;!--- Rotates the picture downloaded from the SharePoint server.---&gt;  &lt;cfsharepoint name ="result1" action="download" login="#login#" params="#{strListName=" strfolder="New Folder" itemfilenames="[" type="1," ffetchoriginalifnotavailable="true}#"&gt;  &lt;cfimage action="rotate" source="#result1.file#" isbase64="yes" angle="45" name="temp" destination="bird.jpg" overwrite="yes"&gt;  &lt;cfscript&gt;  baseimage = filereadbinary(expandpath("bird.jpg"));  //convert the image into byte array to pass as input for "upload" action.  &lt;/cfscript&gt;  &lt;!--- Uploads the rotated image back to the SharePoint server ---&gt;  &lt;cfsharepoint action="upload" login="#login#" params="#{strListName=" strfolder="Collection1" bytes="#baseimage#" filename="bird.jpg" foverwriteifexist="true}#"&gt;&lt;/pre&gt; &lt;p&gt;To check and ensure that all the updates are made, you can retrieve the list items using code like the following:&lt;/p&gt; &lt;pre&gt;&lt;cfsharepoint action="getimaginglistitems" login="#login#" name="result" params="#{strListName=" strfolder="#result3.title#"&gt;  &lt;cfloop array="#result.Library#" index="n"&gt;  &lt;cfif&gt;  SUCCESS  &lt;cfbreak&gt;  &lt;/cfif&gt;  &lt;/cfloop&gt;&lt;/pre&gt; &lt;p&gt;&lt;a name="WS11B9D9C8-497A-45c0-A93C-59C1C72217AF"&gt;&lt;/a&gt;&lt;!-- --&gt;&lt;/p&gt; &lt;h2&gt;Access ColdFusion from SharePoint using custom Web Parts&lt;/h2&gt; &lt;p&gt;You can access ColdFusion applications from within SharePoint using custom Web Parts. You can create a custom Web Part using the Page Viewer Web Part template that is shipped, by default, with SharePoint services 2.0 and 3.0, and Microsoft Office SharePoint Portal Server 2003 or 2007.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;From the SharePoint Server page, click Modify Shared Page.&lt;/li&gt;&lt;li&gt;Select Add Web&lt;/li&gt;&lt;/ol&gt; &lt;p&gt; Ref : &lt;a href="http://www.adobe.com/"&gt;www.adobe.com&lt;/a&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>How can I automate cached queries to update at an exact time each day?</title><link>http://kalyan-coldfusion.blogspot.com/2010/04/how-can-i-automate-cached-queries-to.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Sat, 24 Apr 2010 15:00:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-8771093472798096215</guid><description>&lt;blockquote&gt;While ColdFusion gives you the ability to choose how long query data is cached, and even couple of&lt;br /&gt;options to clear a cached query by hand, you may still find a situation that requires more precise&lt;br /&gt;control over your cached query updates.&lt;br /&gt;For example, say you have a query that generates a list of the newest recipes submitted to your&lt;br /&gt;recipe site. Because this query is used so often, you choose to cache it. However, you would like to&lt;br /&gt;update the cached query at exactly noon each day to reflect a daily cutoff for new recipe entries.&lt;br /&gt;How could you do this?&lt;br /&gt;The solution lies in using the scheduling engine of your choice (ColdFusion server has one built in)&lt;br /&gt;to run a ColdFusion template that will refresh your cached query.&lt;br /&gt;If you were using the following cached query in your pages:&lt;br /&gt;&lt;br /&gt;start cfquery&lt;br /&gt;name="qWithinTest"&lt;br /&gt;datasource="myDs"&lt;br /&gt;cachedWithin="#createTimeSpan(1, 0, 0, 0)#"&gt;&lt;br /&gt;select name&lt;br /&gt;from recipes&lt;br /&gt;end  cfquery&lt;br /&gt;&lt;br /&gt;You could create a template that flushes the query cache using the following code:&lt;br /&gt;&lt;br /&gt;start cfquery&lt;br /&gt;name="qWithinTest"&lt;br /&gt;datasource="myDs"&lt;br /&gt;cachedwithin="#createTimeSpan(0, 0, 0, -1)#"&gt;&lt;br /&gt;select name&lt;br /&gt;from recipes&lt;br /&gt;End cfquery&lt;br /&gt;&lt;br /&gt;It is then a simple matter of using your scheduling engine to run this query flush template at noon&lt;br /&gt;each day.&lt;/blockquote&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Create 6D Array with Coldfusion 8</title><link>http://kalyan-coldfusion.blogspot.com/2010/04/create-6d-array-with-coldfusion-8.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 21 Apr 2010 13:21:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-7463419220221312236</guid><description>Coldfusion 8 Server support 1-3 Dimentional array only.&lt;br /&gt;If you want to create more that 3D Array then coldfusion server will give you error.&lt;br /&gt;Then what will be the possible sollution for it or is it impossible??&lt;br /&gt;&lt;br /&gt;What i preffer to do is in following way.&lt;br /&gt;&lt;cfscript&gt;&lt;br /&gt;arr = arrayNew(3);&lt;br /&gt;arr[1][1][1] = arrayNew(3);&lt;br /&gt;&lt;/cfscript&gt;&lt;br /&gt;Here arr is 6D array.&lt;br /&gt;you can use in following way&lt;br /&gt;arr[1][1][1][1][1][1].&lt;br /&gt;.............................................................................................................................................&lt;br /&gt;Some more interesting sollutions are comming...</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Urgent openning in coldfusion in CTS(Cognizant) Kolkata</title><link>http://kalyan-coldfusion.blogspot.com/2010/04/urgent-openning-in-coldfusion-in.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Wed, 21 Apr 2010 13:15:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-7795604485139662501</guid><description>Very urgent openning in coldfusion in cognizant(CTS) Kolkata.&lt;br /&gt;Interested people can apply.&lt;br /&gt;Please send me your updated resume to &lt;a href="mailto:kalyan.cse.jis@gmail.com"&gt;kalyan.cse.jis@gmail.com&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>An Introduction to SQL Server 2005 Integration Services</title><link>http://kalyan-coldfusion.blogspot.com/2010/04/introduction-to-sql-server-2005.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Fri, 2 Apr 2010 02:56:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-8252638224743176941</guid><description>&lt;p&gt;This paper discusses the challenges that face businesses that rely on data  integration technologies to provide meaningful, reliable information to maintain  a competitive advantage in today’s business world. It discusses how SQL Server  2005 Integration Services (SSIS) can help Information Technology departments  meet data integration requirements in their companies. Real-world scenarios are  included. &lt;/p&gt; &lt;h5&gt;On This Page&lt;/h5&gt; &lt;p&gt;&lt;a href="#XSLTsection123121120120"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;a href="#XSLTsection124121120120"&gt;Challenges of Data Integration&lt;/a&gt;&lt;br /&gt;&lt;a href="#XSLTsection125121120120"&gt;SQL Server 2005 Integration Services&lt;/a&gt;&lt;br /&gt;&lt;a href="#XSLTsection126121120120"&gt;Making Data Integration Approachable&lt;/a&gt; &lt;br /&gt;&lt;/p&gt; &lt;h3 id="XSLTsection123121120120"&gt;Introduction&lt;/h3&gt; &lt;p&gt;The ability to transform corporate data into meaningful and actionable  information is the single most important source of competitive advantage in  today’s business world. Harnessing the data explosion to better understand the  past and get direction for the future has turned out to be one of the most  challenging ventures for enterprise Information Technology departments in global  organizations. There are three broad categories of issues associated with data  integration:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;Technology challenges&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Organizational issues&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Economic challenges&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In this paper, we will explore these challenges in detail and discuss how to  address them with Microsoft® SQL Server™ 2005 Integration Services (SSIS).  First, let’s view them in the context of a real-world scenario.&lt;/p&gt; &lt;h4&gt;A Real-World Scenario&lt;/h4&gt; &lt;p&gt;A major global transportation company uses its data warehouse to both analyze  the performance of its operations and to predict variances in its scheduled  deliveries.&lt;/p&gt; &lt;h5&gt;Data Sources&lt;/h5&gt; &lt;p&gt;The major sources of data in this company include order data from its  DB2-based order entry system, customer data from its SQL Server-based customer  relationship management (CRM) system, and vendor data from its Oracle-based ERP  system. In addition to data from these major systems, data from spreadsheets  tracking “extraordinary” events, which have been entered by hand by shipping  supervisors, is incorporated into the data warehouse. Currently, external data  such as weather information, traffic status, and vendor details (for  subcontracted deliveries) are incorporated on a delayed basis from text files  from various sources.&lt;/p&gt; &lt;h5&gt;Data Consumption&lt;/h5&gt; &lt;p&gt;Not only are the sources for these data diverse, but the consumers are also  diverse both in their requirements and their geographic locations. This  diversity has led to a proliferation of local systems. One of the major efforts  for the Information Technology department is to establish a “single version of  the truth,” at least for its customer data.&lt;/p&gt; &lt;h5&gt;Data Integration Requirements&lt;/h5&gt; &lt;p&gt;In view of this diversity of data, business needs, and user requirements, the  Information Technology department has specified the following set of data  integration requirements:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;They must provide reliable and consistent historical and current data  integrated from a variety of internal and external sources.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;To reduce lags in data acquisition, data from providers and vendors must be  available via Web services or some other direct mechanism such as FTP.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;They need to cleanse and remove duplicate data and otherwise enforce data  quality.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Increasing global regulatory demands require that the company maintain clear  audit trails. It is not enough to maintain reliable data; the data needs to be  tracked and certified.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;h3 id="XSLTsection124121120120"&gt;Challenges of Data Integration&lt;/h3&gt; &lt;p&gt;At one level, the problem of data integration in our real-world scenario is  extraordinarily simple. Get data from multiple sources, cleanse and transform  the data, and load the data into appropriate data stores for analysis and  reporting. Unfortunately, in a typical data warehouse or business intelligence  project, enterprises spend 60–80% of the available resources in the data  integration stage. Why is it so difficult?&lt;/p&gt; &lt;h4&gt;Technology Challenges&lt;/h4&gt; &lt;p&gt;Technology challenges start with source systems. We are moving from  collecting data on transactions (where customers commit to getting, buying, or  otherwise acquiring something) to collecting data on pre-transactions (where  customer intentions are tracked via mechanisms such as Web clicks or RFID). Data  is now not only acquired via traditional sources and formats, such as databases  and text files, but is increasingly available in a variety of different formats  (ranging from proprietary files to Microsoft Office documents to XML-based  files) and from Internet-based sources such as Web services and RSS (Really  Simple Syndication) streams. The most pertinent challenges are:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;Multiple sources with different formats.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Structured, semi-structured, and unstructured data.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Data feeds from source systems arriving at different times.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Huge data volumes.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In an ideal world, even if we somehow manage to get all the data we need in  one place, new challenges start to surface, including:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;Data quality.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Making sense of different data formats.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Transforming the data into a format that is meaningful to business  analysts.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Suppose that we can magically get all the data we need and that we can  cleanse, transform, and map the data into a useful format. There is still  another shift away from traditional data movement and integration. That is the  shift from fixed long batch-oriented processes to fluid and shorter on-demand  processes. Batch-oriented processes are usually performed during “downtimes”  when users do not place heavy demands on the system. This usually is at night  during a predefined batch window of 6-8 hours, when no one is supposed to be in  the office. With the increasing globalization of businesses of every size and  type, this is no longer true. There is very little (if any) downtime and someone  is always in the office somewhere in the world. The sun really doesn’t set on  the global business.&lt;/p&gt; &lt;p&gt;As a result we have:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;Increasing pressure to load the data as quickly as possible.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;The need to load multiple destinations at the same time.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Diverse destinations.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Not only do we need to do all these, but we need to do them as fast as  possible. In extreme cases, such as online businesses, data needs to be  integrated on a continuous basis. There are no real batch windows and latencies  can not exceed minutes. In many of these scenarios, the decision making process  is automated with continuously running software.&lt;/p&gt; &lt;p&gt;Scalability and performance become more and more important as we face  business needs that can’t tolerate any downtime.&lt;/p&gt; &lt;p&gt;Without the right technology, systems require staging at almost every step of  the warehousing and integration process. As different (especially nonstandard)  data sources need to be included in the ETL (Extract, Transform, and Load)  process and as more complex operations (such as data and text mining) need to be  performed on the data, the need to stage the data increases. As illustrated in  Figure 1, with increased staging the time taken to “close the loop,” (i.e., to  analyze, and take action on new data) increases as well. These traditional ELT  architectures (as opposed to value-added ETL processes that occur prior to  loading) impose severe restrictions on the ability of systems to respond to  emerging business needs.&lt;/p&gt; &lt;p&gt;&lt;!--src=[images/s1.gif]--&gt;&lt;img alt="Figure 1" src="http://i.technet.microsoft.com/Cc917721.s1%28en-us,TechNet.10%29.gif" /&gt; &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 1 &lt;/strong&gt;&lt;/div&gt; &lt;p&gt;Finally, the question of how data integration ties into the overall  integration architecture of the organization is becoming more important when  both the real-time transactional technology of application integration and the  batch-oriented high-volume world of data integration technology are needed to  solve the business problems of the enterprise.&lt;/p&gt; &lt;h4&gt;Organizational Challenges&lt;/h4&gt; &lt;p&gt;There are two broad issues with data integration in a large organization;  these are the “power” problem, and the “comfort zone” problem.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Power Challenge:&lt;/strong&gt; Data is power and it is usually very hard  to make people think of data in terms of a real valuable shared asset of the  company. For enterprise data integration to be successful, all the owners of  multiple data sources have to whole-heartedly buy into the purpose and direction  of the project. Lack of cooperation from the relevant parties is one the major  reasons for the failure of data integration projects. Executive sponsorship,  consensus building, and a strong data integration team with multiple  stakeholders are a few of the critical success factors that can help resolve the  issues.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Comfort Zone Challenge:&lt;/strong&gt; Problems of data integration, when  analyzed in the context of an isolated need, can be solved in multiple ways.  About 60% of data integration is solved by hand-coding. The technology used to  solve similar problems can range from replication, ETL, SQL, to EAI. People  gravitate towards the technology they are familiar with. Although these  approaches have overlapping capabilities and can perhaps do the job in isolated  cases, these technologies are optimized to solve different sets of problems.  When trying to solve the problem of enterprise data integration, the lack of a  sound architecture with appropriate technology choices can turn out to be a  recipe for failure.&lt;/p&gt; &lt;h4&gt;Economic Challenges&lt;/h4&gt; &lt;p&gt;The organizational and technology related issues previously outlined conspire  together to make data integration the most expensive part of any data  warehouse/business intelligence project. The major factors that add to the cost  of data integration are:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;Getting the data out in the format that is necessary for data integration  ends up being a slow and torturous process fraught with organizational power  games.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Cleansing the data and mapping the data from multiple sources into one  coherent and meaningful format is extraordinarily difficult&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;More often than not, standard data integration tools don’t offer enough  functionality or extensibility to satisfy the data transformation requirements  for the project. This can result in the expenditure of large sums of money in  consulting costs to develop special ETL code to get the job done.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Different parts of the organization focus on the data integration problem in  silos.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When there is a need to put them all together, additional costs are incurred  to integrate these efforts into an enterprise-wide data integration  architecture.&lt;/p&gt; &lt;p&gt;As the data warehousing and business intelligence needs of the organization  evolve, faulty data integration architecture becomes more and more difficult to  maintain and the total cost of ownership skyrockets.&lt;/p&gt; &lt;h3 id="XSLTsection125121120120"&gt;SQL Server 2005 Integration Services&lt;/h3&gt; &lt;p&gt;The traditional ETL-centric data integration from standard data sources  continues to be at the heart of most data warehouses. However, demands to  include more diverse data sources, regulatory requirements, and global and  online operations are quickly transforming the traditional requirements for data  integration. In this fast growing and changing landscape, the need to extract  value from data and the need to be able to rely on it is more important than  ever before. Effective data integration has become the basis of effective  decision making. SQL Server Integration Services provides a flexible, fast, and  scalable architecture that enables effective data integration in current  business environments.&lt;/p&gt; &lt;p&gt;In this paper we will examine how SQL Server Integration Services (SSIS) is  an effective toolset for both the traditional demands of ETL operations, as well  as for the evolving needs of general purpose data integration. We will also  discuss how SSIS is fundamentally different from the tools and solutions  provided by major ETL vendors so it is ideally suited to address the changing  demands of global business from the largest enterprise to the smallest  business.&lt;/p&gt; &lt;h4&gt;SSIS Architecture&lt;/h4&gt; &lt;h5&gt;Task flow and data flow engine&lt;/h5&gt; &lt;p&gt;SSIS consists of both an operations-oriented task-flow engine as well as a  scalable and fast data-flow engine. The data flow exists in the context of an  overall task flow. It is the task-flow engine that provides the runtime resource  and operational support for the data-flow engine. This combination of task flow  and data flow enables SSIS to be effective in traditional ETL or data warehouse  (DW) scenarios as well as in many other extended scenarios such as data center  operations. In this paper we will mainly focus on the data-flow related  scenarios. The use of SSIS for data center oriented workflow is a separate topic  by itself.&lt;/p&gt; &lt;h5&gt;Pipeline architecture&lt;/h5&gt; &lt;p&gt;At the core of SSIS is the data transformation pipeline. This pipeline has a  buffer-oriented architecture that is extremely fast at manipulating rowsets of  data once they have been loaded into memory. The approach is to perform all data  transformation steps of the ETL process in a single operation without staging  data, although specific transformation or operational requirements, or indeed  hardware may be a hindrance. Nevertheless, for maximum performance, the  architecture avoids staging. Even copying the data in memory is avoided as far  as possible. This is in contrast to traditional ETL tools, which often require  staging at almost every step of the warehousing and integration process. The  ability to manipulate data without staging extends beyond traditional relational  and flat file data and beyond traditional ETL transformation capabilities. With  SSIS, all types of data (structured, unstructured, XML, etc.) are converted to a  tabular (columns and rows) structure before being loaded into its buffers. Any  data operation that can be applied to tabular data can be applied to the data at  any step in the data-flow pipeline. This means that a single data-flow pipeline  can integrate diverse sources of data and perform arbitrarily complex operations  on these data without having to stage the data.&lt;/p&gt; &lt;p&gt;It should also be noted though, that if staging is required for business or  operational reasons, SSIS has good support for these implementations as  well.&lt;/p&gt; &lt;p&gt;This architecture allows SSIS to be used in a variety of data integration  scenarios, ranging from traditional DW-oriented ETL to nontraditional  information integration technologies.&lt;/p&gt; &lt;h4&gt;Integration Scenarios&lt;/h4&gt; &lt;h5&gt;SSIS for Traditional DW Loading&lt;/h5&gt; &lt;p&gt;At its core, SSIS is a comprehensive, fully functional ETL tool. Its  functionality, scale, and performance compare very favorably with high-end  competitors in the market at a fraction of their cost. The data integration  pipeline architecture allows it to consume data from multiple simultaneous  sources, perform multiple complex transformations, and then land the data to  multiple simultaneous destinations. This architecture allows SSIS to be used not  only for large datasets, but also for complex data flows. As the data flows from  source(s) to destination(s), the stream of data can be split, merged, combined  with other data streams, and otherwise manipulated. Figure 2 shows an example of  such a flow:&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl02" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl02',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s2_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s2.jpg]--&gt;&lt;img alt="Cc917721.s2(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s2%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 2 &lt;/strong&gt;&lt;/div&gt; &lt;p&gt;SSIS can consume data from (and land data into) a variety of sources  including OLE DB, managed (ADO.NET), ODBC, flat file, Excel, and XML using a  specialized set of components called adapters. SSIS can even consume data from  custom data adapters (developed in-house or by third parties). This allows the  wrapping of legacy data loading logic into a data source that can be seamlessly  consumed in the SSIS data flow. SSIS includes a set of powerful data  transformation components that allow data manipulations that are essential for  building data warehouses. These transformation components include:&lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Aggregate&lt;/strong&gt; Performs multiple aggregates in a single pass.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Sor&lt;/strong&gt;t Sorts data in the flow.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Lookup &lt;/strong&gt;Performs flexible cached lookup operations to  reference datasets.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Pivot &lt;/strong&gt;and &lt;strong&gt;UnPivot&lt;/strong&gt; Two separate  transformations do exactly as their names suggest.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Merge, Merge Join,&lt;/strong&gt; and &lt;strong&gt;UnionAll &lt;/strong&gt;Can perform  join and union operations.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Derived Column&lt;/strong&gt; Performs column-level manipulations such as  string, numeric, date/time, etc. operations, and code page translations. This  one component actually wraps what other vendors might break up into many  different transformations.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Data Conversion&lt;/strong&gt; Converts data between various types  (numeric, string, etc.).&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;&lt;strong&gt;Audit &lt;/strong&gt;Adds columns with lineage metadata and other  operational audit data.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In addition to these core data warehousing transformations, SSIS includes  support for advanced data warehousing needs such as Slowly Changing Dimensions  (SCD). The SCD Wizard in SSIS guides users through specifying their requirements  for managing slowly changing dimensions and, based upon their input, generates a  complete data flow with multiple transformations to implement the slowly  changing dimension load. Support for standard Type 1 and 2 SCD along with 2 new  SCD types (Fixed Attributes and Inferred Members) is provided. Figure 3 shows a  page from the SCD Wizard.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl04" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl04',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s3_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s3.jpg]--&gt;&lt;img alt="Cc917721.s3(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s3%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 3 &lt;/strong&gt;&lt;/div&gt; &lt;p&gt;Figure 4 shows the data flow generated by this Wizard.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl06" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl06',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s4_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s4.jpg]--&gt;&lt;img alt="Cc917721.s4(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s4%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 4 &lt;/strong&gt;&lt;/div&gt; &lt;p&gt;SSIS also can be used to load Analysis Services multidimensional OLAP (MOLAP)  caches directly from the data-flow pipeline. This means that SSIS can not only  be used to create relational data warehouses, but also to load multidimensional  cubes for analytical applications.&lt;/p&gt; &lt;h5&gt;SSIS and Data Quality&lt;/h5&gt; &lt;p&gt;One of the key features of SSIS is its ability to not only integrate data,  but also to integrate different technologies to manipulate the data. This has  allowed SSIS to include cutting edge “fuzzy logic” based data cleansing  components. These components were developed by the Microsoft Research labs and  represent the latest research in this area. The approach taken is a domain  independent one and doesn’t depend upon any specific domain data, such as  address/zip reference data. This allows these transformations to be used for  cleansing most types of data, not just address data.&lt;/p&gt; &lt;p&gt;SSIS is deeply integrated with the data mining functionality in Analysis  Services. Data mining abstracts out the patterns in a dataset and encapsulates  them in a mining model. This mining model amongst other things then can be used  to make predictions on what data belongs to a dataset and what data may be  anomalous, allowing data mining to be used as a tool for implementing data  quality. Support for complex data routing in SSIS allows anomalous data to not  only be identified, but also be automatically corrected and replaced with better  values. This enables “closed loop” cleansing scenarios. Figure 5 shows an  example of such a closed loop cleansing data flow.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl08" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl08',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s5_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s5.jpg]--&gt;&lt;img alt="Cc917721.s5(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s5%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 5&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;In addition to its built-in data quality features, SSIS can be extended to  work closely with third-party data-cleansing solutions.&lt;/p&gt; &lt;h5&gt;Application of SSIS Beyond Traditional ETL&lt;/h5&gt; &lt;p&gt;The ability of the data-flow pipeline to manipulate almost any kind of data,  the deep integration with Analysis Services, the support for extending it with a  large variety of data manipulation technologies, and the inclusion of a rich  work-flow engine allow SSIS to be used in many scenarios that are not  traditionally thought of as ETL&lt;/p&gt; &lt;h6&gt;Service Oriented Architecture&lt;/h6&gt; &lt;p&gt;SSIS includes support for sourcing XML data in the data-flow pipeline,  including data both from files on disk as well as URLs over HTTP. XML data is  “shredded” into tabular data, which then can be easily manipulated in the data  flow. This support for XML can work with the support for Web services. SSIS can  interact with Web services in the control flow to capture XML data.&lt;/p&gt; &lt;p&gt;XML can also be captured from files, from Microsoft Message Queuing (MSMQ),  and over the Web via HTTP. SSIS enables the manipulation of the XML with XSLT,  XPATH, diff/merge, etc. and can also stream the XML into the data flow&lt;/p&gt; &lt;p&gt;This support enables SSIS to participate in flexible Service Oriented  Architectures (SOA). &lt;/p&gt; &lt;h6&gt;Data and text mining&lt;/h6&gt; &lt;p&gt;SSIS not only has deep integration with the data mining features from  Analysis Services, but it also has text mining components. Text mining (also  referred to as text classification) involves identifying the relationship  between business categories and the text data (words and phrases). This allows  the discovery of key terms in text data and based upon this to automatically  identify text that is “interesting.” This in turn can drive “closed-loop”  actions to achieve business goals such as increasing customer satisfaction and  enhancing the quality of the products and services.&lt;/p&gt; &lt;h6&gt;On-demand data source&lt;/h6&gt; &lt;p&gt;One of the most unique features in SSIS is the DataReader destination, which  lands data into an ADO.NET DataReader. When this component is included in a  data-flow pipeline, the package containing the DataReader destination can be  used as a data source, exposed as an ADO.NET DataReader itself. This allows SSIS  to be used not only as a traditional ETL to load data warehouses, but also as a  data source that can deliver integrated, reconciled, and cleansed data from  multiple sources on-demand. For example, this might be used to allow Reporting  Services to consume data from multiple diverse data sources using a SSIS package  as its data source.&lt;/p&gt; &lt;p&gt;A possible scenario that integrates all of these, consists of identifying and  delivering interesting articles from RSS feeds as part of a regular report.  Figure 6 shows a SSIS package that sources data from RSS feeds over the  Internet, integrates with data from a Web service, performs text mining to find  interesting articles from the RSS feeds, and then lands the interesting articles  into a DataReader destination to be finally consumed by a Reporting Services  report.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl10" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl10',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s6_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s6.jpg]--&gt;&lt;img alt="Cc917721.s6(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s6%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 6&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;Figure 7 shows the use of the SSIS package as a data source in the Report  Wizard.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl12" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl12',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s7_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s7.jpg]--&gt;&lt;img alt="Cc917721.s7(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s7%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 7&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;From an ETL tool perspective, this scenario is very unusual because there  really isn’t any data extraction or transformation or loading.&lt;/p&gt; &lt;h4&gt;SSIS, the Integration Platform&lt;/h4&gt; &lt;p&gt;SSIS goes beyond being an ETL tool not only in terms of enabling  nontraditional scenarios, but also in being a true platform for data  integration. SSIS is part of the SQL Server Business Intelligence (BI) platform  which enables the development of end-to-end BI applications.&lt;/p&gt; &lt;h5&gt;Integrated development platform&lt;/h5&gt; &lt;p&gt;SQL Server Integration Services, Analysis Services, and Reporting Services  all use a common Visual Studio® based development environment called the SQL  Server Business Intelligence (BI) Development Studio. BI Development Studio  provides an integrated development environment (IDE) for BI application  development. This shared infrastructure enables metadata-level integration  between various development projects (integration, analysis, and reporting). An  example of such shared construct is the Data Source View (DSV), which is an  offline schema/view definition of data sources, and is used by all three BI  project types. &lt;/p&gt; &lt;p&gt;This IDE provides facilities such as integration with version control  software (e.g., VSS) along with support for team-based features such as  “check-in/check-out” and as such it fulfills the need for an enterprise-class  team-oriented development environment for business intelligence applications.  Figure 8 shows a BI Development Studio solution that consists of Integration,  Analysis, and Reporting projects.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl14" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl14',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s8_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s8.jpg]--&gt;&lt;img alt="Cc917721.s8(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s8%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 8&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;Not only does this provide a single place to develop BI applications, but it  also can be used to develop other Visual Studio projects (using Visual C#®,  Visual Basic® .NET etc.) and so can provide developers with a true end-to-end  development experience.&lt;/p&gt; &lt;p&gt;Besides an integrated BI development environment, BI Development Studio has  features for true run-time debugging of SSIS packages. These include the ability  to set breakpoints and support for standard development constructs such as  watching variables. A truly unique feature is the Data Viewer, which provides  the ability to view rows of data as they are processed in the data-flow  pipeline. This visualization of data can be in the form of a regular text grid  or a graphical presentation such as a scatter plot or bar graph. In fact, it is  possible to have multiple connected viewers that can display the data  simultaneously in multiple formats. Figure 9 shows an example of geographic data  visualized using a scatter plot and a text grid.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl16" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl16',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s9_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s9.jpg]--&gt;&lt;img alt="Cc917721.s9(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s9%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 9&lt;/strong&gt; &lt;/div&gt; &lt;h5&gt;Programmability&lt;/h5&gt; &lt;p&gt;In addition to providing a professional development environment, SSIS exposes  all its functionality via a set of rich APIs. These APIs are both managed (.NET  Framework) and native (Win32) and allow developers to extend the functionality  of SSIS by developing custom components in any language supported by the .NET  Framework (such as Visual C#, Visual Basic .NET, etc.) and C++. These custom  components can be work-flow tasks and data-flow transformations (including  source and destination adapters). This allows legacy data and functionality to  be easily included in SSIS integration processes, allowing the past investments  in legacy technologies to be effectively leveraged. It also allows easy  inclusion of third-party components.&lt;/p&gt; &lt;h5&gt;Scripting&lt;/h5&gt; &lt;p&gt;The extensibility previously mentioned is not only limited to re-usable  custom components but also includes script-based extensibility. SSIS has script  components both for task flow as well as for data flow. These allow users to  write scripts in Visual Basic. NET to add ad hoc functionality (including data  sources and destinations) and to re-use any preexisting functionality packaged  as .NET Framework assemblies.&lt;/p&gt; &lt;p&gt;Figure 10 shows an example of a script that manipulates rows of data inside a  data flow.&lt;/p&gt; &lt;p&gt;&lt;a id="ctl00_MTCS_main_ctl18" onclick="javascript:Track('ctl00_MTCS_main_ctl00|ctl00_MTCS_main_ctl18',this);" href="http://technet.microsoft.com/en-us/library/Cc917721.s10_big%28en-us,TechNet.10%29.png"&gt;&lt;!--src=[images/s10.jpg]--&gt;&lt;img alt="Cc917721.s10(en-us,TechNet.10).jpg" src="http://i.technet.microsoft.com/Cc917721.s10%28en-us,TechNet.10%29.jpg" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 10&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;This extensibility model makes SSIS not only a data integration tool, but  also an Integration Bus into which technologies like data mining, text mining,  and UDM can easily be plugged in to enable complex integration scenarios  involving pretty much arbitrary data manipulation and structures.&lt;/p&gt; &lt;h3 id="XSLTsection126121120120"&gt;Making Data Integration Approachable&lt;/h3&gt; &lt;p&gt;The flexible and extensible architecture of SSIS allows it to address most of  the technology challenges to data integration outlined earlier in this paper. As  shown in Figure 11, SSIS eliminates (or at least minimizes) unnecessary staging.  Because it performs complex data manipulation in a single pipeline operation, it  is now possible to react to changes and patterns in the data fairly quickly, in  a time frame that is actually meaningful for closing the loop and taking action.  This is in contrast to traditional architectures that rely on data staging and  that become impractical for closing the loop and taking meaningful action on  data.&lt;/p&gt; &lt;p&gt;&lt;!--src=[images/s11.gif]--&gt;&lt;img alt="Figure 11" src="http://i.technet.microsoft.com/Cc917721.s11%28en-us,TechNet.10%29.gif" /&gt;  &lt;/p&gt; &lt;div&gt;&lt;strong&gt;Figure 11&lt;/strong&gt; &lt;/div&gt; &lt;p&gt;The extensible nature of SSIS makes it possible for organizations to leverage  their existing investments in custom code for data integration by wrapping it as  re-usable extensions to SSIS and by doing so to take full advantage of features  such as logging, debugging, BI integration, etc. This greatly helps to overcome  some of the organizational challenges outlined earlier in this paper.&lt;/p&gt; &lt;p&gt;The inclusion of SSIS in the SQL Server product makes the cost acquisition  extremely reasonable as compared to other high-end data integration tools. Not  only is the initial cost acquisition lowered, but via tight integration with  Visual Studio and the rest of SQL Server BI tools, the cost of application  development and maintenance is also significantly lowered in comparison to other  similar tools. The extremely reasonable total cost of ownership (TCO) of SSIS  (and the rest of SQL Server) makes enterprise-class data integration  approachable to all segments of the market, taking it out of the exclusive  domain of the largest (and richest) companies. At the same time, the  architecture of SSIS is tuned to take advantage of modern hardware and to  deliver performance and scale at the highest end of customer requirements. SSIS  enables rich, scalable data integration to all customers, from the highest end  enterprise to the small and medium business. In conjunction with the rest of the  features in SQL Server, the Microsoft customer support infrastructure (ranging  from broad, long beta testing, to rich online communities to premiere support  contracts) and the consistency and integration with the rest of Microsoft  product offerings, SSIS is truly a unique toolset that opens up new frontiers in  data integration.&lt;/p&gt;&lt;p&gt;Tacken from microsoft.com&lt;br /&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Some coldfusion Interview &amp; certifications Questions</title><link>http://kalyan-coldfusion.blogspot.com/2010/04/some-coldfusion-interview.html</link><author>noreply@blogger.com (Kalyan Dhar)</author><pubDate>Fri, 2 Apr 2010 02:27:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-9193394687236976604.post-6325606387029723029</guid><description>&lt;link href="CF_files/filelist.xml" rel="File-List"&gt;&lt;link href="CF_files/themedata.thmx" rel="themeData"&gt;&lt;link href="CF_files/colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:TimesNewRomanPSMT; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:0in; 	margin-left:.5in; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:.5in; 	mso-add-space:auto; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} span.SpellE 	{mso-style-name:""; 	mso-spl-e:yes;} span.GramE 	{mso-style-name:""; 	mso-gram-e:yes;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1350520902; 	mso-list-type:hybrid; 	mso-list-template-ids:-1383163072 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} @list l1 	{mso-list-id:1570190584; 	mso-list-type:hybrid; 	mso-list-template-ids:786095312 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} @list l1:level2 	{mso-level-number-format:alpha-lower; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} @list l2 	{mso-list-id:1648126492; 	mso-list-type:hybrid; 	mso-list-template-ids:-318331980 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l2:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-.25in;} @list l3 	{mso-list-id:1703626468; 	mso-list-type:hybrid; 	mso-list-template-ids:-1073729476 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l3:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.0in; 	text-indent:-.25in;} @list l4 	{mso-list-id:1941446675; 	mso-list-type:hybrid; 	mso-list-template-ids:1166212942 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l4:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.5in; 	text-indent:-.25in;} @list l5 	{mso-list-id:2132091732; 	mso-list-type:hybrid; 	mso-list-template-ids:815854694 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l5:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:1.0in; 	text-indent:-.25in;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;div class="Section1"&gt; &lt;p class="MsoNormal" style="margin-left: 1.5in; text-indent: 0.5in;"&gt;
&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Suppose you are going to make one asynchronously  communicating event gateway.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;Which &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt;  attributes will you use? Please Explain? (Example will be &lt;span class="GramE"&gt;Preferable )&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;We can build web application with only &lt;span class="SpellE"&gt;cfm&lt;/span&gt; files in &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt; serer.  Then Why cfc had &lt;span class="GramE"&gt;introduced ?&lt;/span&gt; What is the basic need of  &lt;span class="GramE"&gt;cfc&lt;/span&gt;.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is the difference between &lt;span class="GramE"&gt;Web&lt;span style=""&gt;  &lt;/span&gt;server&lt;/span&gt; and Application Server.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Can we have multiple “Application.cfm” file in an  Application?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;5.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Suppose you don’t want to share source code what you have  written but you are ready to share all the functionalities. Is there any  facility which prevents viewing of source code?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;6.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;When we will use “&lt;&lt;span class="SpellE"&gt;cfintup&lt;/span&gt;  type=” other than normal html “&lt;input type="”?&lt;/p"&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;7.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How can you set the Session Management?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;8.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What are the different ways to access CFC?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;9.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is the difference between &lt;span class="SpellE"&gt;HTMLEditFormat&lt;/span&gt; and &lt;span class="SpellE"&gt;HTMLCodeFormat&lt;/span&gt;?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;10.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is &lt;span class="SpellE"&gt;CFFlush&lt;/span&gt;?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;11.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is the difference between &lt;span class="SpellE"&gt;CFAbort&lt;/span&gt; and &lt;span class="SpellE"&gt;CFBreak&lt;/span&gt; and &lt;span class="SpellE"&gt;CFExit&lt;/span&gt;?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;12.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;cfinsert&gt; Versus SQL INSERT, State advantages and  disadvantages.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;13.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you automate cached queries to update at an  exact&lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span class="GramE"&gt;time&lt;/span&gt; each day?&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;span style="font-size: 8pt; color: rgb(129, 0, 0); font-family: TimesNewRomanPSMT;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin-bottom: 0pt; text-indent: -0.25in; line-height: normal;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;14.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;&lt;span class="SpellE"&gt;cfsavecontent&lt;/span&gt; variable="&lt;span class="SpellE"&gt;cachedOutput&lt;/span&gt;"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;I  am going to count to 10&lt;span class="GramE"&gt;!&lt;&lt;/span&gt;p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;&lt;span class="SpellE"&gt;cfloop&lt;/span&gt; index="&lt;span class="SpellE"&gt;loopOn&lt;/span&gt;" from="1"  to="10"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;&lt;span class="SpellE"&gt;&lt;span class="GramE"&gt;cfoutput&lt;/span&gt;&lt;/span&gt;&gt;#&lt;span class="SpellE"&gt;loopOn&lt;/span&gt;#&lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&gt;&lt;/&lt;span class="SpellE"&gt;cfoutput&lt;/span&gt;&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;/&lt;span class="SpellE"&gt;cfloop&lt;/span&gt;&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;/&lt;span class="SpellE"&gt;cfsavecontent&lt;/span&gt;&gt;
&lt;br /&gt;
&lt;br /&gt;Here &lt;span class="GramE"&gt;What&lt;/span&gt;  will be the Output in browser?&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin-bottom: 0pt; text-indent: -0.25in; line-height: normal;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;15.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;&lt;span class="SpellE"&gt;cfquery&lt;/span&gt; name="&lt;span class="SpellE"&gt;myQry&lt;/span&gt;" &lt;span class="SpellE"&gt;datasource&lt;/span&gt;="&lt;span class="SpellE"&gt;myDatasource&lt;/span&gt;" &lt;span class="SpellE"&gt;cachedwithin&lt;/span&gt;="#&lt;span class="SpellE"&gt;createTimeSpan&lt;/span&gt;(0,0,0,-1)#"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;span class="GramE"&gt;select&lt;/span&gt; &lt;span class="SpellE"&gt;foo&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;span class="GramE"&gt;from&lt;/span&gt; &lt;span class="SpellE"&gt;tblfoobar&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;span class="GramE"&gt;order&lt;/span&gt; by bar &lt;span class="SpellE"&gt;desc&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; line-height: normal;"&gt;&lt;/&lt;span class="SpellE"&gt;cfquery&lt;/span&gt;&gt;
&lt;br /&gt;Here What is the &lt;span class="SpellE"&gt;meening&lt;/span&gt; of &lt;span class="SpellE"&gt;&lt;span class="GramE"&gt;createTimeSpan&lt;/span&gt;&lt;/span&gt;&lt;span class="GramE"&gt;(&lt;/span&gt;0,0,0,-1)?  Will it gives you error message?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;16.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is custom Tag?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;17.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is UDF and how it &lt;span class="GramE"&gt;differ&lt;/span&gt; from  &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt; component?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;18.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How to access posted form items?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;19.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How many types of looping &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt; support?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;20.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;&lt;span class="SpellE"&gt;cfset&lt;/span&gt; &lt;span class="SpellE"&gt;var&lt;/span&gt; &lt;span class="SpellE"&gt;testStr&lt;/span&gt; = “”&gt; can we set  variable like this in CFM.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;21.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What kind of &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt; errors  are not handled with &lt;&lt;span class="SpellE"&gt;cftry&lt;/span&gt;&gt;&lt;&lt;span class="SpellE"&gt;cfcatch&lt;/span&gt;&gt; Block?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;22.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How can you ensure there are no leading or trailing spaces  in your variable? &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;23.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Which scope will you use to track user’s IP Address?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;24.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;&lt;span class="SpellE"&gt;cfset&lt;/span&gt; &lt;span class="SpellE"&gt;Str&lt;/span&gt;=”1234@3476$4hj^&amp;amp;(&lt;span class="SpellE"&gt;mdw&lt;/span&gt;”/&gt;
&lt;br /&gt;&lt;&lt;span class="SpellE"&gt;cfloop&lt;/span&gt; from=”1”  index=”&lt;span class="SpellE"&gt;i&lt;/span&gt;” to=”#Len(&lt;span class="SpellE"&gt;Str&lt;/span&gt;)#”&gt;
&lt;br /&gt;&lt;&lt;span class="SpellE"&gt;cfset&lt;/span&gt; &lt;span class="SpellE"&gt;str_display&lt;/span&gt; = Left(Left(Right(&lt;span class="SpellE"&gt;Str,i&lt;/span&gt;),&lt;span class="SpellE"&gt;i&lt;/span&gt;),1)/&gt;&lt;&lt;span class="SpellE"&gt;cfset&lt;/span&gt; &lt;span class="SpellE"&gt;i&lt;/span&gt;=i+1/&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;/flop&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;&lt;span class="SpellE"&gt;&lt;span class="GramE"&gt;cfoutput&lt;/span&gt;&lt;/span&gt;&gt;# &lt;span class="SpellE"&gt;str_display&lt;/span&gt;  #&lt;/&lt;span class="SpellE"&gt;cfoutput&lt;/span&gt;&gt;
&lt;br /&gt;
&lt;br /&gt;What will be the output?
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;25.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;IF update and insert needed in one action. For this  scenario how will you roll back if 2&lt;sup&gt;nd&lt;/sup&gt; one failed?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;26.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How can you make a form submit to itself without &lt;span class="SpellE"&gt;hardcoding&lt;/span&gt; the file name? &lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;Which one is more secure? &lt;span class="GramE"&gt;And why?&lt;/span&gt;
&lt;br /&gt;&lt;&lt;span class="SpellE"&gt;cfquery&lt;/span&gt; name="&lt;span class="SpellE"&gt;QCheckUser&lt;/span&gt;" &lt;span class="SpellE"&gt;datasource&lt;/span&gt;="&lt;span class="SpellE"&gt;blahblah&lt;/span&gt;"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;SELECT *&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;FROM USERS&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;WHERE username = '#&lt;span class="SpellE"&gt;FORM.username&lt;/span&gt;#'&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;AND password = '#&lt;span class="SpellE"&gt;FORM.password&lt;/span&gt;#'&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;&lt;/&lt;span class="SpellE"&gt;cfquery&lt;/span&gt;&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;&lt;&lt;span class="SpellE"&gt;cfquery&lt;/span&gt; name="&lt;span class="SpellE"&gt;QCheckUser&lt;/span&gt;" &lt;span class="SpellE"&gt;datasource&lt;/span&gt;="&lt;span class="SpellE"&gt;blahblah&lt;/span&gt;"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;SELECT *&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;FROM USERS&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;WHERE username = &lt;&lt;span class="SpellE"&gt;cfqueryparam&lt;/span&gt; &lt;span class="SpellE"&gt;cfsqltype&lt;/span&gt;="&lt;span class="SpellE"&gt;cf_sql_varchar&lt;/span&gt;" value="#&lt;span class="SpellE"&gt;FORM.username&lt;/span&gt;#"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;AND password = &lt;&lt;span class="SpellE"&gt;cfqueryparam&lt;/span&gt; &lt;span class="SpellE"&gt;cfsqltype&lt;/span&gt;="&lt;span class="SpellE"&gt;cf_sql_varchar&lt;/span&gt;" value="#&lt;span class="SpellE"&gt;FORM.password&lt;/span&gt;#"&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 1in;"&gt;&lt;/&lt;span class="SpellE"&gt;cfquery&lt;/span&gt;&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;27.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you add one extra column after selecting result  set?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;28.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Is that possible to create more than three dimension array  in CF? &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;29.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you determine if a number is even or odd with &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt;?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;30.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do I end a session when the user closes their  browser?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;31.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Explain the types of lock and purpose of using types.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;32.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you find a value in &lt;span class="SpellE"&gt;list&lt;span class="GramE"&gt;,Array,struct&lt;/span&gt;&lt;/span&gt;? &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;33.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you get the entire columns list from a result  set?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;34.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you know when a user's session ends?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;35.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Is it possible to create two functions with same name under  one component?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;36.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you output a query result set grouped by a specific  &lt;span class="SpellE"&gt;field&lt;span class="GramE"&gt;?How&lt;/span&gt;&lt;/span&gt; do I output a query  result set grouped by a specific field?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;37.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you upload files into the server?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;38.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is the difference between &lt;&lt;span class="SpellE"&gt;cfinclude&lt;/span&gt;&gt; and &lt;&lt;span class="SpellE"&gt;cflocation&lt;/span&gt;&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;39.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Is DUMP possible under &lt;&lt;span class="SpellE"&gt;cfscript&lt;/span&gt;&gt;?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;40.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is Ajax and why it is introduced?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;41.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What are the difference of Form post method and get  method?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;42.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;State example where you store data as session &lt;span class="GramE"&gt;variable&lt;span style=""&gt;  &lt;/span&gt;and&lt;/span&gt; as  application variable.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;43.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you determine if an array position exists?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;44.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you validate date, number&lt;span class="GramE"&gt;,&lt;span style=""&gt;  &lt;/span&gt;email&lt;/span&gt; with &lt;span class="SpellE"&gt;coldfusion&lt;/span&gt;.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;45.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you stop users from clicking the submit button more  than once with JS?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;46.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Is it possible to connect more than one database server at  a time.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;47.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;You have two dates/times you want to compare. How will you  get max date?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;48.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;How do you get all the &lt;span class="SpellE"&gt;struct&lt;/span&gt;  value with using loop?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;49.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;What is your favorite web-application language? Why? If not  &lt;span class="SpellE"&gt;Coldfusion&lt;/span&gt; then compare both the language?&lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;50.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;If you use &lt;cfset test =" 'variableStr'"&gt; under  application.cfc . What will be "test" variable's scope? &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>