<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Trond Ulseth&apos;s Blog - Mach-ii</title>
			<link>http://trond.ulseth.no/index.cfm</link>
			<description>Trond Ulseth</description>
			<language>en-us</language>
			<pubDate>Wed, 02 Jan 2008 12:58:32 -0600</pubDate>
			<lastBuildDate>Wed, 31 Aug 2005 08:19:00 -0600</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>trond@ulseth.no</managingEditor>
			<webMaster>trond@ulseth.no</webMaster>
			
			
			
			
			
			<item>
				<title>Now I know what a BO is</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0B708C79-B834-88F5-42B7020F611F607B</link>
				<description>
				
				&lt;p&gt;I started this morning reading through the new posts at &amp;quot;&lt;a href=&quot;http://www.fullasagoog.com&quot; target=&quot;_blank&quot;&gt;the Goog&lt;/a&gt;&amp;quot;, and came upon &lt;a href=&quot;http://ray.camdenfamily.com/index.cfm/2005/8/30/Ask-a-Jedi-ColdFusion-Components-and-Validation&quot; target=&quot;_blank&quot;&gt;a post by the CF JediMaster Raymond Camden&lt;/a&gt;, where he answers a question regarding how to handle validation in&amp;nbsp;OO approached CF app. As always Ray makes a good answer.&lt;/p&gt;
&lt;p&gt;But what really caught my eye, and made me wake up even before my first cup of tea, was a comment from Callum. He explains how he goes about doing validation in a BO (Busines Object), and in doing so also describes in a easy to understand way what a BO is. This is another one of those OO consepts/expresions that I yet had left to understand. Reading the comment by Callum just made a huge lightbulb appear above my head.&lt;/p&gt;
&lt;p&gt;So Callum - Kudos to you! &lt;br/&gt;
I now (think I) know what a BO is.&lt;/p&gt;
				
				</description>
				
				<category>Model-Glue</category>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Wed, 31 Aug 2005 08:19:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0B708C79-B834-88F5-42B7020F611F607B</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Mach-ii multi step form tutorial by David Ross</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=11E707C6-E8D8-AFDC-6D33B85C784D16E7</link>
				<description>
				
				David Ross has written a &lt;a href=&quot;http://www.d-ross.org/index.cfm?objectid=0DF64E13-0EAE-33A2-2887A856BA46BD2F&quot; target=&quot;_blank&quot;&gt;tutorial&lt;/a&gt; on how to deal with multi step forms in the contex of the mach-ii framework. Being that session fa&amp;ccedil;ades is the next step I&apos;ve been aiming to get into and understand when it comes to mach-ii/oo this is perfect. Thanks a lot David.
				
				</description>
				
				<category>Mach-ii</category>
				
				<pubDate>Wed, 13 Jul 2005 21:29:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=11E707C6-E8D8-AFDC-6D33B85C784D16E7</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>&quot;Dead&quot; is just a word</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=BFE94FFA-AD79-41BA-BBC8BFF5DE0E7D40</link>
				<description>
				
				&lt;p&gt;In the last couple of days it&apos;s been a lot of blogging and discution about the future of Mach-ii. I wont make the jump to deep into the discution, but I&apos;ve made some observartions.&lt;/p&gt;
