<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Fitch &#038; Fitch</title>
	<atom:link href="http://www.fitchandfitch.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fitchandfitch.com</link>
	<description>FileMaker, technology, that sort of thing</description>
	<lastBuildDate>Fri, 16 Sep 2011 17:05:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Dwayne Wright</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-244</link>
		<dc:creator>Dwayne Wright</dc:creator>
		<pubDate>Fri, 16 Sep 2011 17:05:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-244</guid>
		<description>Works awesome and thank you! 

When I implemented it on one of our solutions, I was getting some screen flicker. Tweaking the GTRR to open in a new window at -1000 from the top and then closing that window when I was done eliminated it completely. 

Thanks Again!</description>
		<content:encoded><![CDATA[<p>Works awesome and thank you! </p>
<p>When I implemented it on one of our solutions, I was getting some screen flicker. Tweaking the GTRR to open in a new window at -1000 from the top and then closing that window when I was done eliminated it completely. </p>
<p>Thanks Again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting Redux by HOnza</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting-redux/comment-page-1/#comment-209</link>
		<dc:creator>HOnza</dc:creator>
		<pubDate>Thu, 26 May 2011 20:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=113#comment-209</guid>
		<description>What a great compilation of related ideas! I am adding this to the list of MUST READ articles for my team...
Thanks, Tom!</description>
		<content:encoded><![CDATA[<p>What a great compilation of related ideas! I am adding this to the list of MUST READ articles for my team&#8230;<br />
Thanks, Tom!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting Redux by Perren Smith</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting-redux/comment-page-1/#comment-208</link>
		<dc:creator>Perren Smith</dc:creator>
		<pubDate>Thu, 26 May 2011 17:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=113#comment-208</guid>
		<description>Tom - I recently build an adaptation combining the VL techniques from Bruce and Daniel&#039;s refresh techniques that Matt employed. In my case I needed 6 portals worth of data, but each portal has a differing found set built on the fly based on user interaction with the portals. Essentially a &quot;parent&quot; set of portals for selecting things, then displaying &quot;child&quot; portals below.

Combining the techniques allowed an insanely &quot;fun&quot; user interaction experience and instant UI responsiveness in a client / server environment without any lag and no extra overhead on the server as well.

The direction these techniques are taking is really allowing developers to build entirely new experiences never imagined possible in FileMaker. Too much fun! :)

Thanks for getting the word out as well as keeping the conversation and ideas flowing.</description>
		<content:encoded><![CDATA[<p>Tom &#8211; I recently build an adaptation combining the VL techniques from Bruce and Daniel&#8217;s refresh techniques that Matt employed. In my case I needed 6 portals worth of data, but each portal has a differing found set built on the fly based on user interaction with the portals. Essentially a &#8220;parent&#8221; set of portals for selecting things, then displaying &#8220;child&#8221; portals below.</p>
<p>Combining the techniques allowed an insanely &#8220;fun&#8221; user interaction experience and instant UI responsiveness in a client / server environment without any lag and no extra overhead on the server as well.</p>
<p>The direction these techniques are taking is really allowing developers to build entirely new experiences never imagined possible in FileMaker. Too much fun! :)</p>
<p>Thanks for getting the word out as well as keeping the conversation and ideas flowing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Fitch</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-194</link>
		<dc:creator>Fitch</dc:creator>
		<pubDate>Fri, 06 May 2011 17:29:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-194</guid>
		<description>@Heather, stashing the ID list in a global field or variable is the essence of this technique. That&#039;s what I tested using your Found List function, and the results were in line with Jason Young&#039;s excellent &quot;What&#039;s Faster&quot; presentation from last year&#039;s DevCon: loop w/freeze outperforms GetNth in building an ID list by a whopping margin.

Thanks for pointing out that this technique is multi-user friendly, I should have mentioned that in the article.</description>
		<content:encoded><![CDATA[<p>@Heather, stashing the ID list in a global field or variable is the essence of this technique. That&#8217;s what I tested using your Found List function, and the results were in line with Jason Young&#8217;s excellent &#8220;What&#8217;s Faster&#8221; presentation from last year&#8217;s DevCon: loop w/freeze outperforms GetNth in building an ID list by a whopping margin.</p>
<p>Thanks for pointing out that this technique is multi-user friendly, I should have mentioned that in the article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Heather McCue</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-193</link>
		<dc:creator>Heather McCue</dc:creator>
		<pubDate>Fri, 06 May 2011 00:13:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-193</guid>
		<description>To prevent the list from being rebuilt by each record, the Found List custom function should be used to set the current list into a global that will be referenced instead; valPos ( Child::_gList; Child::ID ).

I don&#039;t recall the details but thought I saw concern in someone&#039;s post about using this technique in multi-user environments. This is not a problem if the portalSort calc is unstored and dependent on a global [or other unstored result like FoundList( )].</description>
		<content:encoded><![CDATA[<p>To prevent the list from being rebuilt by each record, the Found List custom function should be used to set the current list into a global that will be referenced instead; valPos ( Child::_gList; Child::ID ).</p>
<p>I don&#8217;t recall the details but thought I saw concern in someone&#8217;s post about using this technique in multi-user environments. This is not a problem if the portalSort calc is unstored and dependent on a global [or other unstored result like FoundList( )].</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Fitch</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-192</link>
		<dc:creator>Fitch</dc:creator>
		<pubDate>Thu, 05 May 2011 20:55:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-192</guid>
		<description>@rmw and @Audrey this method is not going to be the fastest, but IMO is acceptable on related sets of a reasonable size (&lt;1,000). YMMV. Personally I don&#039;t think a portal is a good choice for presenting thousands, or even hundreds, of records.

@Rob and @Heather, I would encourage anyone to modify the calc in a way that seems most clear. I&#039;ve seen a number of variations. In fact, I was going to include a &quot;flattened&quot; version of my calc in my original post but edited it out for simplicity. Here it is:

&lt;code&gt;ValueCount ( Left ( ¶ &amp; $$gIDs &amp; ¶ ; Position ( ¶ &amp; $$gIDs &amp; ¶ ; ¶ &amp; ID ; 1; 1 ) ) )&lt;/code&gt;

Darren Terry and Chis Manton both pointed me to &lt;a href=&quot;http://www.briandunning.com/cf/1300&quot; rel=&quot;nofollow&quot;&gt;Sander Selover&#039;s custom function&lt;/a&gt;, which strikes me as very clean and readable:

&lt;code&gt;Let ( [
    v	= ¶ &amp; _listOfValues &amp; ¶ ;
    p	= Position ( v ; ¶ &amp; _value &amp; ¶ ; 1 ; 1 )
  ] ;

  ValueCount ( Left ( v ; p ) )
)&lt;/code&gt;

(Notice I&#039;m not using quotation marks around the paragraph symbols, it&#039;s not required and it&#039;s more readable, I think, without them.) 

I would not expect such variations to impact the performance, and whether you put the calc into a custom function is again, really just a matter of taste and/or your organization&#039;s coding conventions.

@Heather I really appreciate your taking the time to post the FoundList custom function, but I have to tell you it does not perform well at all on large set of records. It was really noticeable on anything over a few hundred child records. 

But again, for smaller related sets it&#039;s not going to make a perceptible difference, so if you prefer to put your logic in a custom function there&#039;s no reason not to. My preference these days is to put my logic into scripts, all else being equal.

For best performance in my example file: 
&lt;ol&gt;&lt;li&gt;- the child layout should be in form view&lt;/li&gt;
&lt;li&gt;- the child layout should have no fields on it&lt;/li&gt;
&lt;li&gt;- the script should freeze window before the loop&lt;/li&gt;&lt;/ol&gt;</description>
		<content:encoded><![CDATA[<p>@rmw and @Audrey this method is not going to be the fastest, but IMO is acceptable on related sets of a reasonable size (&lt;1,000). YMMV. Personally I don't think a portal is a good choice for presenting thousands, or even hundreds, of records.</p>
<p>@Rob and @Heather, I would encourage anyone to modify the calc in a way that seems most clear. I've seen a number of variations. In fact, I was going to include a "flattened" version of my calc in my original post but edited it out for simplicity. Here it is:</p>
<p><code>ValueCount ( Left ( ¶ &#038; $$gIDs &#038; ¶ ; Position ( ¶ &#038; $$gIDs &#038; ¶ ; ¶ &#038; ID ; 1; 1 ) ) )</code></p>
<p>Darren Terry and Chis Manton both pointed me to <a href="http://www.briandunning.com/cf/1300" rel="nofollow">Sander Selover's custom function</a>, which strikes me as very clean and readable:</p>
<p><code>Let ( [<br />
    v	= ¶ &#038; _listOfValues &#038; ¶ ;<br />
    p	= Position ( v ; ¶ &#038; _value &#038; ¶ ; 1 ; 1 )<br />
  ] ;</p>
<p>  ValueCount ( Left ( v ; p ) )<br />
)</code></p>
<p>(Notice I'm not using quotation marks around the paragraph symbols, it's not required and it's more readable, I think, without them.) </p>
<p>I would not expect such variations to impact the performance, and whether you put the calc into a custom function is again, really just a matter of taste and/or your organization's coding conventions.</p>
<p>@Heather I really appreciate your taking the time to post the FoundList custom function, but I have to tell you it does not perform well at all on large set of records. It was really noticeable on anything over a few hundred child records. </p>
<p>But again, for smaller related sets it's not going to make a perceptible difference, so if you prefer to put your logic in a custom function there's no reason not to. My preference these days is to put my logic into scripts, all else being equal.</p>
<p>For best performance in my example file: </p>
<ol>
<li>- the child layout should be in form view</li>
<li>- the child layout should have no fields on it</li>
<li>- the script should freeze window before the loop</li>
</ol>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Heather McCue</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-189</link>
		<dc:creator>Heather McCue</dc:creator>
		<pubDate>Thu, 05 May 2011 00:49:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-189</guid>
		<description>As with the sorting burden, the following is not recommended for very large record sets.

Replace your current portalSort calc with the following to determine each record&#039;s post-sort position:
      valPos ( FoundList ( Child::ID ; 1 ); Child::ID )

The following custom functions will allow you to remove the ID-building loop entirely.

FoundList ( field; start )
    // start should always be set to 1
        GetNthRecord ( field ; start ) &amp; 
        Case( start &lt; Get ( FoundCount );
          &quot;¶&quot; &amp; FoundList ( field; start + 1 )
        ) &amp; 
        Case( start = Get ( FoundCount ); &quot;¶&quot;)

valPos ( array ; value )
        PatternCount ( Left ( &quot;¶&quot; &amp; array; Position ( &quot;¶&quot; &amp; array; &quot;¶&quot; &amp; value &amp; &quot;¶&quot;; 1; 1)); &quot;¶&quot;) 

Example: valPos ( FoundList ( Child::ID ; 1 ); Child::ID )</description>
		<content:encoded><![CDATA[<p>As with the sorting burden, the following is not recommended for very large record sets.</p>
<p>Replace your current portalSort calc with the following to determine each record&#8217;s post-sort position:<br />
      valPos ( FoundList ( Child::ID ; 1 ); Child::ID )</p>
<p>The following custom functions will allow you to remove the ID-building loop entirely.</p>
<p>FoundList ( field; start )<br />
    // start should always be set to 1<br />
        GetNthRecord ( field ; start ) &amp;<br />
        Case( start &lt; Get ( FoundCount );<br />
          &quot;¶&quot; &amp; FoundList ( field; start + 1 )<br />
        ) &amp;<br />
        Case( start = Get ( FoundCount ); &quot;¶&quot;)</p>
<p>valPos ( array ; value )<br />
        PatternCount ( Left ( &quot;¶&quot; &amp; array; Position ( &quot;¶&quot; &amp; array; &quot;¶&quot; &amp; value &amp; &quot;¶&quot;; 1; 1)); &quot;¶&quot;) </p>
<p>Example: valPos ( FoundList ( Child::ID ; 1 ); Child::ID )</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by RobP</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-188</link>
		<dc:creator>RobP</dc:creator>
		<pubDate>Wed, 04 May 2011 20:26:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-188</guid>
		<description>We know there&#039;s more than one way to skin a calc in FM. 

My personal approach. I&#039;ve made this into a custom calc so that I can determine the index value for a selected item in any given list of separated values like a value list. 

Let 
(
   [
   items = $$gIDs ;
   items = If ( Right (items ; 1 )  &quot;¶&quot; ; items &amp; &quot;¶&quot; ; items )
   ];
   ValueCount (
      Left ( 
         items ; 
         Position ( items ; ID ; 1; 1 ) + Length ( ID ) 
      )
   )
)</description>
		<content:encoded><![CDATA[<p>We know there&#8217;s more than one way to skin a calc in FM. </p>
<p>My personal approach. I&#8217;ve made this into a custom calc so that I can determine the index value for a selected item in any given list of separated values like a value list. </p>
<p>Let<br />
(<br />
   [<br />
   items = $$gIDs ;<br />
   items = If ( Right (items ; 1 )  "¶" ; items &amp; "¶" ; items )<br />
   ];<br />
   ValueCount (<br />
      Left (<br />
         items ;<br />
         Position ( items ; ID ; 1; 1 ) + Length ( ID )<br />
      )<br />
   )<br />
)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by Audrey Akhavan</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-187</link>
		<dc:creator>Audrey Akhavan</dc:creator>
		<pubDate>Wed, 04 May 2011 20:02:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-187</guid>
		<description>Hey there, Mr. Tom!

I&#039;ve tried both of the other techniques and have found the &quot;dynamic-portal-sorting&quot; method to be too slow over a network, and the &quot;hidden tab element/hidden-sorted-portals&quot; technique is a lot of work (compounded when you want to add another sort field).

Thank you so very much for sharing this new technique and the demo file! Very clever! I look forward to implementing the &quot;Fitch Portal Sorting Technique™&quot; immediately! :D

P.S. Thanks also for the new (to me) term, &quot;technical debt&quot;. I will be having less of that now. ;)</description>
		<content:encoded><![CDATA[<p>Hey there, Mr. Tom!</p>
<p>I&#8217;ve tried both of the other techniques and have found the &#8220;dynamic-portal-sorting&#8221; method to be too slow over a network, and the &#8220;hidden tab element/hidden-sorted-portals&#8221; technique is a lot of work (compounded when you want to add another sort field).</p>
<p>Thank you so very much for sharing this new technique and the demo file! Very clever! I look forward to implementing the &#8220;Fitch Portal Sorting Technique™&#8221; immediately! :D</p>
<p>P.S. Thanks also for the new (to me) term, &#8220;technical debt&#8221;. I will be having less of that now. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FileMaker Portal Sorting That Doesn&#8217;t Suck™ by rmw</title>
		<link>http://www.fitchandfitch.com/2011/05/filemaker-portal-sorting/comment-page-1/#comment-186</link>
		<dc:creator>rmw</dc:creator>
		<pubDate>Wed, 04 May 2011 19:43:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.fitchandfitch.com/?p=78#comment-186</guid>
		<description>Clever thinking!

I am a bit concerned about the performance with a lot of records, but then again, sorting a lot of child records is never fun, even when FM does it itself.

It will definitely be usefull for me, thx again.</description>
		<content:encoded><![CDATA[<p>Clever thinking!</p>
<p>I am a bit concerned about the performance with a lot of records, but then again, sorting a lot of child records is never fun, even when FM does it itself.</p>
<p>It will definitely be usefull for me, thx again.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.536 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-03 20:23:40 -->

