<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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>Soliant Consulting</title>
	<atom:link href="http://www.soliantconsulting.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.soliantconsulting.com/blog</link>
	<description>Soliant Consulting</description>
	<pubDate>Wed, 21 Jul 2010 22:08:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Check out Soliant&#8217;s First Native iPhone Application</title>
		<link>http://www.soliantconsulting.com/blog/2010/07/check-out-soliants-first-native-application/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/07/check-out-soliants-first-native-application/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:48:16 +0000</pubDate>
		<dc:creator>tcarvalho</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Apple Cocoa API]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[Objective-C]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[Soliant Consulting]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1328</guid>
		<description><![CDATA[Matt Murray  from Purcell Murray, conceived of an iPhone application that would allow dealers  to check real-time information on items in stock, products in transit,  and model numbers available.
Purcell Murray turned to their long-time partner Soliant Consulting to  help them build the mobile application.
Soliant developed the Purcell Murray mobile application with native [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/02/soliant-consulting-filemaker-custom-functions-library-v26/' rel='bookmark' title='Permanent Link: Soliant Consulting FileMaker Custom Functions Library v2.6'>Soliant Consulting FileMaker Custom Functions Library v2.6</a> <small>These custom functions are the same as provided with our...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Matt Murray  from Purcell Murray, conceived of an iPhone application that would allow dealers  to check real-time information on items in stock, products in transit,  and model numbers available.</p>
<p>Purcell Murray turned to their long-time partner Soliant Consulting to  help them build the mobile application.</p>
<p>Soliant developed the Purcell Murray mobile application with native  tools and widgets in Objective-C and the Apple Cocoa API from the iPhone  software development kit to keep costs in line with the project&#8217;s  budget. Soliant used PHP to create a bridge for data to flow from this server to  the iPhone app&#8230; <a href="http://www.soliantconsulting.com/clients/casestudies/pm-mobile.php"><strong>Read more</strong></a></p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/02/soliant-consulting-filemaker-custom-functions-library-v26/' rel='bookmark' title='Permanent Link: Soliant Consulting FileMaker Custom Functions Library v2.6'>Soliant Consulting FileMaker Custom Functions Library v2.6</a> <small>These custom functions are the same as provided with our...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/07/check-out-soliants-first-native-application/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Connecting Around the World with Salesforce - Check out Soliant&#8217;s new case study!</title>
		<link>http://www.soliantconsulting.com/blog/2010/06/connecting-around-the-world-with-salesforce-check-out-soliants-new-case-study/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/06/connecting-around-the-world-with-salesforce-check-out-soliants-new-case-study/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 23:43:00 +0000</pubDate>
		<dc:creator>tcarvalho</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1323</guid>
		<description><![CDATA[Read more


Related posts:Check out Soliant&#8217;s First Native iPhone Application Matt Murray  from Purcell Murray, conceived of an iPhone application...
Related posts brought to you by Yet Another Related Posts Plugin.


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/07/check-out-soliants-first-native-application/' rel='bookmark' title='Permanent Link: Check out Soliant&#8217;s First Native iPhone Application'>Check out Soliant&#8217;s First Native iPhone Application</a> <small>Matt Murray  from Purcell Murray, conceived of an iPhone application...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://bit.ly/GlobalExperiencesCaseStudy"><strong>Read more</strong></a></p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/07/check-out-soliants-first-native-application/' rel='bookmark' title='Permanent Link: Check out Soliant&#8217;s First Native iPhone Application'>Check out Soliant&#8217;s First Native iPhone Application</a> <small>Matt Murray  from Purcell Murray, conceived of an iPhone application...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/06/connecting-around-the-world-with-salesforce-check-out-soliants-new-case-study/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Deprecation of XSLT API for Custom Web Publishing</title>
		<link>http://www.soliantconsulting.com/blog/2010/05/deprecation-of-xslt-api-for-custom-web-publishing/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/05/deprecation-of-xslt-api-for-custom-web-publishing/#comments</comments>
		<pubDate>Thu, 27 May 2010 18:43:22 +0000</pubDate>
		<dc:creator>agutleben</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[FileMaker]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1307</guid>
		<description><![CDATA[May 25, 2010 - Beginning with the next full version of FileMaker Server and FileMaker Server Advanced, the XSLT API for Custom Web Publishing and the XSLT Site Assistant will no longer be available.
As FileMaker software evolves the list of APIs and technologies it supports may change and less efficient interfaces may be deprecated in [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/10/when-fm-scripts-are-faster-than-php-for-custom-web-publishing/' rel='bookmark' title='Permanent Link: When FM Scripts Are Faster Than PHP for Custom Web Publishing'>When FM Scripts Are Faster Than PHP for Custom Web Publishing</a> <small>Often it&#8217;s best not to use FileMaker scripts to perform...</small></li><li><a href='http://www.soliantconsulting.com/blog/2007/07/introducing-flexfm/' rel='bookmark' title='Permanent Link: Introducing FlexFM'>Introducing FlexFM</a> <small>FlexFM is a newly created library that offers developers greater...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/06/autoupdate-assistant/' rel='bookmark' title='Permanent Link: Quickly Install or Update Plugins With a Little Assistance'>Quickly Install or Update Plugins With a Little Assistance</a> <small>Many FileMaker Pro solutions take advantage of plug-ins to extend...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>May 25, 2010 - Beginning with the next full version of FileMaker Server and FileMaker Server Advanced, the XSLT API for Custom Web Publishing and the XSLT Site Assistant will no longer be available.</p>
<p>As FileMaker software evolves the list of APIs and technologies it supports may change and less efficient interfaces may be deprecated in favor of new ones.  If you are using XSLT in Custom Web Publishing or the XSLT Site Assistant, FileMaker recommends that you migrate your solution to use other more efficient APIs, technologies, or alternative features of the product to meet the same need in your solutions.</p>
<p>Note: FileMaker will continue to support XML and applying an XSLT style sheet during export.</p>
<p>Here are some recommended resources to help you choose an alternative to XSLT:</p>
<p>About PHP Web Publishing:<br />
<a href="http://www.filemaker.com/support/technologies/php.html">http://www.filemaker.com/support/technologies/php.html</a></p>
<p>FileMaker Server 11 Custom Web Publishing with PHP<br />
<a href="http://www.filemaker.com/support/product/docs/fms/fms11_cwp_php_en.pdf">http://www.filemaker.com/support/product/docs/fms/fms11_cwp_php_en.pdf</a></p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/10/when-fm-scripts-are-faster-than-php-for-custom-web-publishing/' rel='bookmark' title='Permanent Link: When FM Scripts Are Faster Than PHP for Custom Web Publishing'>When FM Scripts Are Faster Than PHP for Custom Web Publishing</a> <small>Often it&#8217;s best not to use FileMaker scripts to perform...</small></li><li><a href='http://www.soliantconsulting.com/blog/2007/07/introducing-flexfm/' rel='bookmark' title='Permanent Link: Introducing FlexFM'>Introducing FlexFM</a> <small>FlexFM is a newly created library that offers developers greater...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/06/autoupdate-assistant/' rel='bookmark' title='Permanent Link: Quickly Install or Update Plugins With a Little Assistance'>Quickly Install or Update Plugins With a Little Assistance</a> <small>Many FileMaker Pro solutions take advantage of plug-ins to extend...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/05/deprecation-of-xslt-api-for-custom-web-publishing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Follow up to Bob Bowers&#8217; Webinar on Charting in FileMaker Pro 11</title>
		<link>http://www.soliantconsulting.com/blog/2010/05/follow-up-to-bob-bowers-webinar-on-charting-in-filemaker-pro-11/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/05/follow-up-to-bob-bowers-webinar-on-charting-in-filemaker-pro-11/#comments</comments>
		<pubDate>Thu, 13 May 2010 21:17:59 +0000</pubDate>
		<dc:creator>tcarvalho</dc:creator>
		
		<category><![CDATA[FileMaker]]></category>

		<category><![CDATA[Resources]]></category>

		<category><![CDATA[Charting]]></category>

		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1269</guid>
		<description><![CDATA[Thanks to those of you who attended the recent webinar on charting in FileMaker Pro 11.  A number of people have asked about getting the demo files used by Bob Bowers in the session &#8230; there&#8217;s a link to them below.
Download webinar files.


Related posts:Webinar on Charting in FileMaker Pro 11 This coming Wednesday, May 12, [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/05/webinar-on-charting-in-filemaker-pro-11/' rel='bookmark' title='Permanent Link: Webinar on Charting in FileMaker Pro 11'>Webinar on Charting in FileMaker Pro 11</a> <small>This coming Wednesday, May 12, I&#8217;ll be presenting a webinar...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2006/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2006'>FileMaker Developer Conference 2006</a> <small>ADV 304 - Advanced FileMaker Pro Techniques Presented By: Scott...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2007/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2007'>FileMaker Developer Conference 2007</a> <small>INT608 - Integrating with SQL-Based Applications Presented by: Steve Lane...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Thanks to those of you who attended the recent webinar on charting in FileMaker Pro 11.  A number of people have asked about getting the demo files used by Bob Bowers in the session &#8230; there&#8217;s a link to them below.</p>
<p><a href="http://www.soliantconsulting.com/blog/wp-content/uploads/2010/05/fm11chartingwebinar1.zip">Download</a> webinar files.</p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/05/webinar-on-charting-in-filemaker-pro-11/' rel='bookmark' title='Permanent Link: Webinar on Charting in FileMaker Pro 11'>Webinar on Charting in FileMaker Pro 11</a> <small>This coming Wednesday, May 12, I&#8217;ll be presenting a webinar...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2006/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2006'>FileMaker Developer Conference 2006</a> <small>ADV 304 - Advanced FileMaker Pro Techniques Presented By: Scott...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2007/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2007'>FileMaker Developer Conference 2007</a> <small>INT608 - Integrating with SQL-Based Applications Presented by: Steve Lane...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/05/follow-up-to-bob-bowers-webinar-on-charting-in-filemaker-pro-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aggregate FileMaker 11 Filtered Portal Records</title>
		<link>http://www.soliantconsulting.com/blog/2010/05/aggregate-portal-records/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/05/aggregate-portal-records/#comments</comments>
		<pubDate>Wed, 12 May 2010 17:11:59 +0000</pubDate>
		<dc:creator>agutleben</dc:creator>
		
		<category><![CDATA[FileMaker]]></category>

		<category><![CDATA[aggregate]]></category>

		<category><![CDATA[filter]]></category>

		<category><![CDATA[portal]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1242</guid>
		<description><![CDATA[FileMaker 11 introduced many new features that are sure to keep developers busy exploring the possibilities of the product. It is important, however, to understand the ways in which each feature is intended to be used and how. In this post, I&#8217;m going to focus on one new feature in FileMaker 11 - filtered portals.

If [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/11/making-it-easier-for-users-to-omit-inactive-records-in-everyday-finds/' rel='bookmark' title='Permanent Link: Making it easier for users to omit Inactive records in everyday finds'>Making it easier for users to omit Inactive records in everyday finds</a> <small>I&#8217;ve got lots of clients who use a single checkbox...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/11/tables_table_occurrences_relationships/' rel='bookmark' title='Permanent Link: Tables, table occurrences, and relationships'>Tables, table occurrences, and relationships</a> <small> Understanding the difference between a table and a table...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2007/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2007'>FileMaker Developer Conference 2007</a> <small>INT608 - Integrating with SQL-Based Applications Presented by: Steve Lane...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>FileMaker 11 introduced many new features that are sure to keep developers busy exploring the possibilities of the product. It is important, however, to understand the ways in which each feature is intended to be used and how. In this post, I&#8217;m going to focus on one new feature in FileMaker 11 - filtered portals.</p>
<p><span id="more-1242"></span></p>
<p>If you have spent any time with filtered portals, you probably have noticed that you do not get the expected results when you try to aggregate portal records. This is due to the fact that even though the filter is applied, it is applied in the presentation layer only. Aggregate functions operate at the data layer and thus rely on the underlying relationship when returning a result.</p>
<p>Does this mean that you can&#8217;t aggregate portal records when using a FileMaker 11 filtered portal? Absolutely not! There are several ways to aggregate filtered portal records (script triggered process, GetLayoutObjectAttribute () function, etc..) but these methods require a some work to implement.  I recently came across a method demonstrated by Chad Novotny that I had not seen before and was amazed with how elegant and easy it was to implement. </p>
<p>Before I introduce this method, let&#8217;s look at very common method used to aggregate related records&#8230;</p>
<p>In this example, I have a portal on an invoice detail layout which shows me the invoice line items and I&#8217;ve been asked to create a filter so a user can easily locate line items whose totals fall into a range specified by the user; showing the aggregate total. In previous versions of FileMaker, I would create the filter mechanism using a couple of global fields and a multi-predicate relationship. I would then create a new calculation field in my invoice table that has the following formula:</p>
<div class="codesnip-container" >Sum ( inv_LI__Lineitems::Total )</div>
<p>This method works well and will give me the total amount of related line items. Since we can filter records using FileMaker 11&#8217;s portal filter feature, we no longer need to build the filter into the relationship. As I mentioned however, the calculation shown above will not work correctly when using a filtered portal because the calculation formula relies on the relationship criteria, and not the filter criteria to aggregate the related records.</p>
<p>Now, let&#8217;s introduce the method mentioned at the beginning of this post. It&#8217;s very simple to implement. All that&#8217;s required is a summary field in the line items table and a single row portal based on the filtered TO added to the invoice detail layout which contains the filter criteria (essentially, you duplicate the filtered portal to create the new single row portal used for aggregating your portal records). Since you are taking advantage of a summary field, you eliminate the need for  additional fields to aggregate the related records. What I like best about this technique is that it can be used for aggregating portal records any time, whether you&#8217;re working around FileMaker 11&#8217;s portal filtering behavior or just wanting to aggregate portal records in current or previous versions of FileMaker.</p>
<p>Feel free to <a href="http://www.soliantconsulting.com/blog/wp-content/uploads/2010/05/20100512_aggregatefilteredportalfp7.zip">download an example</a> that demonstrates the method discussed here.</p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/11/making-it-easier-for-users-to-omit-inactive-records-in-everyday-finds/' rel='bookmark' title='Permanent Link: Making it easier for users to omit Inactive records in everyday finds'>Making it easier for users to omit Inactive records in everyday finds</a> <small>I&#8217;ve got lots of clients who use a single checkbox...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/11/tables_table_occurrences_relationships/' rel='bookmark' title='Permanent Link: Tables, table occurrences, and relationships'>Tables, table occurrences, and relationships</a> <small> Understanding the difference between a table and a table...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2007/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2007'>FileMaker Developer Conference 2007</a> <small>INT608 - Integrating with SQL-Based Applications Presented by: Steve Lane...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/05/aggregate-portal-records/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webinar on Charting in FileMaker Pro 11</title>
		<link>http://www.soliantconsulting.com/blog/2010/05/webinar-on-charting-in-filemaker-pro-11/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/05/webinar-on-charting-in-filemaker-pro-11/#comments</comments>
		<pubDate>Mon, 10 May 2010 20:28:57 +0000</pubDate>
		<dc:creator>bbowers</dc:creator>
		
		<category><![CDATA[FileMaker]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Charting]]></category>

		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1236</guid>
		<description><![CDATA[This coming Wednesday, May 12, I&#8217;ll be presenting a webinar on the new charting features of FileMaker Pro 11.  This event is part of an ongoing series of webinars from FileMaker, Inc, and I&#8217;m honored to have been asked to be the presenter for this important new feature.
My objective for the webinar will be [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/05/follow-up-to-bob-bowers-webinar-on-charting-in-filemaker-pro-11/' rel='bookmark' title='Permanent Link: Follow up to Bob Bowers&#8217; Webinar on Charting in FileMaker Pro 11'>Follow up to Bob Bowers&#8217; Webinar on Charting in FileMaker Pro 11</a> <small>Thanks to those of you who attended the recent webinar...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2006/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2006'>FileMaker Developer Conference 2006</a> <small>ADV 304 - Advanced FileMaker Pro Techniques Presented By: Scott...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>This coming Wednesday, May 12, I&#8217;ll be presenting a webinar on the new charting features of FileMaker Pro 11.  This event is part of an ongoing series of webinars from FileMaker, Inc, and I&#8217;m honored to have been asked to be the presenter for this important new feature.</p>
<p>My objective for the webinar will be to provide a thorough introduction to the new charting capabilities.  (Well, at least as thorough as one can provide in under an hour.)  I&#8217;ll focus heavily on the methods for specifying the data series, but I&#8217;ll also cover some general reporting principles and provide some tips and ideas to help you get started.</p>
<p>If you&#8217;re interested in attending the webinar, you can <a href="https://filemakerevents.webex.com/">register here</a>.  And if you can&#8217;t make it on Wednesday (10am and 1pm Central time), a recording will be available afterwards.  Hope to see you there.</p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2010/05/follow-up-to-bob-bowers-webinar-on-charting-in-filemaker-pro-11/' rel='bookmark' title='Permanent Link: Follow up to Bob Bowers&#8217; Webinar on Charting in FileMaker Pro 11'>Follow up to Bob Bowers&#8217; Webinar on Charting in FileMaker Pro 11</a> <small>Thanks to those of you who attended the recent webinar...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/02/filemaker-developer-conference-2006/' rel='bookmark' title='Permanent Link: FileMaker Developer Conference 2006'>FileMaker Developer Conference 2006</a> <small>ADV 304 - Advanced FileMaker Pro Techniques Presented By: Scott...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/05/webinar-on-charting-in-filemaker-pro-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creating Dynamic Summary Charts</title>
		<link>http://www.soliantconsulting.com/blog/2010/04/dynamic-charts/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/04/dynamic-charts/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 23:20:44 +0000</pubDate>
		<dc:creator>Dawn Heady</dc:creator>
		
		<category><![CDATA[FileMaker]]></category>

		<category><![CDATA[Charting]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1198</guid>
		<description><![CDATA[

The new Chart Tool of FileMaker Pro 11 is very powerful; it allows for the charting of a variety of data sources. One of the data types supported is &#8220;Current Found Set&#8221; and when the option &#8220;Show data points for groups of records when sorted&#8221; is selected, the chart can display summary field values. It&#8217;s [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/07/use-new-windows-to-preserve-state/' rel='bookmark' title='Permanent Link: Use New Windows to Preserve State'>Use New Windows to Preserve State</a> <small>One of our collective pet-peeves at Soliant is when a...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><!--StartFragment--></p>
<p class="MsoNormal"><!--StartFragment--></p>
<p class="MsoNormal">The new Chart Tool of FileMaker Pro 11 is very powerful; it allows for the charting of a variety of data sources. One of the data types supported is &#8220;Current Found Set&#8221; and when the option &#8220;Show data points for groups of records when sorted&#8221; is selected, the chart can display summary field values. It&#8217;s basically the graphical equivalent of a summary report that only includes sub-summary parts without a body part.</p>
<p class="MsoNormal">When programming a chart using summary data it is important to keep in mind that the resulting chart varies with the current sort. If the user were to change the sort, the values displayed will also change. This dependency requires great care to ensure the chart title and labels stay in synch with the data represented. Because chart data can be specified via the calculation engine, the chart title, labels, and even the data itself can be dynamic and thus can always stay in synch with the sort.</p>
<div id="attachment_1199" class="wp-caption alignnone" style="width: 586px"><a href="http://www.soliantconsulting.com/blog/wp-content/uploads/2010/04/dynamic_chart_demo_screen.png"><img class="size-full wp-image-1199          " src="http://www.soliantconsulting.com/blog/wp-content/uploads/2010/04/dynamic_chart_demo_screen.png" alt="The Dynamic_Summary_Chart_Demo.fp7 file." width="576" height="531" /></a><p class="wp-caption-text">The demonstration parses the snapshot&#39;s XML to determine the current sort and calculate the chart&#39;s content.</p></div>
<p>In the demonstration file <strong>Dynamic_Summary_Chart_Demo.fp7</strong> there is only one chart, but it dynamically updates based on the users found set and sort. The chart has several important features:</p>
<ul>
<li>When the user selects the sort button &#8220;Year&#8221; or &#8220;Month&#8221;, a script performs a hard-coded sort of the current found data and stores three bits of information about the sort in global fields: sort type, sort table, and sort field. The chart&#8217;s calculations reference these global fields when determining what title, labels, and data to display.</li>
<li>When the found set is changed, either by clicking one of the on-screen find buttons or by performing the menu command &#8220;View &gt; Find Mode&#8221;, the data is re-sorted and the chart refreshed.</li>
<li>When the data is unsorted, the chart calculates to display no bars and the Chart Title will display a message encouraging the user to sort the data.</li>
<li>By making use of another new feature of FileMaker 11, <strong>Save Records As </strong><strong>Snapshot Link</strong>, the user can even perform a manual sort of their own choosing and the script will parse the snapshot&#8217;s XML to determine the user&#8217;s sort table and sort field. Once the script populates the global fields of sort information, the chart&#8217;s calculations will dynamically update.</li>
<li>Because there is no ScriptTrigger that executes every time the sort is changed, the solution makes use of Custom Menus so that Sort and Find Mode commands are fully supported.</li>
</ul>
<p class="MsoNormal">The demonstration file is unlocked and contains a video to further describe its methods. Download the file at:  <a href="http://www.soliantconsulting.com/blog/wp-content/uploads/2010/04/soliant_dynamic_summary_chart_demo.zip">soliant_dynamic_summary_chart_demo.zip</a></p>
<address><strong>Dawn Heady</strong> is a Technical Project Lead for Soliant Consulting. During her 20 years as a FileMaker Developer she has been a business owner, a CIO in the credit restoration industry and the Vice President of a company specializing in FileMaker plug-ins. Dawn is a FileMaker 11 Authorized Trainer, a regular DevCon speaker, and a FileMaker 7 Idol finalist for her solution “Interface-RAD”.</address>
<p><!--EndFragment--></p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/07/use-new-windows-to-preserve-state/' rel='bookmark' title='Permanent Link: Use New Windows to Preserve State'>Use New Windows to Preserve State</a> <small>One of our collective pet-peeves at Soliant is when a...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/04/dynamic-charts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shifting Columns in Cross Tab Reports</title>
		<link>http://www.soliantconsulting.com/blog/2010/02/shifting-columns-in-cross-tab-reports/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/02/shifting-columns-in-cross-tab-reports/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 21:11:23 +0000</pubDate>
		<dc:creator>rjacques</dc:creator>
		
		<category><![CDATA[FileMaker]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1161</guid>
		<description><![CDATA[One of the 2009 Devcon presentations that I enjoyed the most was a session where John Sindelar presented the concept of using unstored calculated repeating fields to simplify code. The basic concept is that the calculation engine fires once for each repetition in a repeating calculated field, and through use of the Get(CalculationRepetitionNumber) function, you [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>One of the 2009 Devcon presentations that I enjoyed the most was a session where John Sindelar presented the concept of using unstored calculated repeating fields to simplify code. The basic concept is that the calculation engine fires once for each repetition in a repeating calculated field, and through use of the Get(CalculationRepetitionNumber) function, you can have each repetition do something unique when it evaluated.</p>
<p>A very handy use of this is for cross tab reports, where each repetition can pull in data from a different table occurrence. The end result is that a cross tab report can be generated with a fraction of the fields that it would take to do this with separate calc fields for each cell.</p>
<p>Say, for example, that you have a cross tab report that shows categories running across the top of the report, and states running down the left, like this:<br />
<img src="http://www.soliantconsulting.com/blog/wp-content/uploads/2009/12/crosstab_example.png" alt="Cross Tab Example" /></p>
<p>In this example, the rows of categories are actually a repeating field that is displaying all its repetitions on the layout in a horizontal format. The calculation defined within the repeating field is simple:</p>
<div class="codesnip-container" >Case(Get(CalculationRepetitionNumber) = 1; CategoryTO_01::CategoryField:<br />
Get(CalculationRepetitionNumber) = 2; CategoryTO_02::CategoryField:<br />
Get(CalculationRepetitionNumber) = 3; CategoryTO_03::CategoryField:<br />
Get(CalculationRepetitionNumber) = 4; CategoryTO_04::CategoryField:)</div>
<p>Every time the calc fires, it checks to see what repetition is it displaying, and pulls in data from the correct table occurrence.  In this way, a single field with N repetitions can be used to create a cross-tab display with N columns, rather than needing to have one field per column.  </p>
<p>In the course of using this technique, I&#8217;ve found additional ways in which one can accomplish things more easily than using the &#8220;one field per cell&#8221; method. An example of this would be shifting columns in a cross tab report to omit columns that are empty.</p>
<p>The example code above includes all categories (all columns) regardless of whether there is data or not to display. In order to omit empty columns, just a few extra steps are required.</p>
<p>First, you&#8217;ll need a list of all possible columns, in the order that they appear. This list needs to exist in the global space, so a global field or global variable is required. Your list of all columns looks something like this:</p>
<div class="codesnip-container" >Wallpaper<br />
Bath Accesories<br />
Bath Fixtures<br />
Bath Linen</div>
<p>You can hard code these values, or extract them with a script.</p>
<p>At this point you have a repeating field that displays all of the columns, regardless of whether or not they contain data, and you have a list of all columns, in the same order as the repetitions. Let&#8217;s call the repeating field &#8220;fullRepeatingField&#8221; and the list of column names &#8220;longList.&#8221;</p>
<p>Next, you need a list of columns that you wish to include in your final output. In other words, you need a list of columns that contain data. One way to do this is to do a &#8220;Count()&#8221; through each of the TOs that pull in data for the repeating field. Let&#8217;s call the list that holds the columns that we wish to include &#8220;shortList.&#8221; A calculation, in the form of Set Variable or Set Field,  in a looping script is a good way to extract these values, and the calc would look something like this:</p>
<div class="codesnip-container" >If(Count(CategoryTO_01::PrimaryKey);<br />
shortList&amp;GetValue(longList;1)&amp;&#8221;¶&#8221;;shortList)</div>
<p>This calculation says: &#8220;If there are any categories for the first column, add that column name to the list of columns that have data, otherwise, leave the list of columns that have data alone.&#8221;</p>
<p>The order of these values determines the order that the columns display (topmost category is the leftmost column). In fact, you can use this method to sort columns as well as remove empty columns.</p>
<p>The final piece that you need is to create another unstored repeating calculation field to display the categories that have data. The calculation for this repeating field is the heart of the technique:</p>
<div class="codesnip-container" >Let([vThisCategory = GetValue(shortList;GetCalculationRepetitionNumber);<br />
// #1vPositionInFullDataSet = fnGetValuePosition(longList;vThisCategory)//<br />
#2];fullRepeatingField[vPositionInFullDataSet] //#3)</div>
<p>Comments:<br />
#1: The variable vThisCategory pulls in the name of the category that we want to show in this repetition. The first value goes into the first repetition, the second value goes into the second repetition, etc. In our example, if FileMaker is displaying the first repetition, this variable holds the text &#8220;Wallpaper&#8221;<br />
#2: We need to know which repetition in the full dataset to find the value we need, that position is equivalent to the position of the category name in longList (because we set it up that way when we created longList.) Note that there is a call to a custom function &#8220;fnGetValuePosition;&#8221; you can find a similar custom function here:<br />
&lt;A href=&#8221;http://www.briandunning.com/cf/62&#8243;&gt;http://www.briandunning.com/cf/62&lt;/A&gt;<br />
If you don&#8217;t have FileMaker Advanced, you can copy the code of the custom function into the calculation dialog. It&#8217;s essentially just a text parsing exercise.<br />
#3: The last part is to pull the correct value out of the repeating field that hold all of the values. The repeating field notation makes this very easy, once we know which repetition that we want.</p>
<p>This article shows how to reduce the number of fields needed to create a cross-tab report, then how to manipulate &#8220;columns&#8221; in repeating fields by comparing two lists. I hope you find it useful!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/02/shifting-columns-in-cross-tab-reports/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP&#8217;s max_execution_time different on Windows and Linux</title>
		<link>http://www.soliantconsulting.com/blog/2010/02/phps-max_execution_time-different-on-windows-and-linux/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/02/phps-max_execution_time-different-on-windows-and-linux/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 21:13:21 +0000</pubDate>
		<dc:creator>tandrews</dc:creator>
		
		<category><![CDATA[PHP/Web]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1182</guid>
		<description><![CDATA[On Windows, the PHP INI variable, &#8220;max_execution_time,&#8221; is the maximum clock time between when the PHP process starts and when it finishes.
On Linux and OS X, the same variable represents the maximum CPU time that the PHP process can take.  CPU time is less than clock time because processes on Linux (and OS X) contend [...]


Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/04/simplify-fmsadmin-from-windows-cmd-prompt/' rel='bookmark' title='Permanent Link: Simplify fmsadmin from Windows cmd prompt'>Simplify fmsadmin from Windows cmd prompt</a> <small>On an email thread I was participating in today, Caleb...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/07/use-new-windows-to-preserve-state/' rel='bookmark' title='Permanent Link: Use New Windows to Preserve State'>Use New Windows to Preserve State</a> <small>One of our collective pet-peeves at Soliant is when a...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>On Windows, the PHP INI variable, &#8220;max_execution_time,&#8221; is the maximum clock time between when the PHP process starts and when it finishes.</p>
<p>On Linux and OS X, the same variable represents the maximum CPU time that the PHP process can take.  CPU time is less than clock time because processes on Linux (and OS X) contend for CPU time, and sometimes sit idle.</p>
<p>For example, if you have a PHP program which makes a request to a web service, like FileMaker&#8217;s Custom Web Publishing, on Linux, the time the PHP program waits for a response is not counted, while on Windows, it does.</p>
<p>You can see this by running the script:</p>
<blockquote><pre>&lt;?php

    set_time_limit(15); /* Sets max_execution_time */
    sleep(30); /* Wait thirty seconds */
    echo "Hello World!\n";

?&gt;</pre>
</blockquote>
<p>If you run this on Windows, it will fail with an error message, but on Linux or OS X, the time spent sleeping is time the process is &#8220;idle,&#8221; so the execution time is considered to be almost zero.</p>


<p>Related posts:<ol><li><a href='http://www.soliantconsulting.com/blog/2009/04/simplify-fmsadmin-from-windows-cmd-prompt/' rel='bookmark' title='Permanent Link: Simplify fmsadmin from Windows cmd prompt'>Simplify fmsadmin from Windows cmd prompt</a> <small>On an email thread I was participating in today, Caleb...</small></li><li><a href='http://www.soliantconsulting.com/blog/2009/07/use-new-windows-to-preserve-state/' rel='bookmark' title='Permanent Link: Use New Windows to Preserve State'>Use New Windows to Preserve State</a> <small>One of our collective pet-peeves at Soliant is when a...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/02/phps-max_execution_time-different-on-windows-and-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook unveils PHP compiler, HipHop</title>
		<link>http://www.soliantconsulting.com/blog/2010/02/facebook-unveils-php-compiler-hiphop/</link>
		<comments>http://www.soliantconsulting.com/blog/2010/02/facebook-unveils-php-compiler-hiphop/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 14:18:19 +0000</pubDate>
		<dc:creator>tandrews</dc:creator>
		
		<category><![CDATA[PHP/Web]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.soliantconsulting.com/blog/?p=1180</guid>
		<description><![CDATA[Yesterday, Facebook announced a new PHP runtime technology, HipHop, which allows PHP applications to run significantly faster.


No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Facebook announced a new PHP runtime technology, <a title="http://developers.facebook.com/news.php?blog%C7%A9&amp;story%E0%BD%9D8" href="http://" target="_blank">HipHop</a>, which allows PHP applications to run significantly faster.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soliantconsulting.com/blog/2010/02/facebook-unveils-php-compiler-hiphop/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