&lt;p&gt;The discutions was fired of from Peter Farrels posts &amp;quot;&lt;a href=&quot;http://blog.maestropublishing.com/index.cfm?mode=entry&amp;amp;entry=9BB1C498-0836-3D12-9F0E09C8BE44039F&quot; target=&quot;_blank&quot;&gt;Is Mach-ii dead&lt;/a&gt;&amp;quot;, and the follow up &amp;quot;&lt;a href=&quot;http://blog.maestropublishing.com/index.cfm?mode=entry&amp;amp;entry=AABEC6E5-DED0-66FF-D3CA02B9BD27BA7B&quot; target=&quot;_blank&quot;&gt;Mach-ii is dead&lt;/a&gt;&amp;quot;. I think Peter voiced some really valuable concerns in his posts, but it seems like Peters use of the word &amp;quot;dead&amp;quot; blinded people from the content of the posts. Peter wrote what he did out of care and concern for a framework he&apos;s invested a lot of time and energy on. Was his use of the word dead wrong? Maybe. But Peter just put words to what I know that many have been thinking, and the objects of his concern is what should have speared the follow up discution rather than the dead/alive&amp;nbsp;debate.&lt;/p&gt;
&lt;p&gt;One other observation I&apos;ve made is that many has picked up this as a Mach-ii vs Model-Glue discution. While there is some relevance in that discution as well, I feel it&apos;s gotten out of proportions. Luckily Joe made a &lt;a href=&quot;http://clearsoftware.net/client/index.cfm?mode=entry&amp;amp;entry=BDB9AE90-E081-2BAC-69205A7F442F302D&quot; target=&quot;_blank&quot;&gt;post&lt;/a&gt;&amp;nbsp; that let the air a little out of that baloon.&lt;/p&gt;
&lt;p&gt;To wrap it up I&apos;d like to say that I think that all that has blogged/discussed the topic has made valid points, but that the focus on the issues might have come out a bit wrong/skewed.&lt;/p&gt;
&lt;p&gt;A similar discution was going on in the Mach-ii mail list several months ago, but after it silenced down all was back to normal. I fear that it will be a week or two and the same will happen this time around as well. Now - I&apos;ve not got any solutions to offer (and so actually should have just shut up &lt;img alt=&quot;&quot; src=&quot;/blog/fckeditor/editor/images/smiley/msn/regular_smile.gif&quot; align=&quot;absMiddle&quot;/&gt;), but I hope something will come out of it this time. I&apos;ve seen several suggestions around the other blogs.&lt;/p&gt;
&lt;p&gt;So is Mach-ii &amp;quot;dead&amp;quot;? I would say no. Turning the table though - is it alive? &amp;nbsp;&lt;img alt=&quot;&quot; src=&quot;/blog/fckeditor/editor/images/smiley/msn/wink_smile.gif&quot; align=&quot;absMiddle&quot;/&gt;&lt;/p&gt;
				
				</description>
				
				<category>Mach-ii</category>
				
				<pubDate>Mon, 27 Jun 2005 22:43:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=BFE94FFA-AD79-41BA-BBC8BFF5DE0E7D40</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Naming classes/cfc&apos;s</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=8A62A42F-D7E7-4E3C-DB2813993756B26C</link>
				<description>
				
				Via &lt;a href=&quot;http://devnulled.com/content/2005/04/guidelines-to-naming-cfcs/&quot; target=&quot;_blank&quot;&gt;devnulled&lt;/a&gt; I was made aware of &lt;a href=&quot;http://www.hacknot.info/hacknot/action/showEntry?eid=48&quot; target=&quot;_blank&quot;&gt;this post&lt;/a&gt; over at Hacknot about naming classes. As devnulled points out this is very adaptable to how we name ColdFusion cfc&apos;s.
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Links</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Thu, 28 Apr 2005 20:53:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=8A62A42F-D7E7-4E3C-DB2813993756B26C</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Mach-ii tutorials files - zip</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=833C8736-0361-3882-BECC83BAF37B5052</link>
				<description>
				
				&lt;p&gt;I was asked if it was possible to download the code for the guestbook example in my mach-ii tutorials. So &lt;a href=&quot;/UserFiles/File/MyGuestbook.zip&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; they are. This is however the code how&amp;nbsp;it&amp;nbsp;looks after completing part 2, and not the finished result.&lt;/p&gt;
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Wed, 27 Apr 2005 11:29:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=833C8736-0361-3882-BECC83BAF37B5052</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Mach-ii tutorials in pdf</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=45D4DC1A-D09F-6D06-7E72F13ACB709C13</link>
				<description>
				
				&lt;p&gt;If you&apos;ve seen the Mach-ii tutorials I&apos;ve posted you might have found the formating of the tutorials a bit confusing/weird. I wrote and submited the tutorials as .doc files, and unfortuneatly the conversion to html&amp;nbsp;was not too sucessfull.&lt;/p&gt;
