Changeset 400

Show
Ignore:
Timestamp:
02/20/07 00:53:28 (6 years ago)
Author:
lmajano
Message:

Updated for 1.2.0

Location:
coldbox/trunk/samples/applications/ColdBoxReader
Files:
4 added
24 modified

Legend:

Unmodified
Added
Removed
  • coldbox/trunk/samples/applications/ColdBoxReader/cache/D0A69823-B7E1-DDD1-E6A2E12B1BDF2BC8.xml

    r391 r400  
    66                        <description>Rob Gonda's opinions</description> 
    77                        <language>en-us</language> 
    8                         <pubDate>Wed, 31 Jan 2007 09:01:08 -0500</pubDate> 
    9                         <lastBuildDate>Sat, 27 Jan 2007 14:08:00 -0500</lastBuildDate> 
     8                        <pubDate>Mon, 19 Feb 2007 19:27:26 -0500</pubDate> 
     9                        <lastBuildDate>Thu, 15 Feb 2007 23:09:00 -0500</lastBuildDate> 
    1010                        <generator>BlogCFC</generator> 
    1111                        <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
     
    1818                         
    1919                        <item> 
     20                                <title>IMified powered by ColdFusion and AjaxCFC</title> 
     21                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/15/IMified-powered-by-ColdFusion-and-AjaxCFC</link> 
     22                                <description> 
     23                                 
     24                                &lt;a target="_blank" href="http://www.imified.com/"&gt;Imified&lt;/a&gt; is an instant messenger buddy that offers access to productivity tools like notes, reminders, and todo's. The site is powered by ColdFusion and their IM bot is done through CFMX7 Event Gateways. However, the most important business aspect is that their back-end / account management is all AjaxCFC! :-&amp;gt;&lt;br /&gt;The concept is great because it's simple, yet very handy... I wish them luck and hope they add many more features.&lt;br /&gt;&lt;br /&gt;I also wrote a few bots before, but quickly ran into licensing issues with the networks. All networks restrict the amount of messages a single user can send/receive per day, and some networks charge up to $50,000 simply to allow your bot to live. 
     25                                 
     26                                </description> 
     27                                 
     28                                <category>ajax</category> 
     29                                 
     30                                <category>ajaxCFC</category> 
     31                                 
     32                                <category>Coldfusion</category> 
     33                                 
     34                                <category>Software</category> 
     35                                 
     36                                <pubDate>Thu, 15 Feb 2007 23:09:00 -0500</pubDate> 
     37                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/15/IMified-powered-by-ColdFusion-and-AjaxCFC</guid> 
     38                                 
     39                        </item> 
     40                         
     41                         
     42                         
     43                         
     44                        <item> 
     45                                <title>Speaking at CFUnited Express - Atlanta</title> 
     46                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/15/Speaking-at-CFUnited-Express--Atlanta</link> 
     47                                <description> 
     48                                 
     49                                &lt;a href="http://cfunitedexpress.com/go/atlanta/2007/" target="_blank"&gt;CFUnited express&lt;/a&gt; invited me to speak next month in Atlanta, next to Charlie Arehart, Ben Forta, Hal Helms, and Andrew Powell. It will be a one-day event that you can attend risk free if you're planning to attend the main CFUnited event, since the entire cover price will count towards your CFUnited ticket. &lt;br /&gt;&lt;br /&gt;I will be speaking again on Ajax, Charlie on caching and performance, Ben on Apollo, and Hal on large-scale applications. I'm really exited about speaking and attending the other sessions. Hope to see a few familiar faces there. 
     50                                 
     51                                </description> 
     52                                 
     53                                <category>ajax</category> 
     54                                 
     55                                <category>Coldfusion</category> 
     56                                 
     57                                <category>events</category> 
     58                                 
     59                                <pubDate>Thu, 15 Feb 2007 22:54:00 -0500</pubDate> 
     60                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/15/Speaking-at-CFUnited-Express--Atlanta</guid> 
     61                                 
     62                        </item> 
     63                         
     64                         
     65                         
     66                         
     67                        <item> 
     68                                <title>Vertica: new RDMS claims to be 100x faster</title> 
     69                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/15/Vertica-new-RDMS-claims-to-be-100x-faster</link> 
     70                                <description> 
     71                                 
     72                                &lt;p&gt;&amp;quot;&lt;a href="http://www.vertica.com/vertica_database" target="_blank"&gt;Vertica&lt;/a&gt; describes its offering as a &amp;ldquo;grid-enabled, column-oriented relational database management system&amp;rdquo; that runs on industry standard hardware. It is designed to handle data warehousing, business intelligence, fraud detection and other applications, even in environments with hundreds of terabytes of data. The company says its technology can be used to execute queries 100 times faster than traditional row-oriented relational database management systems&amp;quot; &lt;/p&gt; 
     73Vertica's product is in beta testing and the company is &lt;a href="http://www.vertica.com/earlyadopter" xmlns:w="urn:www.microsoft.com/word" xmlns:st1="urn:www.microsoft.com/smarttags" xmlns:o="urn:www.microsoft.com/office" target="_blank"&gt;inviting those who want to be early adopters&lt;/a&gt; to give it a whirl. [&lt;a href="http://www.networkworld.com/news/2007/021407-vertica-oracle.html" target="_blank"&gt;full story&lt;/a&gt;] 
     74                                 
     75                                </description> 
     76                                 
     77                                <category>SQL</category> 
     78                                 
     79                                <pubDate>Thu, 15 Feb 2007 00:22:00 -0500</pubDate> 
     80                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/15/Vertica-new-RDMS-claims-to-be-100x-faster</guid> 
     81                                 
     82                        </item> 
     83                         
     84                         
     85                         
     86                         
     87                        <item> 
     88                                <title>Microsoft SQL Server Database Publishing Wizard</title> 
     89                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/12/Microsoft-SQL-Server-Database-Publishing-Wizard</link> 
     90                                <description> 
     91                                 
     92                                The &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=29b4ffd8-ac3a-4481-b352-9b185619a901&amp;amp;DisplayLang=en" target="_blank"&gt;SQL Server Database Publishing Wizard&lt;/a&gt; enables the deployment of SQL Server databases into a hosted environment on either a SQL Server 2000 or 2005 server. It generates a single SQL script file which can be used to recreate a database (both schema and data) in a shared hosting environment where the only connectivity to a server is through a web-based control panel with a script execution window. If supported by the hosting service provider, the Database Publishing Wizard can also directly upload databases to servers located at the shared hosting provider. 
     93                                 
     94                                </description> 
     95                                 
     96                                <category>SQL</category> 
     97                                 
     98                                <pubDate>Mon, 12 Feb 2007 22:58:00 -0500</pubDate> 
     99                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/12/Microsoft-SQL-Server-Database-Publishing-Wizard</guid> 
     100                                 
     101                        </item> 
     102                         
     103                         
     104                         
     105                         
     106                        <item> 
     107                                <title>AjaxCFC for jQuery Alpha3 Release</title> 
     108                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/11/AjaxCFC-for-jQuery-Alpha3-Release</link> 
     109                                <description> 
     110                                 
     111                                I just updated the SVN with the 3rd alpha release of AjaxCFC for jQuery. For those of you not familiarized with source control repositories, I included the code into the main AjaxCFC download (thank Rey Bango for reminding me four times a day), available at &lt;a href="http://ajaxcfc.riaforge.org/" target="_blank"&gt;RIAForge&lt;/a&gt; and my blog. You can also just click &lt;a href="http://www.robgonda.com/blog/projects/ajaxcfc/download.cfm"&gt;here&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; This release includes several small fixes in the JavaScript and upgrade to the latest CFJSON. Thanks to Larry Reinhard for pointing it out.&lt;br /&gt; &lt;br /&gt; The code seems to be really stable; I haven't got many bug reports, au contraire, Jacob Munson, from &lt;a href="http://www.cfquickdocs.com/" target="_blank"&gt;CFQuickDocs&lt;/a&gt;, said he dropped it into his code w/o any complications, maintaining all existing functionality.&lt;br /&gt; &lt;br /&gt; I shall wrap up some documentation and officially release it for production. 
     112                                 
     113                                </description> 
     114                                 
     115                                <category>ajax</category> 
     116                                 
     117                                <category>ajaxCFC</category> 
     118                                 
     119                                <category>Coldfusion</category> 
     120                                 
     121                                <pubDate>Sun, 11 Feb 2007 22:28:00 -0500</pubDate> 
     122                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/11/AjaxCFC-for-jQuery-Alpha3-Release</guid> 
     123                                 
     124                        </item> 
     125                         
     126                         
     127                         
     128                         
     129                        <item> 
     130                                <title>SEO Advice needed</title> 
     131                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/9/SEO-Advice-needed</link> 
     132                                <description> 
     133                                 
     134                                A couple of days ago I thought Google loved me. Immediately after I posted an entry, all the keywords for this entry showed up in the very first place in Google; but my happiness did not last. My blog get aggregated by a few large itechnology portals and after a few days, Google spidered their copy of my entry. Immediately after this event, they took my place in Google and took me completely out of it. It seems like their post has more authority than mine, the content is the same (its aggregated), therefore, theirs stay, and mine goes. &lt;br /&gt;&lt;br /&gt;Is there anything I can do about this? I'd like to keep the aggregators, but somehow claim ownership of the article. Is that mutually exclusive? Is that what micro-ids are all about? Any help would be appreciated. 
     135                                 
     136                                </description> 
     137                                 
     138                                <category>Generic</category> 
     139                                 
     140                                <category>SEO</category> 
     141                                 
     142                                <pubDate>Fri, 09 Feb 2007 00:35:00 -0500</pubDate> 
     143                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/9/SEO-Advice-needed</guid> 
     144                                 
     145                        </item> 
     146                         
     147                         
     148                         
     149                         
     150                        <item> 
     151                                <title>Leverage SQL Session at the South Florida CFUG</title> 
     152                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/7/Leverage-SQL-Session-at-the-South-Florida-CFUG</link> 
     153                                <description> 
     154                                 
     155                                I will be speaking this coming February 22nd at the &lt;a href="http://www.cfug-sfl.org/" target="_blank"&gt;South Florida CFUG&lt;/a&gt;. For this month I chose a topic that will benefit you regardless of your programming language of preference, and should hopefully allow to you take back something that you can apply immediately. &lt;br /&gt;&lt;br /&gt;Topic:&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Leverage the power of SQL&lt;br /&gt;Description: &amp;nbsp;&amp;nbsp;&amp;nbsp; Many developers don't realize the power of SQL to perform data related tasks and computations. Learn how to utilize triggers, stored procedures, constraints, and user-defined-functions to their full potential, and see the huge impact this could have in your organization or day-to-day coding.&lt;br /&gt;&lt;br /&gt;Tell your friends. 
     156                                 
     157                                </description> 
     158                                 
     159                                <category>Coldfusion</category> 
     160                                 
     161                                <category>SQL</category> 
     162                                 
     163                                <pubDate>Wed, 07 Feb 2007 01:02:00 -0500</pubDate> 
     164                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/7/Leverage-SQL-Session-at-the-South-Florida-CFUG</guid> 
     165                                 
     166                        </item> 
     167                         
     168                         
     169                         
     170                         
     171                        <item> 
     172                                <title>ColdFusion Vs. SQL UUID</title> 
     173                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/4/ColdFusion-Vs-SQL-UUID</link> 
     174                                <description> 
     175                                 
     176                                A few days ago I &lt;a href="/blog/index.cfm/2007/1/27/Database-Data-Integrity-The-Basics"&gt;blogged&lt;/a&gt; about database level data integrity and promised a follow up concentrating in uuids. &lt;br /&gt;&lt;br /&gt;A UUID stands for Universally Unique Identifier. The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else. Information labelled with UUIDs can therefore be later combined into a single database without needing to resolve name conflicts. The most widespread use of this standard is in Microsoft's Globally Unique Identifiers (GUIDs) which implement this standard (source: wikipedia).&lt;br /&gt;&lt;br /&gt;A UUID is essentially a 16-byte (128-bit) number. In its canonical form a UUID may look like this:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)&lt;br /&gt;&lt;br /&gt;However, for some reason ColdFusion's UUID looks like&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx (8-4-4-16) &lt;br /&gt;&lt;br /&gt;Microsoft SQL has a native datatype called uniqueidentifier, which represents the 36-characters GUID. Many ColdFusion developers choose not to use the GUID because it cannot be implicitly validated by ColdFusion and it cannot be seamlessly moved to a different database like mysql, postgre, oracle. &lt;br /&gt;&lt;br /&gt;The most widely adopted solution is to use a 35-character primary key and insert a ColdFusion UUID, nonetheless, how do you validate a proper uuid at the database level? What if you want the database to generate the primary key? If the key gets altered, it will fail ColdFusions implicit UUID datatype validation.&lt;br /&gt;&lt;br /&gt;The solution is to add some constraints in the database level.&lt;br /&gt;&lt;br /&gt;Is it really simple to generate a UUID, since all it takes it just to remove the 4th hyphen.&lt;br /&gt;&lt;br /&gt; 
     177&lt;div class="code"&gt;CREATE FUNCTION dbo.newUUID(@GUID varchar(36))&lt;br /&gt;RETURNS varchar(35)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;RETURN left(@GUID, 23) + right(@GUID,12)&lt;br /&gt;END&lt;/div&gt; 
     178&lt;br /&gt;&lt;br /&gt;Note that due to limitations and not being able to invoke a newID() function inside a user defined function, we need to pass the GUID. Now, that said, we can add a default value to our primary keys and let SQL Server generate them for us:&lt;br /&gt;&lt;br /&gt; 
     179&lt;div class="code"&gt;Default Value: dbo.newUUID(newid())&lt;/div&gt; 
     180&lt;br /&gt; &lt;br /&gt; To validate a proper UUID is a little more complicated, since SQL has no native isUUID or isGUID function. I chose to use a regular expression, but guess what? SQL Server 2000 has no regular expression capabilities.&lt;br /&gt;&lt;br /&gt;So step one is to create a regular expression evaluator function&lt;br /&gt;&lt;br /&gt; 
     181&lt;div class="code"&gt;CREATE FUNCTION dbo.find_regular_expression&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @source varchar(5000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @regexp varchar(1000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @ignorecase bit = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;RETURNS bit&lt;br /&gt;AS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @hr integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @objRegExp integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @objMatches integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @objMatch integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @count integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @results bit&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC @hr = sp_OADestroy @objRegExp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IF @hr &amp;lt;&amp;gt; 0 BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SET @results = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN @results&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/div&gt; 
     182&lt;br /&gt;&lt;br /&gt;Now that we have this, all we need is the UUID regEx pattern and call this function. &lt;br /&gt;&lt;br /&gt; 
     183&lt;div class="code"&gt;CREATE FUNCTION dbo.isUUID (@uuid varchar(35))&amp;nbsp; &lt;br /&gt;RETURNS bit AS&amp;nbsp; &lt;br /&gt;BEGIN &lt;br /&gt;&lt;br /&gt;DECLARE @uuidRegex varchar(50)&lt;br /&gt;SET @uuidRegex = '^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{16}$'&lt;br /&gt;&lt;br /&gt;RETURN dbo.find_regular_expression(@uuid,@uuidRegex ,0)&lt;br /&gt;&lt;br /&gt;END&lt;/div&gt; 
     184&lt;br /&gt;&lt;br /&gt;Alright! now we have a isUUID function, which you can easily invoke from everywhere... open a sql script and execute &lt;br /&gt;&lt;br /&gt; 
     185&lt;div class="code"&gt;SELECT [dbo].[isUUID]('D929E4FB-537C-495F-BB3F31B8E42C0FBB') &lt;/div&gt; 
     186&lt;br /&gt;&lt;br /&gt;Now that we tested it and know how it works, all we need is to add a constraint to your primary key:&lt;br /&gt;&lt;br /&gt;Open your table in design mode, click constraints, new, and add this line:&lt;br /&gt;&lt;br /&gt; 
     187&lt;div class="code"&gt;([dbo].[isUUID]([ID]) = 1)&lt;/div&gt; 
     188&lt;br /&gt;&lt;br /&gt;where ID is the name of the primary key.&lt;br /&gt;&lt;br /&gt;So you learned how to generate a UUID, default your primary key to use one, validate a UUID regEx, and add a constraint to enforce db data integrity. 
     189                                 
     190                                </description> 
     191                                 
     192                                <category>Coldfusion</category> 
     193                                 
     194                                <category>SQL</category> 
     195                                 
     196                                <pubDate>Sun, 04 Feb 2007 14:44:00 -0500</pubDate> 
     197                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/4/ColdFusion-Vs-SQL-UUID</guid> 
     198                                 
     199                        </item> 
     200                         
     201                         
     202                         
     203                         
     204                        <item> 
     205                                <title>cf.Objective() posts speakers list</title> 
     206                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/3/cfObjective-posts-speakers-list</link> 
     207                                <description> 
     208                                 
     209                                The &lt;a href="http://www.cfobjective.com/conference/index.cfm?event=page.speakers" target="_blank"&gt;speakers list is now up at the cf.Objective() site&lt;/a&gt;. I couldn't assist last year, but I heard nothing but great stories, so I'm really happy to make it this year. Sessions and topics will be posted shortly, but registration is already open. Trust me, no matter what are the final topics, just look at the speakers, you know it will be good. Hope to see you all there. 
     210                                 
     211                                </description> 
     212                                 
     213                                <category>Coldfusion</category> 
     214                                 
     215                                <pubDate>Sat, 03 Feb 2007 22:35:00 -0500</pubDate> 
     216                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/3/cfObjective-posts-speakers-list</guid> 
     217                                 
     218                        </item> 
     219                         
     220                         
     221                         
     222                         
     223                        <item> 
     224                                <title>Framework Conference highlights</title> 
     225                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/3/Framework-Conference-highlights</link> 
     226                                <description> 
     227                                 
     228                                The &lt;a href="http://www.frameworksconference.com/" target="_blank"&gt;frameworks conference&lt;/a&gt; was great... big applause to Liz and the Teratech team for putting it together. Like in most conferences, I only made it to a selected number of sessions, however, I learned a lot from the speakers at the bar.&lt;br /&gt;&lt;br /&gt;The two sessions I enjoyed the most were Hal Helm's Interface Driven Architecture, and Chris Scott's Intro to Aspect Oriented Programming.&lt;br /&gt;&lt;br /&gt;The food was great; we had food available from 8am till 6pm ... We had a foosball tournament and the prize was two Flex 2.0 licenses... too bad the tables were even worse than the beat-up one at my office :) &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.frameworksconference.com/pages/topics.cfm#topic-956" target="_blank"&gt;My session&lt;/a&gt; was on object factories, providing some history and evolution in CF programming, and examples taking apart Ray Camden's Galleon forums and showing alternative ways to wire dependencies together. Ray assisted my presso and it seems like &lt;a href="http://ray.camdenfamily.com/index.cfm/2007/2/2/Frameworks-Conference-Intro-to-Object-Factories--Rob-Gonda" target="_blank"&gt;I could have made a difference&lt;/a&gt;; that's great!.&lt;br /&gt;&lt;br /&gt;I'll post my slides and code shortly, plus a bonus video or two, showing what speakers really do at these conferences. 
     229                                 
     230                                </description> 
     231                                 
     232                                <category>Coldfusion</category> 
     233                                 
     234                                <pubDate>Sat, 03 Feb 2007 22:14:00 -0500</pubDate> 
     235                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/3/Framework-Conference-highlights</guid> 
     236                                 
     237                        </item> 
     238                         
     239                         
     240                         
     241                         
     242                        <item> 
     243                                <title>cfcUnit 1.2 beta 1 now with Ant</title> 
     244                                <link>http://www.robgonda.com/blog/index.cfm/2007/2/3/cfcUnit-12-beta-1-now-with-Ant</link> 
     245                                <description> 
     246                                 
     247                                After a long wait, Paul &lt;a href="http://www.pjk.us/pjk/blog/index.cfm?event=showEntryForID&amp;amp;entry=8197668F-3048-28E9-DAE74E51B32F41AE" target="_blank"&gt;announced&lt;/a&gt; the beta release of cfcUnit 1.2, which now finally includes Ant support. cfcUnit allows you to perform tests on very specific functionality of your components (units), and now they can be funny automated with your builds by being invoked by Ant right from within Eclipse. I know Paul has been working on this for a long time under Sean's pressure, so you know this code must be good. You can get the latest release at &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=100854&amp;amp;package_id=126568&amp;amp;release_id=483297" target="_blank"&gt;sourceforge&lt;/a&gt;. 
     248                                 
     249                                </description> 
     250                                 
     251                                <category>Coldfusion</category> 
     252                                 
     253                                <category>Cfeclipse</category> 
     254                                 
     255                                <pubDate>Sat, 03 Feb 2007 22:08:00 -0500</pubDate> 
     256                                <guid>http://www.robgonda.com/blog/index.cfm/2007/2/3/cfcUnit-12-beta-1-now-with-Ant</guid> 
     257                                 
     258                        </item> 
     259                         
     260                         
     261                         
     262                         
     263                        <item> 
    20264                                <title>Database Data Integrity: The Basics</title> 
    21265                                <link>http://www.robgonda.com/blog/index.cfm/2007/1/27/Database-Data-Integrity-The-Basics</link> 
     
    106350                         
    107351                         
    108                          
    109                          
    110                         <item> 
    111                                 <title>jQuery 1.1 final released today</title> 
    112                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/14/jQuery-11-final-released-today</link> 
    113                                 <description> 
    114                                  
    115                                 Ladies and gents, &lt;a href="http://jquery.com" target="_blank"&gt;jQuery 1.1&lt;/a&gt; is out. It's 10-20x faster than 1.0.x due to significant API refactoring, which means that all your 1.0.x may not work; for this, you may use the &lt;a target="_blank" href="http://jquery.com/dev/svn/trunk/plugins/compat-1.0/jquery.compat-1.0.js?format=txt"&gt;jQuery 1.0 Compatibility Plugin&lt;/a&gt; to keep 1.0-style functionality in 1.1... check it out 
    116 &lt;ul&gt; 
    117     &lt;li&gt;&lt;a target="_blank" href="http://jquery.com/src/jquery-1.1.js"&gt;jQuery 1.1&lt;/a&gt;&lt;/li&gt; 
    118     &lt;li&gt;&lt;a target="_blank" href="http://jquery.com/src/jquery-1.1.pack.js"&gt;jQuery 1.1 Compressed&lt;/a&gt;&lt;/li&gt; 
    119     &lt;li&gt;&lt;a href="http://jquery.com/src/jquery-1.1.release.zip"&gt;jQuery 1.1 - All Code, Docs, and Tests&lt;/a&gt;&lt;/li&gt; 
    120     &lt;li&gt;&lt;a href="http://jquery.com/src/jquery-1.1.build.zip"&gt;jQuery 1.1 - Build Your Own Copy of jQuery&lt;/a&gt;&lt;/li&gt; 
    121 &lt;/ul&gt; 
    122                                  
    123                                 </description> 
    124                                  
    125                                 <category>ajax</category> 
    126                                  
    127                                 <category>JS/DHTML</category> 
    128                                  
    129                                 <pubDate>Sun, 14 Jan 2007 23:02:00 -0500</pubDate> 
    130                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/14/jQuery-11-final-released-today</guid> 
    131                                  
    132                         </item> 
    133                          
    134                          
    135                          
    136                          
    137                         <item> 
    138                                 <title>Ajax, JavaScript, CSS, DOM: Get Firebug 1.0b8</title> 
    139                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/13/Ajax-JavaScript-CSS-DOM-Get-Firebug-10b8</link> 
    140                                 <description> 
    141                                  
    142                                 Quick note for those who jumped ahead and downloaded &lt;a href="http://getfirebug.org/" target="_blank"&gt;Firebug 1.0 beta&lt;/a&gt;: updates will not show up automatically. For instance, I first downloaded 1.0b1 and it's already up to 1.0b8, with &lt;a href="http://getfirebug.org/downloads.html" target="_blank"&gt;many, yes, many bug fixes&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For those of you new to Firebug, it you do any type of web development, you need this extension. &lt;a href="http://www.jackslocum.com/blog/2007/01/11/domquery-css-selector-basic-xpath-implementation-with-benchmarks/" target="_blank"&gt;Jack Slocum&lt;/a&gt; (mastermind behind YUI-EXT) quote: &amp;quot;Thanks to the FireBug Profiler, I was able to trace the bottlenecks and test different execution plans to see what was the fastest.&amp;quot; when he was writing the all new &lt;a href="http://www.jackslocum.com/blog/2007/01/11/domquery-css-selector-basic-xpath-implementation-with-benchmarks/" target="_blank"&gt;DomQuery&lt;/a&gt;. 
    143                                  
    144                                 </description> 
    145                                  
    146                                 <category>ajax</category> 
    147                                  
    148                                 <category>JS/DHTML</category> 
    149                                  
    150                                 <pubDate>Sat, 13 Jan 2007 14:32:00 -0500</pubDate> 
    151                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/13/Ajax-JavaScript-CSS-DOM-Get-Firebug-10b8</guid> 
    152                                  
    153                         </item> 
    154                          
    155                          
    156                          
    157                          
    158                         <item> 
    159                                 <title>Web Developer 1.1 for Firefox</title> 
    160                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/11/Web-Developer-11-for-Firefox</link> 
    161                                 <description> 
    162                                  
    163                                 &lt;a href="http://chrispederick.com/work/webdeveloper/documentation/" target="_blank"&gt;Web Developer&lt;/a&gt;, ironically, it's probably one my favorite Firefox extensions... it's up there right next to Firebug. They released a new version (1.1), which contains tons of nice features... one that I've been wanting for a while is collapsable JavaScript files view. Here's a list of the new features with this release.&lt;br /&gt;&lt;br /&gt; 
    164 &lt;ul&gt; 
    165     &lt;li&gt;             Add a status icon that indicates whether there are             &lt;acronym title="cascading style sheet"&gt;CSS&lt;/acronym&gt;             errors on the page         &lt;/li&gt; 
    166     &lt;li&gt;Add close buttons to all the extension toolbars&lt;/li&gt; 
    167     &lt;li&gt;Add support for displaying the compressed and uncompressed file sizes in 'View Document Size'&lt;/li&gt; 
    168     &lt;li&gt;Add support for entering the ruler dimensions for the 'Display Ruler' feature&lt;/li&gt; 
    169     &lt;li&gt;Add support for explaining why certain features are unavailable&lt;/li&gt; 
    170     &lt;li&gt;Add support for saving the viewport resizing option&lt;/li&gt; 
    171     &lt;li&gt;Add support for the 'ping' attribute to 'Display Link Details'&lt;/li&gt; 
    172     &lt;li&gt;Add support for using multiple Web Developer sidebars at the same time&lt;/li&gt; 
    173     &lt;li&gt;             Add the features 
    174     &lt;ul&gt; 
    175         &lt;li&gt;Disable Proxy&lt;/li&gt; 
    176         &lt;li&gt;Disable Strict JavaScript Warnings&lt;/li&gt; 
    177         &lt;li&gt;Display Abbreviations&lt;/li&gt; 
    178         &lt;li&gt;Display Page Magnifier&lt;/li&gt; 
    179         &lt;li&gt;Display Page Validation&lt;/li&gt; 
    180         &lt;li&gt;Outline Images With Oversized Dimensions&lt;/li&gt; 
    181         &lt;li&gt;Outline Links With Ping Attributes&lt;/li&gt; 
    182         &lt;li&gt;Outline Table Captions&lt;/li&gt; 
    183         &lt;li&gt;Validate Local Accessibility&lt;/li&gt; 
    184     &lt;/ul&gt; 
    185     &lt;/li&gt; 
    186     &lt;li&gt;Change the JavaScript status icon when JavaScript is disabled&lt;/li&gt; 
    187     &lt;li&gt;             Improve the 'Edit             &lt;acronym title="cascading style sheet"&gt;CSS&lt;/acronym&gt;'             feature 
    188     &lt;ul&gt; 
    189         &lt;li&gt;Add Mozilla/Seamonkey support&lt;/li&gt; 
    190         &lt;li&gt;Add search functionality&lt;/li&gt; 
    191     &lt;/ul&gt; 
    192     &lt;/li&gt; 
    193     &lt;li&gt;             Improve the 'Edit             &lt;acronym title="hypertext markup language"&gt;HTML&lt;/acronym&gt;'             feature 
    194     &lt;ul&gt; 
    195         &lt;li&gt;Add Mozilla/Seamonkey support&lt;/li&gt; 
    196         &lt;li&gt;Add search functionality&lt;/li&gt; 
    197     &lt;/ul&gt; 
    198     &lt;/li&gt; 
    199     &lt;li&gt;             Improve the 'View Cookie Information' feature 
    200     &lt;ul&gt; 
    201         &lt;li&gt;Add support for deleting cookies&lt;/li&gt; 
    202         &lt;li&gt;Add support for editing cookies&lt;/li&gt; 
    203     &lt;/ul&gt; 
    204     &lt;/li&gt; 
    205     &lt;li&gt;             Improve the 'View Style Information' feature 
    206     &lt;ul&gt; 
    207         &lt;li&gt;Add support for syntax highlighting&lt;/li&gt; 
    208         &lt;li&gt;Allow the path to the highlighted element to be copied&lt;/li&gt; 
    209     &lt;/ul&gt; 
    210     &lt;/li&gt; 
    211     &lt;li&gt;Improve the design of the output of the features&lt;/li&gt; 
    212     &lt;li&gt;Tons of Bug Fixes.&lt;/li&gt; 
    213 &lt;/ul&gt; 
    214                                  
    215                                 </description> 
    216                                  
    217                                 <category>Generic</category> 
    218                                  
    219                                 <category>Browsers</category> 
    220                                  
    221                                 <pubDate>Thu, 11 Jan 2007 23:23:00 -0500</pubDate> 
    222                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/11/Web-Developer-11-for-Firefox</guid> 
    223                                  
    224                         </item> 
    225                          
    226                          
    227                          
    228                          
    229                         <item> 
    230                                 <title>jQuery v1.1 beta released today</title> 
    231                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/11/jQuery-v11-beta-released-today</link> 
    232                                 <description> 
    233                                  
    234                                 &lt;a href="http://jquery.com/blog/2007/01/11/jquery-11b/" target="_blank"&gt;jQuery v1.1 beta was released today&lt;/a&gt; and final release is scheduled for this w/e -- how exciting! Since they streamlined the API to massively improve speed, they also released a back-compatibility plugin so you can easily just drop this new API to upgrade.&lt;br /&gt;&lt;br /&gt;John Resig also &lt;a href="http://jquery.com/blog/2007/01/11/selector-speeds/" target="_blank"&gt;blogged&lt;/a&gt; about the new selector speed and compared it to Jack Slocum's new &lt;a href="http://www.jackslocum.com/blog/2007/01/11/domquery-css-selector-basic-xpath-implementation-with-benchmarks/" target="_blank"&gt;DOMQuery&lt;/a&gt;. 
    235                                  
    236                                 </description> 
    237                                  
    238                                 <category>ajax</category> 
    239                                  
    240                                 <category>JS/DHTML</category> 
    241                                  
    242                                 <pubDate>Thu, 11 Jan 2007 23:06:00 -0500</pubDate> 
    243                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/11/jQuery-v11-beta-released-today</guid> 
    244                                  
    245                         </item> 
    246                          
    247                          
    248                          
    249                          
    250                         <item> 
    251                                 <title>Adobe Flex 2.0.1</title> 
    252                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/8/Adobe-Flex-201</link> 
    253                                 <description> 
    254                                  
    255                                 Adobe released an update for Flex: 2.0.1. I just wrote (and lost) a review of the new changes, and it's passed 2am, so I'm not writing it again ... In summary, it now has official support for Macs, it has new JIT support for adding/removing modules in runtime, it's moving towards Apollo integration. You can see the &lt;a href="http://www.adobe.com/support/documentation/en/flex/2/releasenotes_flex201_sdk.html" target="_blank"&gt;official release notes&lt;/a&gt; and also check out &lt;a href="http://www.onflex.org/ted/2007/01/1-one-solid-flex-release-201.php" target="_blank"&gt;Ted's detailed review&lt;/a&gt;. 
    256                                  
    257                                 </description> 
    258                                  
    259                                 <category>Adobe</category> 
    260                                  
    261                                 <category>Flex</category> 
    262                                  
    263                                 <pubDate>Mon, 08 Jan 2007 02:05:00 -0500</pubDate> 
    264                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/8/Adobe-Flex-201</guid> 
    265                                  
    266                         </item> 
    267                          
    268                          
    269                          
    270                          
    271                         <item> 
    272                                 <title>jQuery 1.1 alpha released today</title> 
    273                                 <link>http://www.robgonda.com/blog/index.cfm/2007/1/8/jQuery-11-alpha-released-today</link> 
    274                                 <description> 
    275                                  
    276                                 &lt;a href="http://jquery.com/blog/2007/01/08/jquery-11a/" target="_blank"&gt;jQuery v1.1 alpha was just released&lt;/a&gt;. Among the major changes, you would find that&lt;br /&gt; 
    277 &lt;ul&gt; 
    278     &lt;li&gt;Its selectors are 10-20x faster than those in jQuery 1.0.4.&lt;/li&gt; 
    279     &lt;li&gt;The &lt;a href="http://docs.jquery.com/" target="_blank"&gt;documentation&lt;/a&gt; has been completely revamped.&lt;/li&gt; 
    280     &lt;li&gt;The complexity of the API has dropped by &lt;strong&gt;47%&lt;/strong&gt;.&lt;/li&gt; 
    281     &lt;li&gt;It has a ton of bug fixes.&lt;/li&gt; 
    282     &lt;li&gt;It has a bunch of great new features.&lt;/li&gt; 
    283 &lt;/ul&gt; 
    284 Download 
    285 &lt;ul&gt; 
    286     &lt;li&gt;&lt;a href="http://jquery.com/src/jquery-1.1a.js" target="_blank"&gt;Download Uncompressed&lt;/a&gt; (&lt;strong&gt;Testing Only!&lt;/strong&gt;)&lt;/li&gt; 
    287     &lt;li&gt;Please submit new bug reports here: &lt;a href="http://jquery.com/dev/bugs/new/" target="_blank"&gt;New Bug Report&lt;/a&gt;&lt;/li&gt; 
    288 &lt;/ul&gt; 
    289 &lt;p&gt;The following &lt;strong&gt;methods have been renamed/reorganized&lt;/strong&gt; in this version, here is how you can continue to use them, as you would expect:&lt;/p&gt; 
    290 &lt;table style="width: 100%;"&gt; 
    291     &lt;tbody&gt; 
    292         &lt;tr&gt; 
    293             &lt;th&gt;Old Way (1.0.x)&lt;/th&gt; 
    294             &lt;th&gt;New Way (1.1)&lt;/th&gt; 
    295         &lt;/tr&gt; 
    296         &lt;tr&gt; 
    297             &lt;td&gt;.ancestors()&lt;/td&gt; 
    298             &lt;td&gt;.parents()&lt;/td&gt; 
    299         &lt;/tr&gt; 
    300         &lt;tr&gt; 
    301             &lt;td&gt;.width()&lt;/td&gt; 
    302             &lt;td&gt;.css(&amp;rdquo;width&amp;rdquo;)&lt;/td&gt; 
    303         &lt;/tr&gt; 
    304         &lt;tr&gt; 
    305             &lt;td&gt;.height()&lt;/td&gt; 
    306             &lt;td&gt;.css(&amp;rdquo;height&amp;rdquo;)&lt;/td&gt; 
    307         &lt;/tr&gt; 
    308         &lt;tr&gt; 
    309             &lt;td&gt;.top()&lt;/td&gt; 
    310             &lt;td&gt;.css(&amp;rdquo;top&amp;rdquo;)&lt;/td&gt; 
    311         &lt;/tr&gt; 
    312         &lt;tr&gt; 
    313             &lt;td&gt;.left()&lt;/td&gt; 
    314             &lt;td&gt;.css(&amp;rdquo;left&amp;rdquo;)&lt;/td&gt; 
    315         &lt;/tr&gt; 
    316         &lt;tr&gt; 
    317             &lt;td&gt;.position()&lt;/td&gt; 
    318             &lt;td&gt;.css(&amp;rdquo;position&amp;rdquo;)&lt;/td&gt; 
    319         &lt;/tr&gt; 
    320         &lt;tr&gt; 
    321             &lt;td&gt;.float()&lt;/td&gt; 
    322             &lt;td&gt;.css(&amp;rdquo;float&amp;rdquo;)&lt;/td&gt; 
    323         &lt;/tr&gt; 
    324         &lt;tr&gt; 
    325             &lt;td&gt;.overflow()&lt;/td&gt; 
    326             &lt;td&gt;.css(&amp;rdquo;overflow&amp;rdquo;)&lt;/td&gt; 
    327         &lt;/tr&gt; 
    328         &lt;tr&gt; 
    329             &lt;td&gt;.color()&lt;/td&gt; 
    330             &lt;td&gt;.css(&amp;rdquo;color&amp;rdquo;)&lt;/td&gt; 
    331         &lt;/tr&gt; 
    332         &lt;tr&gt; 
    333             &lt;td&gt;.background()&lt;/td&gt; 
    334             &lt;td&gt;.css(&amp;rdquo;background&amp;rdquo;)&lt;/td&gt; 
    335         &lt;/tr&gt; 
    336         &lt;tr&gt; 
    337             &lt;td&gt;.id()&lt;/td&gt; 
    338             &lt;td&gt;.attr(&amp;rdquo;id&amp;rdquo;)&lt;/td&gt; 
    339         &lt;/tr&gt; 
    340         &lt;tr&gt; 
    341             &lt;td&gt;.title()&lt;/td&gt; 
    342             &lt;td&gt;.attr(&amp;rdquo;title&amp;rdquo;)&lt;/td&gt; 
    343         &lt;/tr&gt; 
    344         &lt;tr&gt; 
    345             &lt;td&gt;.name()&lt;/td&gt; 
    346             &lt;td&gt;.attr(&amp;rdquo;name&amp;rdquo;)&lt;/td&gt; 
    347         &lt;/tr&gt; 
    348         &lt;tr&gt; 
    349             &lt;td&gt;.href()&lt;/td&gt; 
    350             &lt;td&gt;.attr(&amp;rdquo;href&amp;rdquo;)&lt;/td&gt; 
    351         &lt;/tr&gt; 
    352         &lt;tr&gt; 
    353             &lt;td&gt;.src()&lt;/td&gt; 
    354             &lt;td&gt;.attr(&amp;rdquo;src&amp;rdquo;)&lt;/td&gt; 
    355         &lt;/tr&gt; 
    356         &lt;tr&gt; 
    357             &lt;td&gt;.rel()&lt;/td&gt; 
    358             &lt;td&gt;.attr(&amp;rdquo;rel&amp;rdquo;)&lt;/td&gt; 
    359         &lt;/tr&gt; 
    360         &lt;tr&gt; 
    361             &lt;td&gt;.oneblur(fn)&lt;/td&gt; 
    362             &lt;td&gt;.one(&amp;rdquo;blur&amp;rdquo;,fn)&lt;/td&gt; 
    363         &lt;/tr&gt; 
    364         &lt;tr&gt; 
    365             &lt;td&gt;.onefocus(fn)&lt;/td&gt; 
    366             &lt;td&gt;.one(&amp;rdquo;focus&amp;rdquo;,fn)&lt;/td&gt; 
    367         &lt;/tr&gt; 
    368         &lt;tr&gt; 
    369             &lt;td&gt;.oneload(fn)&lt;/td&gt; 
    370             &lt;td&gt;.one(&amp;rdquo;load&amp;rdquo;,fn)&lt;/td&gt; 
    371         &lt;/tr&gt; 
    372         &lt;tr&gt; 
    373             &lt;td&gt;.oneresize(fn)&lt;/td&gt; 
    374             &lt;td&gt;.one(&amp;rdquo;resize&amp;rdquo;,fn)&lt;/td&gt; 
    375         &lt;/tr&gt; 
    376         &lt;tr&gt; 
    377             &lt;td&gt;.onescroll(fn)&lt;/td&gt; 
    378             &lt;td&gt;.one(&amp;rdquo;scroll&amp;rdquo;,fn)&lt;/td&gt; 
    379         &lt;/tr&gt; 
    380         &lt;tr&gt; 
    381             &lt;td&gt;.oneunload(fn)&lt;/td&gt; 
    382             &lt;td&gt;.one(&amp;rdquo;unload&amp;rdquo;,fn)&lt;/td&gt; 
    383         &lt;/tr&gt; 
    384         &lt;tr&gt; 
    385             &lt;td&gt;.oneclick(fn)&lt;/td&gt; 
    386             &lt;td&gt;.one(&amp;rdquo;click&amp;rdquo;,fn)&lt;/td&gt; 
    387         &lt;/tr&gt; 
    388         &lt;tr&gt; 
    389             &lt;td&gt;.onedblclick(fn)&lt;/td&gt; 
    390             &lt;td&gt;.one(&amp;rdquo;dblclick&amp;rdquo;,fn)&lt;/td&gt; 
    391         &lt;/tr&gt; 
    392         &lt;tr&gt; 
    393             &lt;td&gt;.onemousedown(fn)&lt;/td&gt; 
    394             &lt;td&gt;.one(&amp;rdquo;mousedown&amp;rdquo;,fn)&lt;/td&gt; 
    395         &lt;/tr&gt; 
    396         &lt;tr&gt; 
    397             &lt;td&gt;.onemouseup(fn)&lt;/td&gt; 
    398             &lt;td&gt;.one(&amp;rdquo;mouseup&amp;rdquo;,fn)&lt;/td&gt; 
    399         &lt;/tr&gt; 
    400         &lt;tr&gt; 
    401             &lt;td&gt;.onemousemove(fn)&lt;/td&gt; 
    402             &lt;td&gt;.one(&amp;rdquo;mousemove&amp;rdquo;,fn)&lt;/td&gt; 
    403         &lt;/tr&gt; 
    404         &lt;tr&gt; 
    405             &lt;td&gt;.onemouseover(fn)&lt;/td&gt; 
    406             &lt;td&gt;.one(&amp;rdquo;mouseover&amp;rdquo;,fn)&lt;/td&gt; 
    407         &lt;/tr&gt; 
    408         &lt;tr&gt; 
    409             &lt;td&gt;.onemouseout(fn)&lt;/td&gt; 
    410             &lt;td&gt;.one(&amp;rdquo;mouseout&amp;rdquo;,fn)&lt;/td&gt; 
    411         &lt;/tr&gt; 
    412         &lt;tr&gt; 
    413             &lt;td&gt;.onechange(fn)&lt;/td&gt; 
    414             &lt;td&gt;.one(&amp;rdquo;change&amp;rdquo;,fn)&lt;/td&gt; 
    415         &lt;/tr&gt; 
    416         &lt;tr&gt; 
    417             &lt;td&gt;.onereset(fn)&lt;/td&gt; 
    418             &lt;td&gt;.one(&amp;rdquo;reset&amp;rdquo;,fn)&lt;/td&gt; 
    419         &lt;/tr&gt; 
    420         &lt;tr&gt; 
    421             &lt;td&gt;.oneselect(fn)&lt;/td&gt; 
    422             &lt;td&gt;.one(&amp;rdquo;select&amp;rdquo;,fn)&lt;/td&gt; 
    423         &lt;/tr&gt; 
    424         &lt;tr&gt; 
    425             &lt;td&gt;.onesubmit(fn)&lt;/td&gt; 
    426             &lt;td&gt;.one(&amp;rdquo;submit&amp;rdquo;,fn)&lt;/td&gt; 
    427         &lt;/tr&gt; 
    428         &lt;tr&gt; 
    429             &lt;td&gt;.onekeydown(fn)&lt;/td&gt; 
    430             &lt;td&gt;.one(&amp;rdquo;keydown&amp;rdquo;,fn)&lt;/td&gt; 
    431         &lt;/tr&gt; 
    432         &lt;tr&gt; 
    433             &lt;td&gt;.onekeypress(fn)&lt;/td&gt; 
    434             &lt;td&gt;.one(&amp;rdquo;keypress&amp;rdquo;,fn)&lt;/td&gt; 
    435         &lt;/tr&gt; 
    436         &lt;tr&gt; 
    437             &lt;td&gt;.onekeyup(fn)&lt;/td&gt; 
    438             &lt;td&gt;.one(&amp;rdquo;keyup&amp;rdquo;,fn)&lt;/td&gt; 
    439         &lt;/tr&gt; 
    440         &lt;tr&gt; 
    441             &lt;td&gt;.oneerror(fn)&lt;/td&gt; 
    442             &lt;td&gt;.one(&amp;rdquo;error&amp;rdquo;,fn)&lt;/td&gt; 
    443         &lt;/tr&gt; 
    444         &lt;tr&gt; 
    445             &lt;td&gt;.unblur(fn)&lt;/td&gt; 
    446             &lt;td&gt;.unbind(&amp;rdquo;blur&amp;rdquo;,fn)&lt;/td&gt; 
    447         &lt;/tr&gt; 
    448         &lt;tr&gt; 
    449             &lt;td&gt;.unfocus(fn)&lt;/td&gt; 
    450             &lt;td&gt;.unbind(&amp;rdquo;focus&amp;rdquo;,fn)&lt;/td&gt; 
    451         &lt;/tr&gt; 
    452         &lt;tr&gt; 
    453             &lt;td&gt;.unload(fn)&lt;/td&gt; 
    454             &lt;td&gt;.unbind(&amp;rdquo;load&amp;rdquo;,fn)&lt;/td&gt; 
    455         &lt;/tr&gt; 
    456         &lt;tr&gt; 
    457             &lt;td&gt;.unresize(fn)&lt;/td&gt; 
    458             &lt;td&gt;.unbind(&amp;rdquo;resize&amp;rdquo;,fn)&lt;/td&gt; 
    459         &lt;/tr&gt; 
    460         &lt;tr&gt; 
    461             &lt;td&gt;.unscroll(fn)&lt;/td&gt; 
    462             &lt;td&gt;.unbind(&amp;rdquo;scroll&amp;rdquo;,fn)&lt;/td&gt; 
    463         &lt;/tr&gt; 
    464         &lt;tr&gt; 
    465             &lt;td&gt;.ununload(fn)&lt;/td&gt; 
    466             &lt;td&gt;.unbind(&amp;rdquo;unload&amp;rdquo;,fn)&lt;/td&gt; 
    467         &lt;/tr&gt; 
    468         &lt;tr&gt; 
    469             &lt;td&gt;.unclick(fn)&lt;/td&gt; 
    470             &lt;td&gt;.unbind(&amp;rdquo;click&amp;rdquo;,fn)&lt;/td&gt; 
    471         &lt;/tr&gt; 
    472         &lt;tr&gt; 
    473             &lt;td&gt;.undblclick(fn)&lt;/td&gt; 
    474             &lt;td&gt;.unbind(&amp;rdquo;dblclick&amp;rdquo;,fn)&lt;/td&gt; 
    475         &lt;/tr&gt; 
    476         &lt;tr&gt; 
    477             &lt;td&gt;.unmousedown(fn)&lt;/td&gt; 
    478             &lt;td&gt;.unbind(&amp;rdquo;mousedown&amp;rdquo;,fn)&lt;/td&gt; 
    479         &lt;/tr&gt; 
    480         &lt;tr&gt; 
    481             &lt;td&gt;.unmouseup(fn)&lt;/td&gt; 
    482             &lt;td&gt;.unbind(&amp;rdquo;mouseup&amp;rdquo;,fn)&lt;/td&gt; 
    483         &lt;/tr&gt; 
    484         &lt;tr&gt; 
    485             &lt;td&gt;.unmousemove(fn)&lt;/td&gt; 
    486             &lt;td&gt;.unbind(&amp;rdquo;mousemove&amp;rdquo;,fn)&lt;/td&gt; 
    487         &lt;/tr&gt; 
    488         &lt;tr&gt; 
    489             &lt;td&gt;.unmouseover(fn)&lt;/td&gt; 
    490             &lt;td&gt;.unbind(&amp;rdquo;mouseover&amp;rdquo;,fn)&lt;/td&gt; 
    491         &lt;/tr&gt; 
    492         &lt;tr&gt; 
    493             &lt;td&gt;.unmouseout(fn)&lt;/td&gt; 
    494             &lt;td&gt;.unbind(&amp;rdquo;mouseout&amp;rdquo;,fn)&lt;/td&gt; 
    495         &lt;/tr&gt; 
    496         &lt;tr&gt; 
    497             &lt;td&gt;.unchange(fn)&lt;/td&gt; 
    498             &lt;td&gt;.unbind(&amp;rdquo;change&amp;rdquo;,fn)&lt;/td&gt; 
    499         &lt;/tr&gt; 
    500         &lt;tr&gt; 
    501             &lt;td&gt;.unreset(fn)&lt;/td&gt; 
    502             &lt;td&gt;.unbind(&amp;rdquo;reset&amp;rdquo;,fn)&lt;/td&gt; 
    503         &lt;/tr&gt; 
    504         &lt;tr&gt; 
    505             &lt;td&gt;.unselect(fn)&lt;/td&gt; 
    506             &lt;td&gt;.unbind(&amp;rdquo;select&amp;rdquo;,fn)&lt;/td&gt; 
    507         &lt;/tr&gt; 
    508         &lt;tr&gt; 
    509             &lt;td&gt;.unsubmit(fn)&lt;/td&gt; 
    510             &lt;td&gt;.unbind(&amp;rdquo;submit&amp;rdquo;,fn)&lt;/td&gt; 
    511         &lt;/tr&gt; 
    512         &lt;tr&gt; 
    513             &lt;td&gt;.unkeydown(fn)&lt;/td&gt; 
    514             &lt;td&gt;.unbind(&amp;rdquo;keydown&amp;rdquo;,fn)&lt;/td&gt; 
    515         &lt;/tr&gt; 
    516         &lt;tr&gt; 
    517             &lt;td&gt;.unkeypress(fn)&lt;/td&gt; 
    518             &lt;td&gt;.unbind(&amp;rdquo;keypress&amp;rdquo;,fn)&lt;/td&gt; 
    519         &lt;/tr&gt; 
    520         &lt;tr&gt; 
    521             &lt;td&gt;.unkeyup(fn)&lt;/td&gt; 
    522             &lt;td&gt;.unbind(&amp;rdquo;keyup&amp;rdquo;,fn)&lt;/td&gt; 
    523         &lt;/tr&gt; 
    524         &lt;tr&gt; 
    525             &lt;td&gt;.unerror(fn)&lt;/td&gt; 
    526             &lt;td&gt;.unbind(&amp;rdquo;error&amp;rdquo;,fn)&lt;/td&gt; 
    527         &lt;/tr&gt; 
    528     &lt;/tbody&gt; 
    529 &lt;/table&gt; 
    530 &lt;br /&gt;However, before you get too alarmed, I know they will release a 'back-compatibility' plugin, which would help you transition from 1.0.x to 1.1.&lt;br /&gt;&lt;br /&gt;I am really excited, benchmarks will come soon, but this release is way faster and supperior, so go ahead, spread the word. I will probably release the beta version of AjaxCFC for jQuery with the official 1.1 release.&lt;br /&gt;&lt;br /&gt; 
    531                                  
    532                                 </description> 
    533                                  
    534                                 <category>ajax</category> 
    535                                  
    536                                 <category>JS/DHTML</category> 
    537                                  
    538                                 <pubDate>Mon, 08 Jan 2007 01:55:00 -0500</pubDate> 
    539                                 <guid>http://www.robgonda.com/blog/index.cfm/2007/1/8/jQuery-11-alpha-released-today</guid> 
    540                                  
    541                         </item> 
    542                          
    543                          
    544                          
    545                          
    546                         <item> 
    547                                 <title>CFMX7 + W2k3 r2 = Access is denied</title> 
    548                                 <link>http://www.robgonda.com/blog/index.cfm/2006/12/28/CFMX7--W2k3-r2--Access-is-denied</link> 
    549                                 <description> 
    550                                  
    551                                 Back in August I blogged about &lt;a href="/blog/index.cfm/2006/8/7/CFMX7--W2k3sp1--Access-is-denied"&gt;problems installing ColdFusion in a Windows 2003 box with sp1 pre-installed&lt;/a&gt;... the same applies for R2 version. My solution last time was to run the silent install, but there is a much easier one: turn off DEP (Data Execution Prevention), which should work for sp1 and r2.&lt;br /&gt;&lt;br /&gt;To do this, right click my computer, goto properties, advanced, top tab: Data Execution Prevention, and switch to the first radio: for essential services only. After that, just reboot and install. It should work flawlessly. 
    552                                  
    553                                 </description> 
    554                                  
    555                                 <category>Coldfusion</category> 
    556                                  
    557                                 <pubDate>Thu, 28 Dec 2006 13:52:00 -0500</pubDate> 
    558                                 <guid>http://www.robgonda.com/blog/index.cfm/2006/12/28/CFMX7--W2k3-r2--Access-is-denied</guid> 
    559                                  
    560                         </item> 
    561                          
    562                          
    563                          
    564                          
    565                         <item> 
    566                                 <title>Watch out for memory leaks!</title> 
    567                                 <link>http://www.robgonda.com/blog/index.cfm/2006/12/28/Watch-out-for-memory-leaks</link> 
    568                                 <description> 
    569                                  
    570                                 I had a server constantly running out of memory and I just couldn't figure out what was wrong. The first thing I did, thanks to Steven Erat, was enable the jrun metrics to monitor threads, sessions, and jvm memory. You do this by editing the \runtime\servers\coldfusion\SERVER-INF\jrun.xml and set &amp;lt;attribute name=&amp;quot;metricsEnabled&amp;quot;&amp;gt;true&amp;lt;/attribute&amp;gt;. I debugged my caching system, fixed some garbage collection issues, but it still did not completely fixed my problem. &lt;br /&gt;A few days later, I got an insight: the onSessionStart and onSessionEnd functions. &lt;br /&gt;&lt;br /&gt;I had the following functions defined:&lt;br /&gt;&lt;br /&gt; 
    571 &lt;div class="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--- on Session Start ---&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cffunction name=&amp;quot;onSessionStart&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfscript&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; application.com.objectFactory.getInstance('session').addSession(session);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cfscript&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cffunction&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--- on Session End ---&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cffunction name=&amp;quot;onSessionEnd&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfargument name=&amp;quot;SessionScope&amp;quot; required=&amp;quot;Yes&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfargument name=&amp;quot;ApplicationScope&amp;quot; required=&amp;quot;No&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cfscript&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ApplicationScope.com.objectFactory.getInstance('session').delSession(arguments.SessionScope.sessionId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cfscript&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cffunction&amp;gt;&lt;/div&gt; 
    572 &lt;br /&gt;&lt;br /&gt;Well, guess what, it seems like even after removing the reference to the specific session, ColdFusion failed to destroy it. I would have assumed that ColdFusion would just destroy the session, and if I happen to still be pointing to it I would get the famous null pointer exception, but no, ColdFusion kept a copy of some sort draining all my memory. As soon as I removed the reference to the session, the jrun garbage collection did its job and memory because stable again.&lt;br /&gt;&lt;br /&gt;I will try to look further into this behavior using the Scorpio Server Monitoring, which includes really nice tools to analyze what's using your precious RAM. 
    573                                  
    574                                 </description> 
    575                                  
    576                                 <category>Coldfusion</category> 
    577                                  
    578                                 <pubDate>Thu, 28 Dec 2006 01:39:00 -0500</pubDate> 
    579                                 <guid>http://www.robgonda.com/blog/index.cfm/2006/12/28/Watch-out-for-memory-leaks</guid> 
    580                                  
    581                         </item> 
    582                          
    583                          
    584                          
    585                          
    586                         <item> 
    587                                 <title>CFUnited 2007 Topics Online</title> 
    588                                 <link>http://www.robgonda.com/blog/index.cfm/2006/12/27/CFUnited-2007-Topics-Online</link> 
    589                                 <description> 
    590                                  
    591                                 CFUnited has posted &lt;a href="http://cfunited.com/2007/pages/topics.cfm" target="_blank"&gt;topics for 2007&lt;/a&gt; and the list looks even better than last year. They'll post about 20 more in the next couple of months, including new topics for Flex and Scorpio.&lt;br /&gt;&lt;br /&gt;As a reminder, the 'very early registration' ends January 5th, so if you know for sure you are going, register early and save.&lt;br /&gt;&lt;br /&gt;I'm giving a session called Embrace Factories:&lt;br /&gt;Object Oriented Programming is still fairly new for ColdFusion developers. The community is learning the advantages of using objects, but once programs scale, they get out of control. Learn the best practices to organize and wire your objects together using proven design patterns such as object factories, service locators, and inversion of control. Attendees will see the evolution starting from a 20-lines simple factory, moving towards light-wire, and ending with ColdSpring.&lt;br /&gt;&lt;br /&gt;I may also do a pre-confernce class like last year, not yet confirmed... I could do another Ajax Intensive, this time leveraging jQuery, YUI, and the new Scorpio Ajax built-in integration... I could also do one on Apollo ... which one would you rather take? 
    592                                  
    593                                 </description> 
    594                                  
    595                                 <category>Coldfusion</category> 
    596                                  
    597                                 <pubDate>Wed, 27 Dec 2006 18:45:00 -0500</pubDate> 
    598                                 <guid>http://www.robgonda.com/blog/index.cfm/2006/12/27/CFUnited-2007-Topics-Online</guid> 
    599                                  
    600                         </item> 
    601                          
    602                          
    603                          
    604                          
    605                         <item> 
    606                                 <title>Better image manipulation quality with ASPJpeg</title> 
    607                                 <link>http://www.robgonda.com/blog/index.cfm/2006/12/27/Better-image-manipulation-quality-with-ASPJpeg</link> 
    608                                 <description> 
    609                                  
    610                                 ColdFusion runs on top of Java and therefore can leverage of native Java classes such as BufferedImage and ImageIO. There are a few wrapper libraries that allow you to interact with them. The core relies on CreateObject(&amp;quot;java&amp;quot;, &amp;quot;java.awt.image.BufferedImage&amp;quot;) and CreateObject(&amp;quot;Java&amp;quot;, &amp;quot;javax.imageio.ImageIO&amp;quot;), for the text manipulation you can use CreateObject(&amp;quot;Java&amp;quot;, &amp;quot;java.awt.Font&amp;quot;), and for reading and writing files you can use CreateObject(&amp;quot;Java&amp;quot;, &amp;quot;java.io.FileInputStream&amp;quot;). All this will be replaced with native image manipulation with the release of Scorpio (CFMX8).&lt;br /&gt;&lt;br /&gt;However, I ran into image quality problems when resizing large images to smaller thumbnails... the resizing algorithm used by these native Java technologies is not optimal, therefore it really doesn't matter which wrapper you use, you will ultimately run into the same issues.&lt;br /&gt;&lt;br /&gt;After much research, I chose to install a COM object used by ASP called &lt;a target="_blank" href="http://www.aspjpeg.com/"&gt;ASPJpeg&lt;/a&gt;. As you probably know, ColdFusion can also leverage COM objects, and let me tell you, the quality of ASPJpeg is superb. &lt;br /&gt;&lt;br /&gt;It really couldn't be any simpler. First initialize the COM Object:&lt;br /&gt; 
    611 &lt;div class="code"&gt;&amp;lt;cfset myImage = createObject(&amp;quot;COM&amp;quot;,&amp;quot;Persits.Jpeg&amp;quot;) /&amp;gt;&lt;/div&gt; 
    612 &lt;br /&gt;&lt;br /&gt;Then you may open an existing image:&lt;br /&gt; 
    613 &lt;div class="code"&gt;&amp;lt;cfset myImage.Open(&amp;quot;/path/to/original/file.ext&amp;quot;) /&amp;gt;&lt;/div&gt; 
    614 &lt;br /&gt;&lt;br /&gt;You may get the original width and height&lt;br /&gt; 
    615 &lt;div class="code"&gt;&amp;lt;cfset orig_size_w = myImage.OriginalWidth() /&amp;gt;&lt;br /&gt;&amp;lt;cfset orig_size_h = myImage.OriginalHeight() /&amp;gt;&lt;/div&gt; 
    616 &lt;br /&gt;&lt;br /&gt;Set new quality and resolution&lt;br /&gt; 
    617 &lt;div class="code"&gt;&amp;lt;cfset myImage.ResolutionX(72) /&amp;gt;&lt;br /&gt;&amp;lt;cfset myImage.ResolutionY(72) /&amp;gt;&lt;br /&gt;&amp;lt;cfset myImage.Quality(80) /&amp;gt;&lt;/div&gt; 
    618 &lt;br /&gt;&lt;br /&gt;Set a new width and height&lt;br /&gt; 
    619 &lt;div class="code"&gt;&amp;lt;cfset myImage.Width(new_large_w) /&amp;gt;&lt;br /&gt;&amp;lt;cfset myImage.Height(new_large_h) /&amp;gt;&lt;/div&gt; 
    620 &lt;br /&gt;&lt;br /&gt;Crop the image&lt;br /&gt; 
    621 &lt;div class="code"&gt;&amp;lt;cfset myImage.Crop(crop_w, crop_h, starting_w, starting_y) /&amp;gt;&lt;/div&gt; 
    622 &lt;br /&gt;&lt;br /&gt;and finally save the image to disk&lt;br /&gt; 
    623 &lt;div class="code"&gt;&amp;lt;cfset myImage.Save(&amp;quot;/path/to/original/file.ext&amp;quot;) /&amp;gt;&lt;/div&gt; 
    624 &lt;br /&gt;&lt;br /&gt;As you can see, it's extremely easy to leverage COM objects to read, resize, crop, modify quality ... ASPJpeg is capable of many other functions, but these should get you started.&lt;br /&gt;&lt;br /&gt;Enjoy good quality! 
    625                                  
    626                                 </description> 
    627                                  
    628                                 <category>Coldfusion</category> 
    629                                  
    630                                 <pubDate>Wed, 27 Dec 2006 18:08:00 -0500</pubDate> 
    631                                 <guid>http://www.robgonda.com/blog/index.cfm/2006/12/27/Better-image-manipulation-quality-with-ASPJpeg</guid> 
    632                                  
    633                         </item> 
    634                          
    635                          
    636                          
    637                          
    638                         <item> 
    639                                 <title>SQL: A Case For CROSS JOIN</title> 
    640                                 <link>http://www.robgonda.com/blog/index.cfm/2006/12/27/SQL-A-Case-For-CROSS-JOIN</link> 
    641                                 <description> 
    642                                  
    643                                 Sometimes we have to select data from two or more tables to make our result complete. We have to perform a join. It is usually an INNER JOIN or [LEFT | RIGHT | FULL] OUTER JOIN, but SQL also provides a CROSS JOIN ... The CROSS JOIN takes all entries of one table and combine them with all entries of a second table; because of this, it does not allow for an ON clause. There are rare occasions when you would use it, so I decided to illustrate one.&lt;br /&gt;&lt;br /&gt;Imagine a schema where you have the following tables: contentKeys, languages, and content. This db allows you to store content in various languages. contentKeys will store the unique keys for content pieces, which after combined with languages, will return a unique piece of content in a particular language. The schema looks as follows:&lt;br /&gt;&lt;img src="/blog/files/robGonda/UserFiles/Image/cross-join-db-schema.jpg" alt="" /&gt;&lt;br /&gt;The content table has a unique contraint for FK_key and FK_language (FK denotes it's a forgeign key).&lt;br /&gt;&lt;br /&gt;Now, what if you need to know which keys exist for one language and not for others, or even which keys exist and contain content in no languages at all? We'll build a query to show this information.&lt;br /&gt;&lt;br /&gt;The first step is to find all combinations of keys and languages. To do this we need to combine all entries in they contentKeys table with all entries in the languages table.&lt;br /&gt;&lt;br /&gt; 
    644 &lt;div class="code"&gt;SELECT * FROM contentKeys CROSS JOIN languages&lt;/div&gt; 
    645 &lt;br /&gt;&lt;br /&gt;The next step is understanding OUTER JOINs. An outer join selects all of the records from one database table and only those records in the second table that have matching values in the joined field. In a left outer join, the selected records will include all of the records in the first database table. In a right outer join, the selected records will include all records of the second database table.&lt;br /&gt;&lt;br /&gt;That said, if you OUTER JOIN the combination of all possible keys in all possible languages with your content table, the resulting query will let you know which keys have been translated, and which ones have not.&lt;br /&gt;&lt;br /&gt; 
    646 &lt;div class="code"&gt;SELECT * from [CROSS-JOINED-QUERY] helper LEFT OUTER JOIN dbo.content &lt;br /&gt;ON helper.pk_language = dbo.content.fk_language AND helper.pk_key = dbo.content.fk_key&lt;/div&gt; 
    647 &lt;br /&gt;&lt;br /&gt;We called the cross-joined table 'helper', and this query will return all rows there, matching them to the content table. All the exiting content/language combinations will have data in the content table, and those what do not exist will have null values. You may enter an additional where clause to filter only null values, which will indicate exactly which content keys / language combination are missing.&lt;br /&gt;&lt;br /&gt;So for the full query, we'll take advantage of the dynamic table aliasing capabilities of sql and it looks like this:&lt;br /&gt;&lt;br /&gt; 
    648 &lt;div class="code"&gt;SELECT helper.content_key, helper.code, helper.[language],&lt;br /&gt;content.pk_content, helper.pk_key, helper.pk_language, &lt;br /&gt;content.content&lt;br /&gt;FROM (SELECT * FROM contentKeys CROSS JOIN languages) helper &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT OUTER JOIN dbo.content &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON helper.pk_language = dbo.content.fk_language AND helper.pk_key = dbo.content.fk_key&lt;br /&gt;ORDER BY helper.content_key, helper.[language]&lt;/div&gt; 
    649                                  
    650                                 </description> 
    651                                  
    652                                 <category>SQL</category> 
    653                                  
    654                                 <pubDate>Wed, 27 Dec 2006 13:17:00 -0500</pubDate> 
    655                                 <guid>http://www.robgonda.com/blog/index.cfm/2006/12/27/SQL-A-Case-For-CROSS-JOIN</guid> 
    656                                  
    657                         </item> 
    658                          
    659                          
    660352                        </channel></rss> 
  • coldbox/trunk/samples/applications/ColdBoxReader/components/dao/tags.cfc

    r392 r400  
    2121        <cffunction name="create" access="public" returntype="void"> 
    2222                <!--- ******************************************************************************** ---> 
    23                 <cfargument name="argc" type="string" required="yes"> 
     23                <cfargument name="argc" type="struct" required="yes"> 
    2424                <!--- ******************************************************************************** ---> 
    2525                <cfset var qry = ""> 
  • coldbox/trunk/samples/applications/ColdBoxReader/components/dao/users.cfc

    r392 r400  
    3939                <cfreturn qry> 
    4040        </cffunction> 
    41  
     41         
     42        <!--- ******************************************************************************** ---> 
     43         
     44        <cffunction name="getUserByUsername" access="public" returntype="query"> 
     45                <!--- ******************************************************************************** ---> 
     46                <cfargument name="userBean" type="any" required="yes"> 
     47                <!--- ******************************************************************************** ---> 
     48                <cfset var qry = ""> 
     49                <cfquery name="qry" datasource="#instance.dsn#" username="#instance.username#" password="#instance.password#"> 
     50                        SELECT * 
     51                                FROM coldboxreader_users 
     52                                WHERE UserName = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.userBean.getUsername()#"> 
     53                </cfquery> 
     54                <cfif qry.recordcount> 
     55                        <cfscript> 
     56                        arguments.userBean.setEmail(qry.email); 
     57                        arguments.userBean.setUserID(qry.UserID); 
     58                        arguments.userBean.setCreatedOn(qry.CreatedOn); 
     59                        arguments.userBean.setLastLogin(qry.LastLogin); 
     60                        </cfscript> 
     61                </cfif> 
     62                <cfreturn qry> 
     63        </cffunction> 
     64         
    4265        <!--- ******************************************************************************** ---> 
    4366 
     
    6891        <!--- ******************************************************************************** ---> 
    6992         
     93        <cffunction name="update" access="public" returnType="void" output="false" 
     94                                hint="Updates a user information with ID"> 
     95                <cfargument name="userBean" type="any" required="yes"> 
     96                                 
     97                <cfif len(trim(arguments.userBean.getpassword())) eq 0> 
     98                        <cfquery datasource="#instance.dsn#" username="#instance.username#" password="#instance.password#"> 
     99                                update  coldboxreader_users 
     100                                set             Email = <cfqueryparam value="#arguments.userBean.getEmail()#" cfsqltype="cf_sql_varchar" maxlength="100"> 
     101                                where   UserID = <cfqueryparam value="#arguments.userBean.getUserID()#" cfsqltype="CF_SQL_VARCHAR" maxlength="35"> 
     102                        </cfquery>       
     103                <cfelse>                 
     104                        <cfquery datasource="#instance.dsn#" username="#instance.username#" password="#instance.password#"> 
     105                                update  coldboxreader_users 
     106                                set             Password =<cfqueryparam value="#HASH(arguments.userBean.getPassword())#" cfsqltype="CF_SQL_VARCHAR" maxlength="100">, 
     107                                                Email = <cfqueryparam value="#arguments.userBean.getEmail()#" cfsqltype="cf_sql_varchar" maxlength="100"> 
     108                                where   UserID = <cfqueryparam value="#arguments.userBean.getUserID()#" cfsqltype="CF_SQL_VARCHAR" maxlength="35"> 
     109                        </cfquery> 
     110                </cfif>  
     111                 
     112        </cffunction> 
     113         
     114        <!--- ******************************************************************************** ---> 
     115         
    70116        <cffunction name="updateLastLogin" access="public" returntype="void" output="false"> 
    71117                <!--- ******************************************************************************** ---> 
     
    82128        <!--- ******************************************************************************** ---> 
    83129         
     130        <cffunction name="generateNewPass" access="public" returnType="string" output="false" 
     131                                hint="Generates a new password for a user id."> 
     132                <cfargument name="UserID" type="string" required="true"> 
     133                <cfset var passCFC = CreateObject("component","password")> 
     134                <cfset var newPass =  passCFC.get_password(14)> 
     135                <cfset var userInfo = ""> 
     136                                                                 
     137                <cfquery datasource="#instance.dsn#" username="#instance.username#" password="#instance.password#"> 
     138                        update  coldboxreader_users 
     139                        set             Password =<cfqueryparam value="#HASH(newPass)#" cfsqltype="CF_SQL_VARCHAR" maxlength="100"> 
     140                        where   UserID = <cfqueryparam value="#arguments.UserID#" cfsqltype="CF_SQL_VARCHAR" maxlength="35"> 
     141                </cfquery>       
     142                <cfreturn newPass> 
     143        </cffunction> 
     144         
    84145</cfcomponent> 
  • coldbox/trunk/samples/applications/ColdBoxReader/components/services/feedService.cfc

    r392 r400  
    6969                                <cfset cacheValid = true> 
    7070                        </cfif> 
    71                         <cfset cacheValid = true> 
    7271                </cfif> 
    7372                <!--- if cached data is valid, get it from there, otherwise, get from web ---> 
  • coldbox/trunk/samples/applications/ColdBoxReader/components/services/userService.cfc

    r392 r400  
    3535        <!--- ******************************************************************************** ---> 
    3636 
    37         <cffunction name="createUser" access="public" returntype="void"> 
     37        <cffunction name="saveUser" access="public" returntype="void"> 
    3838                <!--- ******************************************************************************** ---> 
    3939                <cfargument name="userBean" type="any" required="yes"> 
     
    4242                <cfset var qry = ""> 
    4343                 
    44                 <cfset arguments.userBean.setUserID(newUserID)> 
    45                 <cfset instance.userDAO.create(arguments.userBean)> 
    46                  
     44                <cfif arguments.userBean.getUserID() eq ""> 
     45                        <cfset arguments.userBean.setUserID(newUserID)> 
     46                        <cfset instance.userDAO.create(arguments.userBean)> 
     47                <cfelse> 
     48                        <cfset instance.userDAO.update(arguments.userBean)> 
     49                </cfif> 
    4750        </cffunction> 
    4851 
     52        <!--- ******************************************************************************** ---> 
     53         
     54        <cffunction name="getUserByUsername" access="public" returntype="void"> 
     55                <!--- ******************************************************************************** ---> 
     56                <cfargument name="userBean" type="any" required="yes"> 
     57                <!--- ******************************************************************************** ---> 
     58                <cfset instance.userDAO.getUserByUsername(arguments.userBean)> 
     59        </cffunction> 
     60 
     61        <!--- ******************************************************************************** ---> 
     62         
     63        <cffunction name="generateNewPassword" access="public" returntype="void"> 
     64                <!--- ******************************************************************************** ---> 
     65                <cfargument name="userBean"     type="any"    required="yes"> 
     66                <cfargument name="MailUsername" type="string" required="yes"> 
     67                <cfargument name="mailSettingsBean" type="coldbox.system.beans.mailsettingsBean" required="yes"> 
     68                <!--- ******************************************************************************** ---> 
     69                <cfset var newPassword = instance.userDAO.generateNewPass(arguments.userBean.getuserID())> 
     70                 
     71                <cfmail to="#arguments.userBean.getEmail()#"  
     72                                from="#MailUsername#" 
     73                            subject="ColdBox Reader: Password Generator Reminder" 
     74                                server="#mailSettingsBean.getServer()#"  
     75                                password="#mailSettingsBean.getPassword()#"  
     76                                username="#mailSettingsBean.getUsername()#" > 
     77                This is a password reminder from the ColdBox Reader 
     78                 
     79                Your new password is: #newPassword# 
     80                 
     81                Please change this password as soon as you log in. 
     82                </cfmail> 
     83        </cffunction> 
    4984 
    5085        <!--- ******************************************************************************** ---> 
  • coldbox/trunk/samples/applications/ColdBoxReader/config/config.xml.cfm

    r391 r400  
    1212                <Setting name="ColdboxLogsLocation"             value="logs"/> 
    1313                <Setting name="DefaultEvent"                            value="ehGeneral.dspStart"/> 
    14                 <Setting name="ApplicationStartHandler"         value="ehGeneral.onAppStart"/> 
     14                <Setting name="ApplicationStartHandler"         value=""/> 
    1515                <Setting name="RequestStartHandler"             value="ehGeneral.onRequestStart"/> 
    1616                <Setting name="RequestEndHandler"                       value=""/> 
     
    2222                <Setting name="MessageboxStyleClass"            value="myOwnMessagebox"/> 
    2323                <Setting name="HandlersIndexAutoReload"         value="false"/> 
    24                 <Setting name="ConfigAutoReload"                        value="false"/>          
     24                <Setting name="ConfigAutoReload"                        value="false"/>  
     25                <Setting name="HandlerCaching"                          value="true" />  
    2526                <Setting name="IOCFramework"                            value="coldspring"/> 
    2627                <Setting name="IOCDefinitionFile"                       value="config/services.xml.cfm"/> 
     
    2829 
    2930        <YourSettings> 
    30                         <Setting name="Version" value="1.1.0" /> 
     31                        <Setting name="Version" value="1.2.0" /> 
    3132                        <Setting name="ModelBasePath" value="coldbox.samples.applications.ColdBoxReader.components" /> 
    3233        </YourSettings> 
  • coldbox/trunk/samples/applications/ColdBoxReader/handlers/ehFeed.cfc

    r391 r400  
    22 
    33        <cffunction name="dspAddFeed" access="public" returntype="void" output="false"> 
     4                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    45                <cfset var csPlugin = getPlugin("clientstorage")> 
    56                <cfset var obj = ""> 
     7                <cfset var rc = requestContext.getCollection()> 
    68                <!--- EXIT HANDLERS: ---> 
    79                <cfset rc.xehAddFeed = "ehFeed.doAddFeed"> 
     
    1012                <!--- Feed Validated? ---> 
    1113                <cfset rc.feedValidated = false> 
    12  
     14                 
    1315                <!--- Try to parse feed ---> 
    14                 <cfif getValue("continue_button","") neq ""> 
     16                <cfif requestContext.getValue("continue_button","") neq ""> 
    1517                        <!--- Validate Feed ---> 
    1618                        <cfif trim(len(rc.FeedURL)) eq 0 or not getPlugin("fileUtilities").isURL("#rc.FeedURL#")> 
     
    1820                        <cfelse> 
    1921                                <cftry> 
    20                                         <cfset obj = application.IOCEngine.getBean("feedService")> 
     22                                        <cfset obj = getPlugin("ioc").getBean("feedService")> 
    2123                                        <!--- Verify Feed in user's feeds ---> 
    22                                         <cfif obj.verifyFeed(rc.feedURL, session.userID)> 
     24                                        <cfif obj.verifyFeed(rc.feedURL, session.oUserBean.getuserID())> 
    2325                                                <cfset getPlugin("messagebox").setMessage("warning","The feed you are trying to add is already in your feeds collection. You cannot add it twice.")> 
    2426                                        <cfelse> 
     
    3436                </cfif> 
    3537                <!--- Set view ---> 
    36                 <cfset setView("vwAddFeed")> 
     38                <cfset requestContext.setView("vwAddFeed")> 
    3739        </cffunction> 
    3840 
    3941        <cffunction name="dspViewFeed" access="public" returntype="void" output="false"> 
    40                 <cfset var obj = application.IOCEngine.getBean("feedService")> 
     42                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     43                <cfset var obj = getPlugin("ioc").getBean("feedService")> 
     44                <cfset var rc = requestContext.getCollection()> 
    4145                <!--- EXIT HANDLERS: ---> 
    4246                <cfset rc.xehFeeds = "ehGeneral.dspReader"> 
     
    4650                <cfset rc.xehFeedTags = "ehFeed.dspFeedTags"> 
    4751                <cfset rc.xehFeedComments = "ehFeed.dspFeedComments"> 
    48  
     52                <!--- Get feed ---> 
    4953                <cfset rc.feed = obj.readFeed(rc.feedID,"#GetSetting("ApplicationPath",1)#")> 
    50  
    51                 <cfset setView("vwViewFeed")> 
     54                <cfset requestContext.setView("vwViewFeed")> 
    5255        </cffunction> 
    5356 
    5457        <cffunction name="dspFeedInfo" access="public" returntype="void" output="false"> 
    55                 <cfset var obj = application.IOCEngine.getBean("feedService")> 
     58                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     59                <cfset var obj = getPlugin("ioc").getBean("feedService")> 
     60                <cfset var rc = requestContext.getCollection()> 
    5661                <cfset rc.qryData = obj.getFeedInfo(rc.feedID)> 
    57                 <cfset setView("vwFeedInfo")> 
     62                <cfset requestContext.setView("vwFeedInfo")> 
    5863        </cffunction> 
    5964 
    6065        <cffunction name="dspFeedTags" access="public" returntype="void" output="false"> 
    61                 <cfset var obj = application.IOCEngine.getbean("tagService")> 
     66                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     67                <cfset var obj = getPlugin("ioc").getbean("tagService")> 
     68                <cfset var rc = requestContext.getCollection()> 
    6269                <!--- EXIT HANDLERS: ---> 
    6370                <cfset rc.xehSearchByTag = "ehFeed.doSearchByTag"> 
    6471                <cfset rc.xehAddTag = "ehFeed.doAddTags"> 
    6572                <cfset rc.qryData = obj.getTags(rc.feedID)> 
    66                 <cfif session.userID neq ""> 
     73                <cfif session.oUserBean.getVerified()> 
    6774                        <cfif rc.qryData.recordCount gt 0> 
    68                                 <cfset rc.qryMyTags = filterQuery(rc.qryData,"CreatedBy",session.userid,"cf_sql_varchar")> 
     75                                <cfset rc.qryMyTags = getPlugin("QueryHelper").filterQuery(rc.qryData,"CreatedBy",session.oUserBean.getUserID(),"cf_sql_varchar")> 
    6976                        <cfelse> 
    7077                                <cfset rc.qryMyTags = QueryNew("")> 
    7178                        </cfif> 
    7279                </cfif> 
    73                 <cfset setView("vwFeedTags")> 
     80                <cfset requestContext.setView("vwFeedTags")> 
    7481        </cffunction> 
    7582 
    7683        <cffunction name="dspAllTags" access="public" returntype="void" output="false"> 
    77                 <cfset var obj = application.IOCEngine.getbean("tagService")> 
     84                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     85                <cfset var obj = getPlugin("ioc").getbean("tagService")> 
     86                <cfset var rc = requestContext.getCollection()> 
    7887                <!--- EXIT HANDLERS: ---> 
    7988                <cfset rc.xehSearchTag = "ehFeed.doSearchByTag"> 
    8089                <cfset rc.qryData = obj.getTags()> 
    81                 <cfset setView("vwAllTags")> 
     90                <cfset requestContext.setView("vwAllTags")> 
    8291        </cffunction> 
    8392 
    8493        <cffunction name="doAddFeed" access="public" returntype="void" output="false"> 
    85                 <cfset var obj = ""> 
    86                 <cftry> 
    87                         <cfset obj = application.IOCEngine.getBean("feedService")> 
    88                         <cfset obj.saveFeed(rc.feedID, rc.feedName, rc.feedURL, rc.FeedAuthor, rc.description, rc.imgURL, rc.siteURL, session.userID)> 
     94                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     95                <cfset var obj = ""> 
     96                <cfset var rc = requestContext.getCollection()> 
     97                <cftry> 
     98                        <cfset obj = getPlugin("ioc").getBean("feedService")> 
     99                        <cfset obj.saveFeed(rc.feedID, rc.feedName, rc.feedURL, rc.FeedAuthor, rc.description, rc.imgURL, rc.siteURL, session.oUserBean.getuserID())> 
    89100                        <cfset getPlugin("messagebox").setMessage("info", "The feed: #rc.feedName# has been added successfully")> 
    90101                        <cfcatch type="any"> 
    91                                 <cfset getPlugin("messagebox").setMessage("error", cfcatch.message & "<br>" & cfcatch.detail)> 
    92                                 <cfset getPlugin("logger").logError("Error Adding Feed", e)> 
     102                                <cfset getPlugin("messagebox").setMessage("error","Error adding Feed:" & cfcatch.message & "<br>" & cfcatch.detail)> 
     103                                <cfset getPlugin("logger").logError("Error Adding Feed", cfcatch)> 
    93104                                <cfset setNextEvent("ehFeed.dspAddFeed")> 
    94105                        </cfcatch> 
     
    98109 
    99110        <cffunction name="doAddTags" access="public" returntype="void" output="false"> 
    100                 <cfset var obj = ""> 
     111                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     112                <cfset var obj = ""> 
     113                <cfset var rc = requestContext.getCollection()> 
    101114                <cftry> 
    102115 
    103116                        <cfif rc.tags neq ""> 
    104                                 <cfset obj = application.IOCEngine.getBean("tagService")> 
    105                                 <cfset obj.addFeedTags(rc.feedID, rc.tags, session.userID)> 
     117                                <cfset obj = getPlugin("ioc").getBean("tagService")> 
     118                                <cfset obj.addFeedTags(rc.feedID, rc.tags, session.oUserBean.getUserID())> 
    106119                        </cfif> 
    107120 
     
    115128 
    116129        <cffunction name="doSearchByTag" access="public" returntype="void" output="false"> 
     130                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    117131                <cfset var obj = ""> 
    118132                <cfset var qryData = ""> 
    119                 <cftry> 
    120                         <cfset obj = application.IOCEngine.getBean("feedService")> 
     133                <cfset var rc = requestContext.getCollection()> 
     134                <cftry> 
     135                        <cfset obj = getPlugin("ioc").getBean("feedService")> 
    121136                        <cfset qryData = obj.searchByTag(rc.tag)> 
    122137                        <cfset getPlugin("clientStorage").setVar("search_results", qryData)> 
     
    134149 
    135150        <cffunction name="doSearchByTerm" access="public" returntype="void" output="false"> 
     151                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    136152                <cfset var obj = ""> 
    137153                <cfset var plClient = getPlugin("clientStorage")> 
    138                 <cftry> 
    139                         <cfset term = getValue("searchTerm")> 
    140                         <cfset obj = application.IOCEngine.getBean("feedService")> 
     154                <cfset var rc = requestContext.getCollection()> 
     155                <cftry> 
     156                        <cfset term = requestContext.getValue("searchTerm")> 
     157                        <cfset obj = getPlugin("ioc").getBean("feedService")> 
    141158                        <cfset plClient.setVar("search_results", duplicate(obj.searchByTerm(rc.searchTerm)))> 
    142159                        <cfset plClient.setVar("search_tag", "")> 
     
    146163                                <cfset getPlugin("messagebox").setMessage("error", cfcatch.message & "<br>" & cfcatch.detail)> 
    147164                                <cfset getPlugin("logger").logError("Search by Term", cfcatch)> 
    148                                 <cfset setView("vwMain")> 
     165                                <cfset requestContext.setView("vwMain")> 
    149166                        </cfcatch> 
    150167                </cftry> 
     
    153170 
    154171        <cffunction name="dspSearchResults" access="public" returntype="void" output="false"> 
     172                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    155173                <cfset var plClient = getPlugin("clientStorage")> 
     174                <cfset var rc = requestContext.getCollection()> 
    156175                <!--- EXIT HANDLERS: ---> 
    157176                <cfset rc.xehFeed = "ehFeed.dspViewFeed"> 
     
    162181                                <cfthrow message="The search results are not in the client scope."> 
    163182                        <cfelse> 
    164                                 <cfset setValue("qryData", plClient.getVar("search_results") )> 
    165                                 <cfset setValue("tag", plClient.getVar("search_tag") )> 
    166                                 <cfset setValue("term",plClient.getVar("search_term") )> 
    167                         </cfif> 
    168  
    169                         <cfcatch type="any"> 
    170                                 <cfset setValue("qryData",QueryNew(""))> 
    171                                 <cfset setValue("tag","")> 
    172                                 <cfset setValue("term","")> 
    173                                 <cfset getPlugin("messagebox").setMessage("error", cfcatch.message & "<br>" & cfcatch.detail)> 
    174                         </cfcatch> 
    175                 </cftry> 
    176                 <cfset setView("vwSearchResults")> 
     183                                <cfset requestContext.setValue("qryData", plClient.getVar("search_results") )> 
     184                                <cfset requestContext.setValue("tag", plClient.getVar("search_tag") )> 
     185                                <cfset requestContext.setValue("term",plClient.getVar("search_term") )> 
     186                        </cfif> 
     187 
     188                        <cfcatch type="any"> 
     189                                <cfset requestContext.setValue("qryData",QueryNew(""))> 
     190                                <cfset requestContext.setValue("tag","")> 
     191                                <cfset requestContext.setValue("term","")> 
     192                                <cfset getPlugin("messagebox").setMessage("error", cfcatch.message & "<br>" & cfcatch.detail)> 
     193                        </cfcatch> 
     194                </cftry> 
     195                <cfset requestContext.setView("vwSearchResults")> 
    177196        </cffunction> 
    178197         
    179198        <cffunction name="dspMyFeeds" access="public" returntype="void" output="false"> 
    180                 <cfset var obj = application.IOCEngine.getBean("feedService")> 
     199                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     200                <cfset var obj = getPlugin("ioc").getBean("feedService")> 
     201                <cfset var rc = requestContext.getCollection()> 
    181202                <!--- EXIT HANDLERS: ---> 
    182203                <cfset rc.xehViewFeed = "ehFeed.dspViewFeed"> 
     
    185206                <cfset rc.xehAccountActions = "ehUser.dspAccountActions"> 
    186207                <!--- Get Feeds ---> 
    187                 <cfset rc.qryFeeds = obj.getAllMyFeeds(session.userID)> 
    188                 <cfset setView("vwMyfeeds")> 
     208                <cfset rc.qryFeeds = obj.getAllMyFeeds(session.oUserBean.getuserID())> 
     209                <cfset requestContext.setView("vwMyfeeds")> 
    189210        </cffunction> 
    190211         
  • coldbox/trunk/samples/applications/ColdBoxReader/handlers/ehGeneral.cfc

    r391 r400  
    1313<cfcomponent name="ehGeneral" extends="coldbox.system.eventhandler"> 
    1414 
    15         <cffunction name="onAppStart" access="public" returntype="void" output="false"> 
    16                 <!--- Instantiate ColdBox Service ---> 
    17                 <cfset application.IOCEngine = createObject("component","coldspring.beans.DefaultXmlBeanFactory").init(structnew(),getSettingStructure())/> 
    18                 <cfset application.IOCEngine.loadBeansFromXmlFile(expandPath(getSetting("IOCDefinitionFile")))/> 
    19         </cffunction> 
    20          
    2115        <cffunction name="onRequestStart" access="public" returntype="void" output="false"> 
    22                 <!--- Session param ---> 
    23                 <cfparam name="session.userID"          default=""> 
    24                 <cfparam name="session.username"        default=""> 
     16                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     17                <cfset var rc = requestContext.getCollection()> 
    2518                <!--- EXIT HANDLERS: ---> 
    2619                <cfset rc.xehSearch = "ehFeed.doSearchByTerm"> 
    2720                <cfif not structKeyExists(session, "oUserBean")> 
    28                         <cfset session.oUserBean = application.IOCEngine.getBean("UserService").createUserBean()> 
     21                        <cfset session.oUserBean = getPlugin("ioc").getBean("UserService").createUserBean()> 
    2922                </cfif> 
    3023        </cffunction> 
    3124 
    3225        <cffunction name="onException" access="public" returntype="void" output="false"> 
     26                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    3327                <!--- My own Exception Handler ---> 
    3428                <!--- Log error ---> 
    35                 <cfset var exceptionBean = getValue("ExceptionBean")> 
     29                <cfset var exceptionBean = requestContext.getValue("ExceptionBean")> 
    3630                <!--- Do per Type Validations, example here ---> 
    3731                <cfif exceptionBean.getType eq "Framework.plugins.settings.EventSyntaxInvalidException"> 
     
    4539 
    4640        <cffunction name="dspStart" access="public" returntype="void" output="false"> 
     41                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     42                <cfset var rc = requestContext.getCollection()> 
    4743                <!--- EXIT HANDLERS: ---> 
    4844                <cfset rc.xehReader = "ehGeneral.dspReader"> 
    49                 <cfset setView("vwMain")> 
     45                <cfset requestContext.setView("vwMain")> 
    5046        </cffunction> 
    5147 
    5248        <cffunction name="dspReader" access="public" returntype="void" output="false"> 
    53                 <cfset var obj = application.IOCEngine.getBean("feedService")> 
     49                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     50                <cfset var obj = getPlugin("ioc").getBean("feedService")> 
    5451                <cfset var FeedStruct = structnew()> 
     52                <cfset var rc = requestContext.getCollection()> 
    5553                <!--- EXIT HANDLERS: ---> 
    5654                <cfset rc.xehViewFeed = "ehFeed.dspViewFeed"> 
     
    6260                <cfset rc.qryFeeds = FeedStruct.qAllFeeds> 
    6361                <cfset rc.qryTopFeeds = FeedStruct.qTopFeeds> 
    64                 <cfset setView("vwReader")> 
     62                <cfset requestContext.setView("vwReader")> 
    6563        </cffunction> 
    6664 
    6765        <cffunction name="dspInfo" access="public" returntype="void" output="false"> 
     66                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     67                <cfset var rc = requestContext.getCollection()> 
    6868                <!--- EXIT HANDLERS: ---> 
    6969                <cfset rc.xehLogin = "ehUser.dspLogin"> 
    7070                <cfset rc.xehSignup = "ehUser.dspSignUp"> 
    71                 <cfset setView("vwInfo")> 
     71                <cfset rc.xehUpdateProfile = "ehUser.doUpdateProfile"> 
     72                <cfset requestContext.setView("vwInfo")> 
    7273        </cffunction> 
    7374 
  • coldbox/trunk/samples/applications/ColdBoxReader/handlers/ehUser.cfc

    r391 r400  
    22 
    33        <cffunction name="dspAccountActions" access="public" returntype="void" output="false"> 
     4                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     5                <cfset var rc = requestContext.getCollection()> 
    46                <cfset var obj = ""> 
    57                <cfset var qry = ""> 
     
    1315                 
    1416                <!--- Set View ---> 
    15                 <cfset setView("vwAccountActions")> 
     17                <cfset requestContext.setView("vwAccountActions")> 
    1618        </cffunction> 
    1719 
    1820        <cffunction name="dspLogin" access="public" returntype="void" output="false"> 
     21                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     22                <cfset var rc = requestContext.getCollection()> 
    1923                <!--- EXIT HANDLERS: ----> 
    2024                <cfset rc.xehLogin = "ehUser.doLogin"> 
    21                 <cfset setView("vwLogin")> 
     25                <cfset requestContext.setView("vwLogin")> 
    2226        </cffunction> 
    2327 
    2428        <cffunction name="dspSignUp" access="public" returntype="void" output="false"> 
     29                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     30                <cfset var rc = requestContext.getCollection()> 
    2531                <!--- EXIT HANDLERS: ---> 
    2632                <cfset rc.xehCreate = "ehUser.doCreateAccount"> 
    27                 <cfset setView("vwSignUp")> 
     33                <cfset requestContext.setView("vwSignUp")> 
    2834        </cffunction> 
    2935 
    3036        <cffunction name="doCreateAccount" access="public" returntype="void" output="false"> 
     37                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    3138                <cfscript> 
    32                         var password2 = getValue("password2",""); 
    33                         var userService = application.IOCEngine.getBean("userService"); 
     39                        var password2 = requestContext.getValue("password2",""); 
     40                        var userService = getPlugin("ioc").getBean("userService"); 
    3441                        var userBean = userService.createUserBean(); 
    35                          
     42                        var rc = requestContext.getCollection(); 
    3643                        //Populate Bean From Request Collection. 
    3744                        getPlugin("beanFactory").populateBean(userBean); 
     
    4653                        } 
    4754                        try { 
    48                                 userService.createUser(userBean); 
     55                                userService.saveUser(userBean); 
    4956                                userBean.setVerified(true); 
    5057                                //set session object 
     
    5562                        } catch (any e) { 
    5663                                getPlugin("messagebox").setMessage("error", e.message & "<br>" & e.detail); 
    57                                 dspSignUp(); 
     64                                dspSignUp(requestContext); 
    5865                        } 
    5966                </cfscript> 
     
    6168 
    6269        <cffunction name="doLogin" access="public" returntype="void" output="false"> 
     70                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    6371                <cfscript> 
    64                         var userService = application.IOCEngine.getBean("userService"); 
     72                        var userService = getPlugin("ioc").getBean("userService"); 
    6573                        var userBean = userService.createUserBean(); 
     74                        var rc = requestContext.getCollection(); 
     75                         
    6676                        try { 
    6777                                 
     
    8191                                getPlugin("logger").logError("Error logging in user", e); 
    8292                                getPlugin("messagebox").setMessage("error", e.message); 
    83                                 dspLogin(); 
     93                                dspLogin(requestContext); 
    8494                        } 
    8595                </cfscript> 
     
    8797 
    8898        <cffunction name="doLogout" access="public" returntype="void" output="false"> 
     99                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
    89100                <cfset StructDelete(session,"oUserBean")> 
    90101                <cfset setNextEvent("ehGeneral.dspReader")> 
    91102        </cffunction> 
    92103 
     104 
     105        <cffunction name="doNewPassword" access="public" returntype="void" output="false"> 
     106                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     107                <cfscript> 
     108                        var username = requestContext.getValue("username",""); 
     109                        var newPassword = ""; 
     110                        var userService = getPlugin("ioc").getBean("userService"); 
     111                        var userBean = userService.createUserBean(); 
     112                         
     113                        if ( username eq "" ){ 
     114                                getPlugin("messagebox").setMessage("warning", "Please enter a username to retrieve a new password."); 
     115                        } 
     116                        else{ 
     117                                try { 
     118                                        //Set the username 
     119                                        userBean.setUsername(username); 
     120                                        //Try to get Info 
     121                                        userService.getUserByUsername(userBean); 
     122                                        //Verify user 
     123                                        if ( userBean.getUserID() neq "" ){ 
     124                                                userService.generateNewPassword(userBean, getSetting("MailUsername"), getMailSettings()); 
     125                                                getPlugin("messagebox").setMessage("info", "A new password has been generated and sent to your email on file. Please log in and change your password."); 
     126                                        } 
     127                                        else{ 
     128                                                getPlugin("messagebox").setMessage("error", "The username you entered does not exist."); 
     129                                        } 
     130                                } catch (any e) { 
     131                                        getPlugin("messagebox").setMessage("error", e.message & "<br>" & e.detail); 
     132                                } 
     133                        } 
     134                        setNextEvent("ehUser.dspLogin"); 
     135                        return; 
     136                </cfscript>      
     137        </cffunction> 
     138         
     139        <cffunction name="doUpdateProfile" access="public" returntype="void" output="false"> 
     140                <cfargument name="requestContext" type="coldbox.system.beans.requestContext"> 
     141                <cfscript> 
     142                        var password = requestContext.getValue("password",""); 
     143                        var confirmpassword = requestContext.getValue("confirmpassword",""); 
     144                        var email = requestContext.getValue("email",""); 
     145                        var userService = getPlugin("ioc").getBean("userService"); 
     146                        var userBean = userService.createUserBean(); 
     147                         
     148                        getPlugin("beanFactory").populateBean(userBean); 
     149                         
     150                        if ( email eq "" ){ 
     151                                getPlugin("messagebox").setMessage("warning", "Please enter an email address to update."); 
     152                        } 
     153                                                 
     154                        if ( compare(password,confirmpassword) neq 0 ){ 
     155                                getPlugin("messagebox").setMessage("warning", "The passwords do not match. Please try again."); 
     156                        } 
     157                        try { 
     158                                userBean.setUserID(session.oUserBean.getUserID()); 
     159                                userService.saveUser(userBean); 
     160                                getPlugin("messagebox").setMessage("info", "Your profile has been updated successfully."); 
     161 
     162                        } catch (any e) { 
     163                                getPlugin("messagebox").setMessage("error", e.message & "<br>" & e.detail); 
     164                        } 
     165                        setNextEvent("ehGeneral.dspInfo"); 
     166                </cfscript> 
     167        </cffunction> 
     168         
     169         
    93170</cfcomponent> 
  • coldbox/trunk/samples/applications/ColdBoxReader/layouts/Layout.Main.cfm

    r265 r400  
    2222                        <cfoutput> 
    2323                        <div style="float:left;margin-left:10px"> 
    24                         <form name="frmSearch" style="padding:0px;margin:5px;" method="post" action="javascript:doFormEvent('#getValue("xehSearch")#','centercontent',document.frmSearch);"> 
     24                        <form name="frmSearch" style="padding:0px;margin:5px;" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehSearch")#','centercontent',document.frmSearch);"> 
    2525                                <img src="images/search.gif" align="absbottom"> 
    2626                                <input type="text" name="searchTerm" value="Search Keywords" onclick="this.value='';" style="font-size:9px" onBlur="this.value ==  '' ? this.value='Search Keywords' : this.value"/> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwAccountActions.cfm

    r391 r400  
    44         
    55        <div id="topbuttons"> 
    6         <a href="javascript:doEvent('#getValue("xehHome")#','centercontent',{})"  onmouseover="MM_swapImage('login_image','','images/login_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/login.png" border="0" id="login_image"><br> 
     6        <a href="javascript:doEvent('#requestContext.getValue("xehHome")#','centercontent',{})"  onmouseover="MM_swapImage('login_image','','images/login_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/login.png" border="0" id="login_image"><br> 
    77        <strong>Home</strong></a> 
    88        </div> 
    99         
    1010        <div id="topbuttons"> 
    11         <a href="javascript:doEvent('#getValue("xehMyFeeds")#','centercontent',{})"  onmouseover="MM_swapImage('myfeeds_image','','images/myfeeds_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/myfeeds.png" border="0" id="myfeeds_image"><br> 
     11        <a href="javascript:doEvent('#requestContext.getValue("xehMyFeeds")#','centercontent',{})"  onmouseover="MM_swapImage('myfeeds_image','','images/myfeeds_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/myfeeds.png" border="0" id="myfeeds_image"><br> 
    1212        <strong>My Feeds</strong></a> 
    1313        </div> 
    1414         
    1515        <div id="topbuttons"> 
    16         <a href="javascript:doEvent('#getValue("xehAddFeed")#','centercontent',{})"  onmouseover="MM_swapImage('addfeed_image','','images/addfeed_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/addfeed.png" border="0" id="addfeed_image"><br> 
     16        <a href="javascript:doEvent('#requestContext.getValue("xehAddFeed")#','centercontent',{})"  onmouseover="MM_swapImage('addfeed_image','','images/addfeed_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/addfeed.png" border="0" id="addfeed_image"><br> 
    1717        <strong>Add Feed</strong></a> 
    1818        </div> 
    1919         
    2020        <div id="topbuttons"> 
    21          <a href="##" onClick="logout() ? doEvent('#getValue("xehLogout")#','centercontent',{}) : null" onmouseover="MM_swapImage('logout_image','','images/logout_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/logout.png" border="0" id="logout_image"><br><strong>Sign out</strong></a> 
     21         <a href="##" onClick="logout() ? doEvent('#requestContext.getValue("xehLogout")#','centercontent',{}) : null" onmouseover="MM_swapImage('logout_image','','images/logout_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/logout.png" border="0" id="logout_image"><br><strong>Sign out</strong></a> 
    2222         </div> 
    2323          
     
    2525         
    2626        <div id="topbuttons"> 
    27         <a href="javascript:doEvent('#getValue("xehLogin")#','centercontent',{})"  onmouseover="MM_swapImage('login_image','','images/login_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/login.png" border="0" id="login_image"><br> 
     27        <a href="javascript:doEvent('#requestContext.getValue("xehLogin")#','centercontent',{})"  onmouseover="MM_swapImage('login_image','','images/login_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/login.png" border="0" id="login_image"><br> 
    2828        <strong>Log-in</strong></a> 
    2929        </div> 
    3030         
    3131        <div id="topbuttons"> 
    32         <a href="javascript:doEvent('#getValue("xehSignup")#','centercontent',{})"  onmouseover="MM_swapImage('account_image','','images/createaccount_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/createaccount.png" border="0" id="account_image"><Br> 
     32        <a href="javascript:doEvent('#requestContext.getValue("xehSignup")#','centercontent',{})"  onmouseover="MM_swapImage('account_image','','images/createaccount_on.png',1)" onmouseout="MM_swapImgRestore()"><img src="images/createaccount.png" border="0" id="account_image"><Br> 
    3333        <strong>Sign-Up</strong></a> 
    3434        </div> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwAddFeed.cfm

    r184 r400  
    1 <cfset myFeed = getValue("myFeed","")> 
     1<cfset myFeed = requestContext.getValue("myFeed","")> 
     2<cfset rc = requestContext.getCollection()> 
    23<cfoutput> 
    34 
    45<h1>Add New Feed</h1> 
    56 
    6 <cfif not getValue("FeedValidated")> 
    7         <form name="frm" method="post" action="javascript:doFormEvent('#getValue("xehNewFeed")#','centercontent',document.frm)"> 
     7<cfif not requestContext.getValue("FeedValidated")> 
     8        <form name="addform" id="addform" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehNewFeed")#','centercontent',document.addform)"> 
    89                <p>Please use the form below to add a new feed URL that you would like to add to your ColdBox Reader. The reader will try to validate this URL.</p> 
    910                <b>Feed URL:</b> 
    10                 <input type="text" name="feedURL" value="#getValue("feedURL","")#" size="50" style="padding:3px;font-size:12px;font-family:Verdana, Arial, Helvetica, sans-serif;" /> 
     11                <input type="text" name="feedURL" value="#requestContext.getValue("feedURL","")#" size="50" style="padding:3px;font-size:12px;font-family:Verdana, Arial, Helvetica, sans-serif;" /> 
    1112                <br><br> 
    1213                <div align="center"> 
     
    1617        </form> 
    1718<cfelse> 
    18         <form name="frm" method="post" action="javascript:doFormEvent('#getValue("xehAddFeed")#','centercontent',document.frm)"> 
     19        <form name="addform" id="addform" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehAddFeed")#','centercontent',document.addform)"> 
    1920                <p>The feed you entered has been validated successfully. You can see the feed's details below.</p> 
    20                 <input type="hidden" name="feedID" value="#getValue("feedID","")#"> 
     21                <input type="hidden" name="feedID" value="#requestContext.getValue("feedID","")#"> 
    2122                <table> 
    2223                        <tr> 
     
    5556                                <td> 
    5657                                        <div align="center"> 
    57                                         <input type="button" value="Go Back" onClick="doEvent('#getValue("xehNewFeed")#','centercontent',{})" /> 
     58                                        <input type="button" value="Go Back" onClick="doEvent('#requestContext.getValue("xehNewFeed")#','centercontent',{})" /> 
    5859                                        <input type="submit" value="Add Feed"  /> 
    5960                                        </div> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwAllTags.cfm

    r184 r400  
    1 <cfset qryData = getValue("qryData")> 
     1<cfset qryData = requestContext.getValue("qryData")> 
    22<cfset tagValueArray = ListToArray(ValueList(qryData.tagCount))> 
    33<cfset max = ArrayMax(tagValueArray)> 
     
    2121                        <cfset class="smallTag"> 
    2222                </cfif> 
    23                 <a href="javascript:doEvent('#getValue("xehSearchTag")#','centercontent',{tag:'#tag#'});" class="#class#">#qryData.tag#</a>&nbsp; 
     23                <a href="javascript:doEvent('#requestContext.getValue("xehSearchTag")#','centercontent',{tag:'#tag#'});" class="#class#">#qryData.tag#</a>&nbsp; 
    2424        </cfoutput> 
    2525        <cfif qryData.recordCount eq 0> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwFeedComments.cfm

    r8 r400  
    1 <cfset qryData = getValue("qryData")> 
     1<cfset qryData = requestContext.getValue("qryData")> 
    22 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwFeedInfo.cfm

    r204 r400  
    1 <cfset qryData = getValue("qryData")> 
    2 <cfset feedID = getValue("feedID")> 
     1<cfset qryData = requestContext.getValue("qryData")> 
     2<cfset feedID = requestContext.getValue("feedID")> 
    33<cfoutput query="qryData"> 
    44        <div class="nicebox"> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwFeedTags.cfm

    r391 r400  
    1 <cfset qryData = getValue("qryData")> 
    2 <cfset feedID = getValue("feedID")> 
    3  
     1<cfset qryData = requestContext.getValue("qryData")> 
     2<cfset feedID = requestContext.getValue("feedID")> 
     3<cfset rc = requestContext.getCollection()> 
    44<div class="nicebox"> 
    55 
     
    77                <b>All Tags:</b><br /> 
    88                <cfoutput query="qryData"> 
    9                         <a href="javascript:doEvent('#getValue("xehSearchByTag")#','centercontent',{tag:'#tag#'});">#tag#</a>&nbsp;&nbsp; 
     9                        <a href="javascript:doEvent('#requestContext.getValue("xehSearchByTag")#','centercontent',{tag:'#tag#'});">#tag#</a>&nbsp;&nbsp; 
    1010                </cfoutput> 
    1111                <cfif qryData.recordCount eq 0> 
     
    2626                </div> 
    2727                <cfoutput> 
    28                 <form name="frmAddTag" method="post" action="javascript:doFormEvent('#getValue("xehAddTag")#','rightcontent1',document.frmAddTag)"> 
     28                <form name="frmAddTag" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehAddTag")#','rightcontent1',document.frmAddTag)"> 
    2929                        <input type="hidden" value="#feedID#" name="feedID" /> 
    3030                        <input type="text"   value="" name="tags" size="10"  /> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwInfo.cfm

    r391 r400  
    11<p style="line-height:20px;"> 
    2         <div class="nicebox"> 
     2        <div class="nicebox" id="infobox" style="display:block;"> 
    33        <cfoutput> 
    44                 
     
    88                </div> 
    99 
    10                 To Add a Feed, your must first <a href="javascript:doEvent('#getValue("xehLogin")#','centercontent',{})"><strong>Sign-in</strong></a> to your account 
    11                 or <a href="javascript:doEvent('#getValue("xehSignup")#','centercontent',{})"><strong>Create an Account</strong></a>. 
     10                To Add a Feed, your must first <a href="javascript:doEvent('#requestContext.getValue("xehLogin")#','centercontent',{})"><strong>Sign-in</strong></a> to your account 
     11                or <a href="javascript:doEvent('#requestContext.getValue("xehSignup")#','centercontent',{})"><strong>Create an Account</strong></a>. 
    1212        <cfelse> 
    1313                <div style="margin-bottom:10px;"> 
     
    2222                <strong>Account Created On:</strong><br /> 
    2323                #dateFormat(session.oUserBean.getCreatedOn(), "MMM DD, YYYY")#  at  #TimeFormat(session.oUserBean.getCreatedOn(), "hh:MM:SS tt")#<br /> 
     24                 
     25                <div align="center"> 
     26                <br /> 
     27                <input type="button" value="Update Profile" name="button" onclick="$('infobox').style.display='none';$('infoupdatebox').style.display='block'" /> 
     28                </div> 
    2429        </cfif> 
    2530        </cfoutput> 
    2631        </div> 
     32         
     33        <cfif Session.oUserBean.getVerified()> 
     34         
     35                <div class="nicebox" id="infoupdatebox" style="display:none;"> 
     36                <cfoutput> 
     37                 
     38                        <form name="frm" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehUpdateProfile")#','leftcontent1',document.frm)"> 
     39                        <p> 
     40                                Update your ColdBox Reader profile below. 
     41                        </p> 
     42                        <table> 
     43                                <tr> 
     44                                        <td><b>Email Address:</b></td> 
     45                                </tr> 
     46                                <tr> 
     47                                        <td><input type="text" name="email" value="#session.oUserBean.getEmail()#" size="20" /></td> 
     48                                </tr> 
     49                                <tr> 
     50                                        <td><b>New Password:</b></td> 
     51                                </tr> 
     52                                <tr> 
     53                                        <td><input type="password" name="password" value="" size="20" /></td> 
     54                                </tr> 
     55                                <tr> 
     56                                        <td><b>Confirm Password:</b></td> 
     57                                </tr> 
     58                                <tr> 
     59                                        <td><input type="password" name="confirmpassword" value="" size="20" /></td> 
     60                                </tr> 
     61                                <tr><td colspan="2">&nbsp;</td></tr> 
     62                                 
     63                        </table> 
     64                         
     65                        <div align="center"> 
     66                        <input type="button" value="Cancel" name="button" onclick="$('infobox').style.display='block';$('infoupdatebox').style.display='none'" /> 
     67                        <input type="submit" value="Save" /> 
     68                        </div> 
     69                </form> 
     70                 
     71                </cfoutput> 
     72                </div> 
     73                 
     74        </cfif> 
     75         
    2776</p> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwLogin.cfm

    r203 r400  
    44<cfoutput> 
    55        <h1>Login To Your ColdBox Reader Account</h1> 
    6 <form name="frm" method="post" action="javascript:doFormEvent('#getValue("xehLogin")#','centercontent',document.frm)"> 
     6<form name="frm" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehLogin")#','centercontent',document.frm)"> 
    77        <p> 
    88                Sign in to your account to add new feeds and tag existing feeds. 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwMain.cfm

    r164 r400  
    11<cfoutput> 
    22<script> 
    3         doEvent("#getValue("xehReader")#", "centercontent", {}); 
     3        doEvent("#requestContext.getValue("xehReader")#", "centercontent", {}); 
    44</script> 
    55</cfoutput> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwMyfeeds.cfm

    r186 r400  
    1 <cfset qryFeeds = getValue("qryFeeds")> 
     1<cfset qryFeeds = requestContext.getValue("qryFeeds")> 
    22 
    33<h1>My ColdBox Reader Feeds:</h1> 
     
    1111<cfoutput query="qryFeeds"> 
    1212<div style="line-height:20px;"> 
    13         <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#getValue("xehViewFeed")#','centercontent',{feedID:'#qryFeeds.feedID#',myfeeds:'true'});"><strong>#qryFeeds.feedname#</strong></a> 
     13        <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#requestContext.getValue("xehViewFeed")#','centercontent',{feedID:'#qryFeeds.feedID#',myfeeds:'true'});"><strong>#qryFeeds.feedname#</strong></a> 
    1414        <span style="font-size:0.9em;"> 
    1515                 by #qryFeeds.username# on #dateformat(qryFeeds.createdon,"mmm dd")# #lstimeFormat(qryFeeds.createdOn)# 
     
    2525        clearDiv("leftcontent1"); 
    2626        clearDiv("rightcontent2"); 
    27         doEvent("#getValue("xehShowTags")#", "rightcontent1", {}); 
    28         doEvent("#getValue("xehShowInfo")#", "leftcontent1", {}); 
    29         doEvent("#getValue("xehAccountActions")#", "divAccountActions", {}); 
     27        doEvent("#requestContext.getValue("xehShowTags")#", "rightcontent1", {}); 
     28        doEvent("#requestContext.getValue("xehShowInfo")#", "leftcontent1", {}); 
     29        doEvent("#requestContext.getValue("xehAccountActions")#", "divAccountActions", {}); 
    3030</script> 
    3131</cfoutput> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwReader.cfm

    r184 r400  
    1 <cfset qryFeeds = getValue("qryFeeds")> 
    2 <cfset qryTopFeeds = getValue("qryTopFeeds")> 
     1<cfset qryFeeds = requestContext.getValue("qryFeeds")> 
     2<cfset qryTopFeeds = requestContext.getValue("qryTopFeeds")> 
    33 
    44<h1>About ColdBoxReader</h1> 
     
    1717<cfoutput query="qryFeeds" maxrows="5"> 
    1818<div style="line-height:20px;"> 
    19         <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#getValue("xehViewFeed")#','centercontent',{feedID:'#qryFeeds.feedID#'});"><strong>#qryFeeds.feedname#</strong></a> 
     19        <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#requestContext.getValue("xehViewFeed")#','centercontent',{feedID:'#qryFeeds.feedID#'});"><strong>#qryFeeds.feedname#</strong></a> 
    2020        <span style="font-size:0.9em;"> 
    2121                 by #qryFeeds.username# on #dateformat(qryFeeds.createdon,"mmm dd")# #lstimeFormat(qryFeeds.createdOn)# 
     
    3131        <div style="line-height:20px;"> 
    3232                [#qryTopFeeds.views#]&nbsp; 
    33                 <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#getValue("xehViewFeed")#','centercontent',{feedID:'#qryTopFeeds.feedID#'});"><strong>#qryTopFeeds.feedname#</strong></a> 
     33                <img src="images/archives.gif">&nbsp;<a href="javascript:doEvent('#requestContext.getValue("xehViewFeed")#','centercontent',{feedID:'#qryTopFeeds.feedID#'});"><strong>#qryTopFeeds.feedname#</strong></a> 
    3434                <span style="font-size:0.9em;"> 
    3535                         by #qryTopFeeds.username# on #dateformat(qryTopFeeds.createdon,"mmm dd")# #lstimeFormat(qryFeeds.createdOn)# 
     
    4444        clearDiv("leftcontent1"); 
    4545        clearDiv("rightcontent2"); 
    46         doEvent("#getValue("xehShowTags")#", "rightcontent1", {}); 
    47         doEvent("#getValue("xehShowInfo")#", "leftcontent1", {}); 
    48         doEvent("#getValue("xehAccountActions")#", "divAccountActions", {}); 
     46        doEvent("#requestContext.getValue("xehShowTags")#", "rightcontent1", {}); 
     47        doEvent("#requestContext.getValue("xehShowInfo")#", "leftcontent1", {}); 
     48        doEvent("#requestContext.getValue("xehAccountActions")#", "divAccountActions", {}); 
    4949</script> 
    5050</cfoutput> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwSearchResults.cfm

    r184 r400  
    1 <cfset qryFeeds = getValue("qryData")> 
    2 <cfset tag = getValue("tag")> 
    3 <cfset term = getValue("term")> 
     1<cfset qryFeeds = requestContext.getValue("qryData")> 
     2<cfset tag = requestContext.getValue("tag")> 
     3<cfset term = requestContext.getValue("term")> 
    44 
    55<cfoutput> 
     
    1515        <cfloop query="qryFeeds"> 
    1616                <li><div style="line-height:20px;"> 
    17                         <a href="javascript:doEvent('#getValue("xehFeed")#','centercontent',{feedID:'#qryFeeds.feedID#'});"><strong>#qryFeeds.feedname#</strong></a> 
     17                        <a href="javascript:doEvent('#requestContext.getValue("xehFeed")#','centercontent',{feedID:'#qryFeeds.feedID#'});"><strong>#qryFeeds.feedname#</strong></a> 
    1818                        <span style="font-size:0.9em;"> 
    1919                                 by #qryFeeds.username# on #dateformat(qryFeeds.createdon,"mmm dd")# at #lstimeFormat(qryFeeds.createdOn)# 
     
    3333        <br> 
    3434        <script> 
    35                 doEvent("#getValue("xehTags")#", "rightcontent1", {}); 
     35                doEvent("#requestContext.getValue("xehTags")#", "rightcontent1", {}); 
    3636        </script> 
    3737</cfoutput> 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwSignUp.cfm

    r186 r400  
    77<h1>Create your very own ColdBox Reader Account</h1> 
    88 
    9 <form name="frm" method="post" action="javascript:doFormEvent('#getValue("xehCreate")#','centercontent',document.frm)"> 
     9<form name="frm" method="post" action="javascript:doFormEvent('#requestContext.getValue("xehCreate")#','centercontent',document.frm)"> 
    1010        <p> 
    1111                Creating an account allows you to add new feeds and tag existing feeds. All passwords are encrypted. 
  • coldbox/trunk/samples/applications/ColdBoxReader/views/vwViewFeed.cfm

    r391 r400  
    1 <cfset feed = getValue("feed","")> 
    2 <cfset feedID = getValue("feedID",0)> 
     1<cfset feed = requestContext.getValue("feed","")> 
     2<cfset feedID = requestContext.getValue("feedID",0)> 
    33 
    44<cfoutput> 
     
    66         
    77<!--- Reload Icon ---> 
    8 <div style="float:right;margin-right:5px"><a href="##" onClick="doEvent('#getValue("xehReload")#','centercontent',{feedID:'#feedID#'})" title="Refresh Panels"><img src="images/reload_icon.png" border="0" title="Refresh Panels"><a/></div> 
     8<div style="float:right;margin-right:5px"><a href="##" onClick="doEvent('#requestContext.getValue("xehReload")#','centercontent',{feedID:'#feedID#'})" title="Refresh Panels"><img src="images/reload_icon.png" border="0" title="Refresh Panels"><a/></div> 
    99 
    10 <cfif not getValue("myfeeds",false)> 
    11 <div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#getValue("xehFeeds")#','centercontent',{})">Return To Feeds</a></div> 
     10<cfif not requestContext.getValue("myfeeds",false)> 
     11<div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#requestContext.getValue("xehFeeds")#','centercontent',{})">Return To Feeds</a></div> 
    1212<cfelse> 
    13 <div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#getValue("xehMyFeeds")#','centercontent',{})">Return To My Feeds</a></div> 
     13<div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#requestContext.getValue("xehMyFeeds")#','centercontent',{})">Return To My Feeds</a></div> 
    1414</cfif> 
    1515 
     
    7777<hr> 
    7878 
    79 <cfif not getValue("myfeeds",false)> 
     79<cfif not requestContext.getValue("myfeeds",false)> 
    8080<!--- Return to feeds ---> 
    81 <div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#getValue("xehFeeds")#','centercontent',{})">Return To Feeds</a> 
     81<div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#requestContext.getValue("xehFeeds")#','centercontent',{})">Return To Feeds</a> 
    8282<cfelse> 
    83 <div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#getValue("xehMyFeeds")#','centercontent',{})">Return To My Feeds</a></div> 
     83<div><img src="images/orange_arrows_backwards.gif" align="absmiddle"><a href="javascript:doEvent('#requestContext.getValue("xehMyFeeds")#','centercontent',{})">Return To My Feeds</a></div> 
    8484</cfif> 
    8585</div> 
     
    8787 
    8888<script> 
    89         doEvent("#getValue("xehFeedInfo")#", "leftcontent1", {feedID:'#feedID#'}); 
    90         doEvent("#getValue("xehFeedTags")#", "rightcontent1", {feedID:'#feedID#'}); 
    91         //doEvent("#getValue("xehFeedComments")#", "rightcontent2", {feedID:'#feedID#'}); 
     89        doEvent("#requestContext.getValue("xehFeedInfo")#", "leftcontent1", {feedID:'#feedID#'}); 
     90        doEvent("#requestContext.getValue("xehFeedTags")#", "rightcontent1", {feedID:'#feedID#'}); 
     91        //doEvent("#requestContext.getValue("xehFeedComments")#", "rightcontent2", {feedID:'#feedID#'}); 
    9292</script> 
    9393</cfoutput>