&lt;p&gt;So I&apos;ve corrected some typos and made the tutorials into pdf files. Download them, send them around, whatever - just don&apos;t publish them as your own &lt;img alt=&quot;&quot; src=&quot;/blog/fckeditor/editor/images/smiley/msn/wink_smile.gif&quot; align=&quot;absMiddle&quot;/&gt;.&lt;/p&gt;
&lt;p&gt;If you like them, you can still vote for part two over at &lt;a href=&quot;http://www.easycfm.com/vote/&quot; target=&quot;_blank&quot;&gt;http://www.easycfm.com/vote/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ok - I&apos;ll shut up now. Here they are:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;/UserFiles/File/mach-ii for newbies 1.pdf&quot;&gt;Mach-ii for newbies - part 1&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/UserFiles/File/mach-ii for newbies 2.pdf&quot;&gt;Mach-ii for newbies - part 2&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Fri, 15 Apr 2005 13:16:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=45D4DC1A-D09F-6D06-7E72F13ACB709C13</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Breakin up your Mach-ii application</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=45BB409F-EDE9-5316-0E57751BCC168E62</link>
				<description>
				
				Tracy Logan has written an interesting piece on breaking up a Mach-ii application. The initial goal was to reduce the size of the config file (mach-ii.xml), but Tracy also explains a couple of other benefits. Read the article &lt;a href=&quot;http://tracylogan.com/index.cfm?event=blog.display.one&amp;amp;blogID=4282345D-F870-8ADF-D85EFA5536F3A963&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Fri, 15 Apr 2005 12:56:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=45BB409F-EDE9-5316-0E57751BCC168E62</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Flash forms and mach-ii</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0F0B6E56-9DC5-90ED-15A877D5B971AF7A</link>
				<description>
				
				I&apos;m currently working on an application (more details later) which will make heavy use of flash forms, and will be made with the mach-ii framework. I needed a method to trigger diferent mach-ii events from the same form - let me explain.

I have a list with items in a cfgrid. Now I wanted to mark one item, and click one of two buttons: &quot;Properties&quot; and &quot;Delete&quot;. The first thing I tried was to have the two buttons named &quot;event&quot; and asign different values to them:
&lt;div class=&quot;code&quot;&gt;&lt;FONT COLOR=MAROON&gt;&amp;lt;cfinput type=&lt;FONT COLOR=BLUE&gt;&quot;submit&quot;&lt;/FONT&gt; name=&lt;FONT COLOR=BLUE&gt;&quot;event&quot;&lt;/FONT&gt; value=&lt;FONT COLOR=BLUE&gt;&quot;Properties&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;br&gt;
&lt;FONT COLOR=MAROON&gt;&amp;lt;cfinput type=&lt;FONT COLOR=BLUE&gt;&quot;submit&quot;&lt;/FONT&gt; name=&lt;FONT COLOR=BLUE&gt;&quot;event&quot;&lt;/FONT&gt; value=&lt;FONT COLOR=BLUE&gt;&quot;Delete&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;/div&gt;

However I learned that you can not have two form fields with the same name in a flash form. It won&apos;t render at all.

So I got the idea to have a hidden field called &quot;event&quot;, and then have onclick functions on the buttons asigning different values to the hidden field. However I could not make it work. So I fired of an email to Mike Nimer, the guy behind the before mentioned &lt;a href=&quot;http://www.cfform.com&quot; target=&quot;_blank&quot;&gt;cfform.com&lt;/a&gt;. He answered me, sugesting a small change of the syntax in my onclick function, and behold, it worked. Here&apos;s a rough example:
&lt;div class=&quot;code&quot;&gt;&lt;FONT COLOR=MAROON&gt;&amp;lt;cfform name=&lt;FONT COLOR=BLUE&gt;&quot;form1&quot;&lt;/FONT&gt; action=&lt;FONT COLOR=BLUE&gt;&quot;index.cfm&quot;&lt;/FONT&gt; method=&lt;FONT COLOR=BLUE&gt;&quot;post&quot;&lt;/FONT&gt; preloader=&lt;FONT COLOR=BLUE&gt;&quot;yes&quot;&lt;/FONT&gt; format=&lt;FONT COLOR=BLUE&gt;&quot;flash&quot;&lt;/FONT&gt; height=&lt;FONT COLOR=BLUE&gt;&quot;500&quot;&lt;/FONT&gt; width=&lt;FONT COLOR=BLUE&gt;&quot;710&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;br&gt;
&lt;FONT COLOR=MAROON&gt;&amp;lt;cfinput type=&lt;FONT COLOR=BLUE&gt;&quot;hidden&quot;&lt;/FONT&gt; name=&lt;FONT COLOR=BLUE&gt;&quot;event&quot;&lt;/FONT&gt; value=&lt;FONT COLOR=BLUE&gt;&quot;&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;br&gt;
&lt;FONT COLOR=MAROON&gt;&amp;lt;cfinput type=&lt;FONT COLOR=BLUE&gt;&quot;submit&quot;&lt;/FONT&gt; name=&lt;FONT COLOR=BLUE&gt;&quot;eventone&quot;&lt;/FONT&gt; value=&lt;FONT COLOR=BLUE&gt;&quot;Properties&quot;&lt;/FONT&gt; width=&lt;FONT COLOR=BLUE&gt;&quot;100&quot;&lt;/FONT&gt; onclick=&lt;FONT COLOR=BLUE&gt;&quot;form1.event=&apos;properties&apos;&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;br&gt;
&lt;FONT COLOR=MAROON&gt;&amp;lt;cfinput type=&lt;FONT COLOR=BLUE&gt;&quot;submit&quot;&lt;/FONT&gt; name=&lt;FONT COLOR=BLUE&gt;&quot;eventtwo&quot;&lt;/FONT&gt; value=&lt;FONT COLOR=BLUE&gt;&quot;Delete&quot;&lt;/FONT&gt; width=&lt;FONT COLOR=BLUE&gt;&quot;100&quot;&lt;/FONT&gt; onclick=&lt;FONT COLOR=BLUE&gt;&quot;form1.event=&apos;delete&apos;&quot;&lt;/FONT&gt;&amp;gt;&lt;/FONT&gt;&lt;/div&gt;

Looking at it now I can&apos;t beleive I did not figure out the syntax my self (I left out the name of the form). A big thank you to Mike!!!
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Mon, 04 Apr 2005 22:08:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0F0B6E56-9DC5-90ED-15A877D5B971AF7A</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Great free tool for configuring mach-ii.xml files</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0566EECA-B9C7-D430-89DB7EBD1EE72C71</link>
				<description>
				
				A xml file is just plain text, and could easily be maintained with notepad (or similar). However having the right tool for the job helps a lot (I guess most of you use DW, Eclipse, HS+ or something like that rather than notepad, for your cf development as well).

Not being able to fork out for a profesional edition of XMLspy or similar, I deceided to try out the different free xml editors I could find. I ended up using a program called XMLmarker. And since I started with mach-ii I like it even more. Lacking several advanced features making it a bit short working with more advanced xml tasks it really shines through when working with configuration files

Give it a spin. It won&apos;t cost you anything but some minutes of your time (which you quickly catch up when you start to use the program).

The program can be found at &lt;a href=&quot;http://symbolclick.com&quot; target=&quot;_blank&quot;&gt;http://symbolclick.com&lt;/a&gt;
				
				</description>
				
				<category>Tool tips</category>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Sun, 03 Apr 2005 01:00:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=0566EECA-B9C7-D430-89DB7EBD1EE72C71</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			
			
			<item>
				<title>Mach-ii for newbies - part 2</title>
				<link>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=F7E22BC6-E76C-B2F4-9DD4E9683A95C963</link>
				<description>
				
				As some might know I wrote a tutorial called Mach-ii for newbies earlier on. The tutorial was posted at easycfm.com, and for that I won an Apple iPod. A big thank you to all that voted for me.

The tutorial can be found at &lt;a href=&quot;http://tutorial345.easycfm.com/&quot; target=&quot;_blank&quot;&gt;http://tutorial345.easycfm.com/&lt;/a&gt;

I have now finished &quot;Mach-ii for newbies - part 2&quot;. It is already submited to easycfm and should be published there shortly. Thanks to &lt;a href=&quot;http://www.web-relevant.com/blogs/cfobjective/index.cfm&quot; target=&quot;_blank&quot;&gt;my friend Jared&lt;/a&gt; for a little proof reading.

As the situation stands it seems that the new tutorial will have a shot at getting me another iPod. If you like it please vote for it. My wife would be happy to get an iPod as well :)
				
				</description>
				
				<category>ColdFusion</category>
				
				<category>Mach-ii</category>
				
				<pubDate>Thu, 31 Mar 2005 10:06:00 -0600</pubDate>
				<guid>http://trond.ulseth.no/index.cfm?mode=entry&amp;entry=F7E22BC6-E76C-B2F4-9DD4E9683A95C963</guid>
				
				<enclosure url="http://trond.ulseth.no/enclosures/0" length="0" type=""/>
				
			</item>
			
		 	
			</channel></rss>
<SCRIPT language="Javascript">
<!--

// FILE ARCHIVED ON 20080102185842 AND RETRIEVED FROM THE
// INTERNET ARCHIVE ON 20100801044928.
// JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
// ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
// SECTION 108(a)(3)).

   var sWayBackCGI = "http://web.archive.org/web/20080102185842/";

   function xResolveUrl(url) {
      var image = new Image();
      image.src = url;
      return image.src;
   }
   function xLateUrl(aCollection, sProp) {
      var i = 0;
      for(i = 0; i < aCollection.length; i++) {
         var url = aCollection[i][sProp];         if (typeof(url) == "string") { 
          if (url.indexOf("mailto:") == -1 &&
             url.indexOf("javascript:") == -1
             && url.length > 0) {
            if(url.indexOf("http") != 0) {
                url = xResolveUrl(url);
            }
            url = url.replace('.wstub.archive.org','');
            aCollection[i][sProp] = sWayBackCGI + url;
         }
         }
      }
   }

   xLateUrl(document.getElementsByTagName("IMG"),"src");
   xLateUrl(document.getElementsByTagName("A"),"href");
   xLateUrl(document.getElementsByTagName("AREA"),"href");
   xLateUrl(document.getElementsByTagName("OBJECT"),"codebase");
   xLateUrl(document.getElementsByTagName("OBJECT"),"data");
   xLateUrl(document.getElementsByTagName("APPLET"),"codebase");
   xLateUrl(document.getElementsByTagName("APPLET"),"archive");
   xLateUrl(document.getElementsByTagName("EMBED"),"src");
   xLateUrl(document.getElementsByTagName("BODY"),"background");
   xLateUrl(document.getElementsByTagName("TD"),"background");
   xLateUrl(document.getElementsByTagName("INPUT"),"src");
   var forms = document.getElementsByTagName("FORM");
   if (forms) {
       var j = 0;
       for (j = 0; j < forms.length; j++) {
              f = forms[j];
              if (typeof(f.action)  == "string") {
                 if(typeof(f.method)  == "string") {
                     if(typeof(f.method) != "post") {
                        f.action = sWayBackCGI + f.action;
                     }
                  }
              }
        }
    }


//-->
</SCRIPT>

