<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.0.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Scribbly Thoughts</title>
		<link>http://scribbly.mitupela.net/blogs/index.php</link>
		<atom:link rel="self" type="application/rss+xml" href="http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2" />
		<description>I did wonder about random scribbles up the wrong tree...</description>
		<language>en-AU</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=4.0.3"/>
		<ttl>60</ttl>
				<item>
			<title>FlowLayoutPanel Bug</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=78&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Thu, 23 Dec 2010 13:16:16 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">78@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;The new year is fast approaching and I get this feeling like ContactFX isn&#039;t going to get done for &lt;a href=&quot;http://www.donationcoder.com/forum/index.php?board=299.0&quot; target=&quot;_blank&quot;&gt;NANY 2011&lt;/a&gt; &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_sad.gif&quot; title=&quot;:(&quot; alt=&quot;:(&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;

&lt;p&gt;But I&#039;m trying to at least get a cut down version happening.&lt;/p&gt;

&lt;p&gt;I&#039;ve been working on the Address Control (which is admittedly fairly complex, but I thought it&#039;s a main field of an address card... surely?), and I thought that the layout code was just about done. But to my shock / horror / anger the control failed to layout correctly in the FlowLayOut Panel!! But only when the preceding control had a FlowBreak applied... &lt;/p&gt;

&lt;p&gt;So, off to search the internet for an answer... and very quickly discovered that &lt;a href=&quot;http://tech.rofas.net/page/about.aspx&quot; target=&quot;_blank&quot;&gt;Yauhen Safrankou&lt;/a&gt; had only recently solved the same problem. Well, in fact, the problem was &quot;solved&quot; by &lt;a href=&quot;http://social.msdn.microsoft.com/profile/lewisg/?type=forum&amp;amp;referrer=http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/02ef18fa-538e-4936-b964-e6af2cdee94f&quot; target=&quot;_blank&quot;&gt;LewisG&lt;/a&gt; over at &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/winforms/threads&quot; target=&quot;_blank&quot;&gt;Windows Forms General&lt;/a&gt;: &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/02ef18fa-538e-4936-b964-e6af2cdee94f&quot; target=&quot;_blank&quot;&gt;Flowlayoutpanel flowbreak bug. It creates unwanted empty space&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To quote Yauhen:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;It seems the height of the gap is the same as the height of the second control following after the flow break. And the workaround to get rid of the gap is to add an additional panel of zero size just after the flow break.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Quoted from &lt;a href=&quot;http://tech.rofas.net/post/workaround-an-old-bug-in-FlowBreak-of-FlowLayoutPanel.aspx&quot; target=&quot;_blank&quot;&gt;Workaround an old bug in FlowBreak of FlowLayoutPanel&lt;/a&gt; (&lt;em&gt;at Friday, 24 December 2010 12:13:13 AM&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;The internet is a wonderful thing when it works &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_biggrin.gif&quot; title=&quot;:D&quot; alt=&quot;:D&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>The new year is fast approaching and I get this feeling like ContactFX isn't going to get done for <a href="http://www.donationcoder.com/forum/index.php?board=299.0" target="_blank">NANY 2011</a> <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_sad.gif" title=":(" alt=":(" class="middle" width="15" height="15" /></p>

<p>But I'm trying to at least get a cut down version happening.</p>

<p>I've been working on the Address Control (which is admittedly fairly complex, but I thought it's a main field of an address card... surely?), and I thought that the layout code was just about done. But to my shock / horror / anger the control failed to layout correctly in the FlowLayOut Panel!! But only when the preceding control had a FlowBreak applied... </p>

<p>So, off to search the internet for an answer... and very quickly discovered that <a href="http://tech.rofas.net/page/about.aspx" target="_blank">Yauhen Safrankou</a> had only recently solved the same problem. Well, in fact, the problem was "solved" by <a href="http://social.msdn.microsoft.com/profile/lewisg/?type=forum&amp;referrer=http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/02ef18fa-538e-4936-b964-e6af2cdee94f" target="_blank">LewisG</a> over at <a href="http://social.msdn.microsoft.com/Forums/en-US/winforms/threads" target="_blank">Windows Forms General</a>: <a href="http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/02ef18fa-538e-4936-b964-e6af2cdee94f" target="_blank">Flowlayoutpanel flowbreak bug. It creates unwanted empty space</a>.</p>

<p>To quote Yauhen:</p>
<blockquote><p>It seems the height of the gap is the same as the height of the second control following after the flow break. And the workaround to get rid of the gap is to add an additional panel of zero size just after the flow break.</p></blockquote>
<p>Quoted from <a href="http://tech.rofas.net/post/workaround-an-old-bug-in-FlowBreak-of-FlowLayoutPanel.aspx" target="_blank">Workaround an old bug in FlowBreak of FlowLayoutPanel</a> (<em>at Friday, 24 December 2010 12:13:13 AM</em>).</p>

<p>The internet is a wonderful thing when it works <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_biggrin.gif" title=":D" alt=":D" class="middle" width="15" height="15" /></p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=78&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=78</wfw:commentRss>
		</item>
				<item>
			<title>ContactFX :: Functions</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=77&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Thu, 14 Oct 2010 03:24:45 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">77@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;We&#039;ve all grown up with spreadsheets and the ability to reference other cells and perform functions on other values, and probably rarely think how much that has changed our calculation experience... we just do it now.&lt;/p&gt;

&lt;p&gt;So it seemed natural to include those abilities into Contact&lt;em&gt;FX&lt;/em&gt; as our relationships are often much more complex than our spreadsheets.&lt;/p&gt;

&lt;p&gt;I discussed in &lt;a href=&quot;http://scribbly.mitupela.net/blogs/index.php?p=76&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1&quot;&gt;this post&lt;/a&gt; about field linking: that&#039;s the ability to include values from other fields and other contacts (even contacts from other file locations) into the contact data.&lt;/p&gt;

&lt;p&gt;Functions add the ability to manipulate the linked data. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current Functions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initialise&lt;/strong&gt;&lt;br /&gt;
Return the upper case initial letter plus a period (&quot;.&quot;)&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ INITIALISE name.additional }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the text in the Additional Name field is &quot;perry&quot; the above function will return &quot;P.&quot;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ INITIALISE &quot;some string&quot; }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Will return &quot;S.&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UCase&lt;/strong&gt;&lt;br /&gt;
Return the upper case of the string.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ UCASE 1#name.family }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the text in the Family Name field of Contact #1 is &quot;mowbray&quot; the above function will return &quot;MOWBRAY&quot;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ UCASE &quot;thiS Is a MiXeD sTrInG&quot; }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This will return &quot;THIS IS A MIXED STRING&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Join&lt;/strong&gt;&lt;br /&gt;
This is a conditional join: if the object being joined is non-blank then it is joined to the previous joined result with the constant.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ JOIN &#039;, &#039; [ &quot;me&quot; , name.additional , { UCASE name.additional(2) } ] }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the text in the first Additional Name is &quot;myself&quot; and the text in the second Additional Name field is &quot;i&quot; then the above function will return &quot;me, myself, I&quot;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ JOIN &#039; :: &#039; [ &quot;me&quot; , &quot;&quot; , &quot;you&quot; ] }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Will return &quot;me :: you&quot;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ternary&lt;/strong&gt;&lt;br /&gt;
Well, like a ternary... if the Object is blank then the constant is returned otherwise the Object is returned.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ name.additional ?? &#039;Additional Name is empty&#039; }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the Additional Name field is empty then the above function will return the constant &quot;Additional Name is empty&quot;.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ &quot;&quot; ?? &#039;Empty String&#039; }&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Will return &quot;Empty String&quot;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conditional Pad&lt;/strong&gt;&lt;br /&gt;
Pad the string with a constant if the string is not blank.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;{ &#039;Mr. &#039; &amp;amp;&amp;amp; name.family}&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the text in the Family Name field is empty the above function will return an empty string &quot;&quot;.&lt;/p&gt;

&lt;p&gt;If the Family Name field has the text &quot;Mowbray&quot; the above function will return &quot;Mr. Mowbray&quot;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;{ name.family &amp;amp;&amp;amp; &#039; esq.&#039;}&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the text in the Family Name field is empty the above function will return an empty string &quot;&quot;.&lt;/p&gt;

&lt;p&gt;If the Family Name field has the text &quot;Mowbray&quot; the above function will return &quot;Mowbray esq.&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A real life example&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;{ { JOIN &#039; &#039; [ name.given , { INITIALISE name.additional } , { UCASE name.family } ] } ?? &#039;New Entry&#039; }&quot; /&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;When entered into the displayName field:&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;When&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Given Name = &quot;Perry&quot;&lt;/li&gt;

  &lt;li&gt;Additional Name = &quot;&quot;&lt;/li&gt;

  &lt;li&gt;Family Name = &quot;Mowbray&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Then&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
Display Name will display: &quot;Perry MOWBRAY&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;When&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Given Name = &quot;Sandra&quot;&lt;/li&gt;

  &lt;li&gt;Additional Name = &quot;Jane&quot;&lt;/li&gt;
  &lt;li&gt;
Family Name = &quot;Mowbray&quot;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Then&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
Display Name = &quot;Sandra J. MOWBRAY&quot;&lt;/p&gt;

&lt;p&gt;Some other files that you can play with have been posted over on &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?topic=22723.0&quot; target=&quot;_blank&quot;&gt;DonationCoder&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="" title="" width="64" height="64" align="right" />We've all grown up with spreadsheets and the ability to reference other cells and perform functions on other values, and probably rarely think how much that has changed our calculation experience... we just do it now.</p>

<p>So it seemed natural to include those abilities into Contact<em>FX</em> as our relationships are often much more complex than our spreadsheets.</p>

<p>I discussed in <a href="http://scribbly.mitupela.net/blogs/index.php?p=76&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">this post</a> about field linking: that's the ability to include values from other fields and other contacts (even contacts from other file locations) into the contact data.</p>

<p>Functions add the ability to manipulate the linked data. </p>

<p><strong>Current Functions</strong></p>

<p><strong>Initialise</strong><br />
Return the upper case initial letter plus a period (".")</p>
<blockquote><p>{ INITIALISE name.additional }</p></blockquote>
<p>If the text in the Additional Name field is "perry" the above function will return "P."</p>
<blockquote><p>{ INITIALISE "some string" }</p></blockquote>
<p>Will return "S."</p>

<p><strong>UCase</strong><br />
Return the upper case of the string.</p>
<blockquote><p>{ UCASE 1#name.family }</p></blockquote>
<p>If the text in the Family Name field of Contact #1 is "mowbray" the above function will return "MOWBRAY"</p>
<blockquote><p>{ UCASE "thiS Is a MiXeD sTrInG" }</p></blockquote>
<p>This will return "THIS IS A MIXED STRING"</p>

<p><strong>Join</strong><br />
This is a conditional join: if the object being joined is non-blank then it is joined to the previous joined result with the constant.</p>
<blockquote><p>{ JOIN ', ' [ "me" , name.additional , { UCASE name.additional(2) } ] }</p></blockquote>
<p>If the text in the first Additional Name is "myself" and the text in the second Additional Name field is "i" then the above function will return "me, myself, I"</p>
<blockquote><p>{ JOIN ' :: ' [ "me" , "" , "you" ] }</p></blockquote>
<p>Will return "me :: you".</p>

<p><strong>Ternary</strong><br />
Well, like a ternary... if the Object is blank then the constant is returned otherwise the Object is returned.</p>
<blockquote><p>{ name.additional ?? 'Additional Name is empty' }</p></blockquote>
<p>If the Additional Name field is empty then the above function will return the constant "Additional Name is empty".</p>
<blockquote><p>{ "" ?? 'Empty String' }</p></blockquote>
<p>Will return "Empty String".</p>

<p><strong>Conditional Pad</strong><br />
Pad the string with a constant if the string is not blank.</p>
<blockquote><p>{ 'Mr. ' &amp;&amp; name.family}</p></blockquote>
<p>If the text in the Family Name field is empty the above function will return an empty string "".</p>

<p>If the Family Name field has the text "Mowbray" the above function will return "Mr. Mowbray"</p>

<blockquote><p>{ name.family &amp;&amp; ' esq.'}</p></blockquote>
<p>If the text in the Family Name field is empty the above function will return an empty string "".</p>

<p>If the Family Name field has the text "Mowbray" the above function will return "Mowbray esq."</p>

<p><strong>A real life example</strong></p>
<blockquote>
<p>{ { JOIN ' ' [ name.given , { INITIALISE name.additional } , { UCASE name.family } ] } ?? 'New Entry' }" /></p></blockquote>

<p>When entered into the displayName field:<br />
<strong><em>When</em></strong></p>
<ul>
  <li>Given Name = "Perry"</li>

  <li>Additional Name = ""</li>

  <li>Family Name = "Mowbray"</li>
</ul>
<p><strong><em>Then</em></strong><br />
Display Name will display: "Perry MOWBRAY"</p>

<p><strong><em>When</em></strong></p>
<ul>
  <li>Given Name = "Sandra"</li>

  <li>Additional Name = "Jane"</li>
  <li>
Family Name = "Mowbray"</li>
</ul>

<p><strong><em>Then</em></strong><br />
Display Name = "Sandra J. MOWBRAY"</p>

<p>Some other files that you can play with have been posted over on <a href="http://www.donationcoder.com/Forums/bb/index.php?topic=22723.0" target="_blank">DonationCoder</a>.</p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=77&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=77</wfw:commentRss>
		</item>
				<item>
			<title>ContactFX :: Field Linking</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=76&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Thu, 30 Sep 2010 13:16:50 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="alt">FARR</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">76@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;One of the main (if not neat) features that&#039;s driven Contact&lt;em&gt;FX&lt;/em&gt; is the ability to enter data once and be able to link to it from other records: thus saving time when making changes.&lt;/p&gt;

&lt;p&gt;There will be two methods of linking or rehashing contact data:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Field Source&lt;/li&gt;
  &lt;li&gt;Link Fields&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I&#039;ll leave Link Fields for another time and concentrate on Field Source for now...&lt;/p&gt;

&lt;p&gt;Contact&lt;em&gt;FX&lt;/em&gt; allows you to use the field value of another field, either from the same contact or a different contact (and eventually even a different addressbook) to the field being edited. The Contact / Field is specified using a source string.&lt;/p&gt;

&lt;p&gt;To demonstrate the functionality I&#039;ve set up two &lt;em&gt;fictitious&lt;/em&gt; contacts, Sandi and Perry. The data from Sandi&#039;s record being displayed on Perry&#039;s record. Sandi&#039;s record has been set up with Given, Additional and Family names, I&#039;ve added an extra Additional name and changed the label to Maiden Name: &lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandi.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;618&quot; height=&quot;275&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Perry&#039;s record has his own Given and Family names plus links to Sandi&#039;s Formatted Name, middle name and her maiden name:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/perry.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;505&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Links can be created by using the &lt;strong&gt;Link Effect&lt;/strong&gt; when dragging and dropping:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/LinkEffect.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;496&quot; height=&quot;266&quot; /&gt;&lt;/p&gt;

&lt;p&gt;...or by typing directly into the Field&#039;s text box (link source must be prefaced with an equals character &quot;=&quot;). Once links are created they will update automatically when the contact is opened or manually using the Refresh button on the menu. Source links can reference fields that are themselves referencing other fields, and so on...&lt;/p&gt;

&lt;p&gt;Sandi&#039;s Formatted Name demonstrates linking to the same contact&#039;s fields:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandiInEdit.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;618&quot; height=&quot;275&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Link references can be in the form: &lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;ContactID#FieldID&lt;/li&gt;
  &lt;li&gt;ContactID#FieldName&lt;/li&gt;
  &lt;li&gt;ContactID#FieldName( index )&lt;/li&gt;
  &lt;li&gt;ContactGUID can be used instead if ContactID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When dragging and dropping &lt;strong&gt;ContactID&lt;/strong&gt; &amp;amp; &lt;strong&gt;ControlID&lt;/strong&gt; are used:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/wife.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;647&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The &quot;wife&#039;s middle name&quot; field demonstrates a typed-in link in ContactGUID#FieldName format:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/wifesmiddlename.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;647&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The &quot;Sandi&#039;s Maiden name&quot; field demonstrates using the FieldName() format. Because multiple &quot;Additional Name&quot; fields were used, this format gives the ability to reference a particular field.&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandismaidenname.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;647&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Note that the label on that field linked to Sandi&#039;s dislayname:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/editlabel.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;647&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;

&lt;p&gt;ContactFX does simple error checking on the source string and highlights the first problem area. The following example shows a misspelt function name:&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/highlighterror.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;618&quot; height=&quot;275&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="" title="" width="64" height="64" align="right" />One of the main (if not neat) features that's driven Contact<em>FX</em> is the ability to enter data once and be able to link to it from other records: thus saving time when making changes.</p>

<p>There will be two methods of linking or rehashing contact data:</p>
<ol>
  <li>Field Source</li>
  <li>Link Fields</li>
</ol>

<p>I'll leave Link Fields for another time and concentrate on Field Source for now...</p>

<p>Contact<em>FX</em> allows you to use the field value of another field, either from the same contact or a different contact (and eventually even a different addressbook) to the field being edited. The Contact / Field is specified using a source string.</p>

<p>To demonstrate the functionality I've set up two <em>fictitious</em> contacts, Sandi and Perry. The data from Sandi's record being displayed on Perry's record. Sandi's record has been set up with Given, Additional and Family names, I've added an extra Additional name and changed the label to Maiden Name: <br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandi.png" alt="" title="" width="618" height="275" /></p>

<p>Perry's record has his own Given and Family names plus links to Sandi's Formatted Name, middle name and her maiden name:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/perry.png" alt="" title="" width="505" height="312" /></p>

<p>Links can be created by using the <strong>Link Effect</strong> when dragging and dropping:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/LinkEffect.png" alt="" title="" width="496" height="266" /></p>

<p>...or by typing directly into the Field's text box (link source must be prefaced with an equals character "="). Once links are created they will update automatically when the contact is opened or manually using the Refresh button on the menu. Source links can reference fields that are themselves referencing other fields, and so on...</p>

<p>Sandi's Formatted Name demonstrates linking to the same contact's fields:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandiInEdit.png" alt="" title="" width="618" height="275" /></p>

<p>Link references can be in the form: </p>
<ul>
  <li>ContactID#FieldID</li>
  <li>ContactID#FieldName</li>
  <li>ContactID#FieldName( index )</li>
  <li>ContactGUID can be used instead if ContactID</li>
</ul>

<p>When dragging and dropping <strong>ContactID</strong> &amp; <strong>ControlID</strong> are used:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/wife.png" alt="" title="" width="647" height="312" /></p>

<p>The "wife's middle name" field demonstrates a typed-in link in ContactGUID#FieldName format:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/wifesmiddlename.png" alt="" title="" width="647" height="312" /></p>

<p>The "Sandi's Maiden name" field demonstrates using the FieldName() format. Because multiple "Additional Name" fields were used, this format gives the ability to reference a particular field.<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/sandismaidenname.png" alt="" title="" width="647" height="312" /></p>

<p>Note that the label on that field linked to Sandi's dislayname:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/editlabel.png" alt="" title="" width="647" height="312" /></p>

<p>ContactFX does simple error checking on the source string and highlights the first problem area. The following example shows a misspelt function name:<br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/highlighterror.png" alt="" title="" width="618" height="275" /></p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=76&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=76</wfw:commentRss>
		</item>
				<item>
			<title>ContactFX :: Snippet for Comment</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=75&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Wed, 18 Aug 2010 12:18:49 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">75@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;I&#039;ve released a &lt;em&gt;&quot;Snippet for Comment&quot;&lt;/em&gt; over on &lt;a href=&quot;http://www.donationcoder.com/index.html&quot; target=&quot;_blank&quot;&gt;DonationCoder&lt;/a&gt; to get some feedback of the directions the project is taking: &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?topic=22723.0&quot; target=&quot;_blank&quot;&gt;NANY 2011 Teaser: ContactFX 0.0.1.3&lt;/a&gt; (NANY calls them Teasers).&lt;/p&gt;

&lt;p&gt;To run the application just download, unzip and run... the application should perform properly in portable mode.&lt;/p&gt;

&lt;p&gt;At the moment all you can do is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Addressbook&lt;br /&gt;
  &lt;ul&gt;
    &lt;li&gt;Create a new contact&lt;br /&gt;
      &lt;ul&gt;
        &lt;li&gt;Add fields to the Contact by dragging from the Control Pallet&lt;br /&gt;
          &lt;ul&gt;
            &lt;li&gt;Edit the fields&lt;br /&gt;
              &lt;ul&gt;
                &lt;li&gt;Add values&lt;/li&gt;
                &lt;li&gt;Edit labels (via context menu)&lt;br /&gt;
                  &lt;ul&gt;
                    &lt;li&gt;Set width&lt;/li&gt;
                    &lt;li&gt;Set layout (fill width | add linebreak )&lt;/li&gt;
                    &lt;li&gt;save it back to the addressbook&lt;/li&gt;
                  &lt;/ul&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Open thus created contacts to view or edit&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Settings&lt;br /&gt;
  &lt;ul&gt;
    &lt;li&gt;Change the few settings that are currently available (more will come)&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;About&lt;br /&gt;
  &lt;ul&gt;
    &lt;li&gt;Show the About window&lt;/li&gt;
    &lt;li&gt;Follow some of the links  &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_wink.gif&quot; title=&quot;;)&quot; alt=&quot;;)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ContactFX is designed to be flexible by the user, with as few &quot;rules&quot; about how to set out any Contact. So although I&#039;ve designated some suitable uses for the various parts of the Contact window, they wont be enforced in any way: each Contact&#039;s layout could be unique if that&#039;s what you wanted. Hopefully it&#039;ll become clearer when I&#039;ve got a bit more functionality implemented, but I hope you get the idea.&lt;/p&gt;

&lt;div class=&quot;image_block&quot;&gt;&lt;a href=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/ContactFX-0-0-1-3.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/ContactFX-0-0-1-3.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;489&quot; height=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I&#039;m keen for comments and suggestion!&lt;/strong&gt; &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_cool.gif&quot; title=&quot;B)&quot; alt=&quot;B)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="" title="" width="64" height="64" align="right" />I've released a <em>"Snippet for Comment"</em> over on <a href="http://www.donationcoder.com/index.html" target="_blank">DonationCoder</a> to get some feedback of the directions the project is taking: <a href="http://www.donationcoder.com/Forums/bb/index.php?topic=22723.0" target="_blank">NANY 2011 Teaser: ContactFX 0.0.1.3</a> (NANY calls them Teasers).</p>

<p>To run the application just download, unzip and run... the application should perform properly in portable mode.</p>

<p>At the moment all you can do is:</p>

<ul>
<li>Addressbook<br />
  <ul>
    <li>Create a new contact<br />
      <ul>
        <li>Add fields to the Contact by dragging from the Control Pallet<br />
          <ul>
            <li>Edit the fields<br />
              <ul>
                <li>Add values</li>
                <li>Edit labels (via context menu)<br />
                  <ul>
                    <li>Set width</li>
                    <li>Set layout (fill width | add linebreak )</li>
                    <li>save it back to the addressbook</li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </li>
    <li>Open thus created contacts to view or edit</li>
  </ul>
</li>
<li>Settings<br />
  <ul>
    <li>Change the few settings that are currently available (more will come)</li>
  </ul>
</li>
<li>About<br />
  <ul>
    <li>Show the About window</li>
    <li>Follow some of the links  <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_wink.gif" title=";)" alt=";)" class="middle" width="15" height="15" /></li>
  </ul>
</li>
</ul>

<p>ContactFX is designed to be flexible by the user, with as few "rules" about how to set out any Contact. So although I've designated some suitable uses for the various parts of the Contact window, they wont be enforced in any way: each Contact's layout could be unique if that's what you wanted. Hopefully it'll become clearer when I've got a bit more functionality implemented, but I hope you get the idea.</p>

<div class="image_block"><a href="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/ContactFX-0-0-1-3.png" target="_blank"><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/ContactFX-0-0-1-3.png" alt="" title="" width="489" height="380" /></a></div><p> </p>

<p><strong>I'm keen for comments and suggestion!</strong> <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_cool.gif" title="B)" alt="B)" class="middle" width="15" height="15" /></p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=75&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=75</wfw:commentRss>
		</item>
				<item>
			<title>TimeZone Updated to 1.4.1</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=74&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Thu, 29 Jul 2010 10:04:20 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">FARR</category>
<category domain="main">TimeZone</category>			<guid isPermaLink="false">74@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/TimeZone.png&quot; alt=&quot;&quot; title=&quot;&quot; align=&quot;right&quot; height=&quot;72&quot; width=&quot;72&quot; /&gt;This is a small fix for the bugs that I unfortunately introduced in 1.4.0.&lt;/p&gt;

&lt;p&gt;There had been some discussion over at &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?topic=17415.0&quot; target=&quot;_blank&quot;&gt;DonationCoder.com&lt;/a&gt;, but it&#039;s taken me a little while to get to it.&lt;/p&gt;

&lt;p&gt;I&#039;m hoping that 1.4.1 fixes both the recent bugs: it seems to on my machine, so fingers crossed!&lt;/p&gt;

&lt;p&gt;One bug was the codepage of the javascript file was accidentally set to UTC-8 and XP disliked that. &lt;/p&gt;

&lt;p&gt;Download here: &lt;a href=&quot;http://scribbly.mitupela.net/programmes/farr/timezone/&quot; target=&quot;_blank&quot;&gt;TimeZone Website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
Leave comments here or discuss over at &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?topic=17415.0&quot; target=&quot;_blank&quot;&gt;DonationCoder.com&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/TimeZone.png" alt="" title="" align="right" height="72" width="72" />This is a small fix for the bugs that I unfortunately introduced in 1.4.0.</p>

<p>There had been some discussion over at <a href="http://www.donationcoder.com/Forums/bb/index.php?topic=17415.0" target="_blank">DonationCoder.com</a>, but it's taken me a little while to get to it.</p>

<p>I'm hoping that 1.4.1 fixes both the recent bugs: it seems to on my machine, so fingers crossed!</p>

<p>One bug was the codepage of the javascript file was accidentally set to UTC-8 and XP disliked that. </p>

<p>Download here: <a href="http://scribbly.mitupela.net/programmes/farr/timezone/" target="_blank">TimeZone Website</a><br /><br /><br />
Leave comments here or discuss over at <a href="http://www.donationcoder.com/Forums/bb/index.php?topic=17415.0" target="_blank">DonationCoder.com</a>.</p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=74&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=74</wfw:commentRss>
		</item>
				<item>
			<title>FarrCfx Starts to Take Shape</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=73&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Wed, 28 Jul 2010 10:51:13 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="alt">FARR</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">73@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;I&#039;ve had a bit of a break from the main ContactFX application to get my head around &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?topic=10992.0&quot; target=&quot;_blank&quot;&gt;Vitaly&#039;s FARR C# Plugin SDK&lt;/a&gt;, which has meant navigating around a new language: It&#039;s been fun (once the penny dropped with the SDK).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.donationcoder.com/Software/Mouser/findrun/index.html&quot;&gt;FARR&lt;/a&gt; will be providing Desktop integration including searching contacts, adding contacts and other actions with the contact data (emails, maps, urls, etc). So I wanted to at least get a bare bone working, just to relieve the nerves &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_wink.gif&quot; title=&quot;;)&quot; alt=&quot;;)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is not what the final FARRCfx will look like, but just my initial foray to get a link between ContactFX data and FARRCfx:&lt;br /&gt;
&lt;strong&gt;FARRCfx Menu&lt;/strong&gt;&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/FARRCfx - 28_07_2010.png&quot; alt=&quot;FARRCfx Menu&quot;&quot; title=&quot;FARRCfx Menu&quot; width=&quot;813&quot; height=&quot;219&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Display Contact&lt;/strong&gt;&lt;br /&gt;
&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/FARRCfx - 28_07_2010 2.png&quot; alt=&quot;FARRCfx Contact Card&quot;&quot; title=&quot;FARRCfx Contact Card&quot; width=&quot;676&quot; height=&quot;403&quot; /&gt;&lt;/p&gt;

&lt;p&gt;FARRCfx will display ContactFX data in the FARR HTML window. Each card will be displayed using HTML in a format similar to how they are designed in the main application: i.e. each card &lt;em&gt;can be&lt;/em&gt; unique with it&#039;s own layout, sorting order, TABS, sections and colours, etc.&lt;/p&gt;

&lt;p&gt;The HTML will have the usual functionality that will include: mailto links; hyper-links to webpages, maps, etc; micro-format integration including &lt;a href=&quot;http://microformats.org/wiki/hcard&quot; target=&quot;_blank&quot;&gt;hCard&lt;/a&gt;, &lt;a href=&quot;http://gmpg.org/xfn&quot; target=&quot;_blank&quot;&gt;XFN&lt;/a&gt;, &lt;a href=&quot;http://microformats.org/wiki/hcalendar&quot; target=&quot;_blank&quot;&gt;hCalendar&lt;/a&gt;, etc.&lt;/p&gt;

&lt;p&gt;This will be the same format that will be used for HTML Export (for storing on a USB for example).&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="" title="" width="64" height="64" align="right" />I've had a bit of a break from the main ContactFX application to get my head around <a href="http://www.donationcoder.com/Forums/bb/index.php?topic=10992.0" target="_blank">Vitaly's FARR C# Plugin SDK</a>, which has meant navigating around a new language: It's been fun (once the penny dropped with the SDK).</p>

<p><a href="http://www.donationcoder.com/Software/Mouser/findrun/index.html">FARR</a> will be providing Desktop integration including searching contacts, adding contacts and other actions with the contact data (emails, maps, urls, etc). So I wanted to at least get a bare bone working, just to relieve the nerves <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_wink.gif" title=";)" alt=";)" class="middle" width="15" height="15" /></p>

<p>This is not what the final FARRCfx will look like, but just my initial foray to get a link between ContactFX data and FARRCfx:<br />
<strong>FARRCfx Menu</strong><br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/FARRCfx - 28_07_2010.png" alt="FARRCfx Menu"" title="FARRCfx Menu" width="813" height="219" /></p>

<p><strong>Display Contact</strong><br />
<img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/FARRCfx - 28_07_2010 2.png" alt="FARRCfx Contact Card"" title="FARRCfx Contact Card" width="676" height="403" /></p>

<p>FARRCfx will display ContactFX data in the FARR HTML window. Each card will be displayed using HTML in a format similar to how they are designed in the main application: i.e. each card <em>can be</em> unique with it's own layout, sorting order, TABS, sections and colours, etc.</p>

<p>The HTML will have the usual functionality that will include: mailto links; hyper-links to webpages, maps, etc; micro-format integration including <a href="http://microformats.org/wiki/hcard" target="_blank">hCard</a>, <a href="http://gmpg.org/xfn" target="_blank">XFN</a>, <a href="http://microformats.org/wiki/hcalendar" target="_blank">hCalendar</a>, etc.</p>

<p>This will be the same format that will be used for HTML Export (for storing on a USB for example).</p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=73&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=73</wfw:commentRss>
		</item>
				<item>
			<title>Cfx: What's in a name?</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=72&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Thu, 27 May 2010 05:53:03 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Software</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">72@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;Ever since Adam I guess naming things correctly was important and I thought I should explain how I got to &lt;strong&gt;C&lt;em&gt;fx&lt;/em&gt;&lt;/strong&gt;...&lt;/p&gt;

&lt;p&gt;I actually started with FarrContacts, which got shortened to fc and had an x added for xml... therefore fcx.&lt;/p&gt;

&lt;p&gt;Then I realised that even although &lt;a href=&quot;http://www.donationcoder.com/Software/Mouser/findrun/index.html&quot; target=&quot;_blank&quot;&gt;Farr&lt;/a&gt; was going to be an important part of the development it wasn&#039;t critical. &lt;/p&gt;

&lt;p&gt;It was the &lt;strong&gt;C&lt;/strong&gt;ontacts that was the central part... but I wanted to keep the &lt;strong&gt;x&lt;/strong&gt;ml and &lt;strong&gt;f&lt;/strong&gt;arr as they were both important... and they sort of merged into &lt;strong&gt;Effects&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;So &lt;strong&gt;C&lt;em&gt;fx&lt;/em&gt; :: Contacts Effects&lt;/strong&gt; works pretty well for me &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_smile.gif&quot; title=&quot;:)&quot; alt=&quot;:)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;

&lt;p&gt;But it&#039;s just a name after all...&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="" title="" width="64" height="64" align="right" />Ever since Adam I guess naming things correctly was important and I thought I should explain how I got to <strong>C<em>fx</em></strong>...</p>

<p>I actually started with FarrContacts, which got shortened to fc and had an x added for xml... therefore fcx.</p>

<p>Then I realised that even although <a href="http://www.donationcoder.com/Software/Mouser/findrun/index.html" target="_blank">Farr</a> was going to be an important part of the development it wasn't critical. </p>

<p>It was the <strong>C</strong>ontacts that was the central part... but I wanted to keep the <strong>x</strong>ml and <strong>f</strong>arr as they were both important... and they sort of merged into <strong>Effects</strong>!</p>

<p>So <strong>C<em>fx</em> :: Contacts Effects</strong> works pretty well for me <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_smile.gif" title=":)" alt=":)" class="middle" width="15" height="15" /></p>

<p>But it's just a name after all...</p><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=72&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=72</wfw:commentRss>
		</item>
				<item>
			<title>Cfx : The Basic Process</title>
			<link>http://scribbly.mitupela.net/blogs/index.php?p=71&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
			<pubDate>Mon, 24 May 2010 03:31:25 +0000</pubDate>			<dc:creator>scribbly</dc:creator>
			<category domain="alt">Development</category>
<category domain="alt">Software</category>
<category domain="alt">VB.Net</category>
<category domain="alt">FARR</category>
<category domain="main">ContactFX</category>			<guid isPermaLink="false">71@http://scribbly.mitupela.net/blogs/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png&quot; alt=&quot;Cfx Icon&quot; title=&quot;Cfx Icon&quot; width=&quot;64&quot; height=&quot;64&quot; align=&quot;right&quot; /&gt;The basic requirement for &lt;strong&gt;C&lt;em&gt;fx&lt;/em&gt;&lt;/strong&gt; is to be an address book, but there are huge numbers of address books already available, ranging from on-line applications or modules to on-line applications to desktop software and phone software, etc, etc.&lt;/p&gt;

&lt;p&gt;For a long time I&#039;ve attempted to use &lt;a href=&quot;http://fonlow.com/opencontacts/&quot; target=&quot;_blank&quot;&gt;Open Contacts&lt;/a&gt;, which, by the way, I think is a very good programme, it just never seemed to click with me. I think it is the interface, because the functionality, in many respects, is pretty much what I&#039;m aiming at too. In fact the Open Contacts &quot;Big Picture&quot; is very similar to my overview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Open Contacts Big Picture&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;a href=&quot;http://fonlow.com/opencontacts/Developer/images/BigPicture.gif&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://fonlow.com/opencontacts/Developer/images/BigPicture.gif&quot; alt=&quot;Open Contacts Big Picture&quot; title=&quot;Big Picture&quot; width=&quot;250&quot; heigth=&quot;316&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;The Proposed C&lt;em&gt;fx&lt;/em&gt; Requirements&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;a href=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Process.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Process.png&quot; alt=&quot;&quot; title=&quot;&quot; width=&quot;275&quot; height=&quot;206&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;Not that I&#039;m basing C&lt;em&gt;fx&lt;/em&gt; on Open Contacts in any way; OC is just the closest application I found to what I wanted in an Address Book.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why on earth make a new one?&lt;/strong&gt;&lt;br /&gt;
Probably the main reason is that I&#039;ve wanted to for some time because I didn&#039;t want my address book to be based somewhere else (FaceBook, Google Contacts, etc), and the next is &lt;a href=&quot;http://www.donationcoder.com/Forums/bb/index.php?board=299.0&quot; target=&quot;_blank&quot;&gt;NANY 2011&lt;/a&gt; has given me the impetus &lt;img src=&quot;http://scribbly.mitupela.net/blogs/rsc/smilies/icon_biggrin.gif&quot; title=&quot;:D&quot; alt=&quot;:D&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;

&lt;p&gt;But apart from that I&#039;m hoping to make these general additions / improvements:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Flexible import and export: very easy to get contacts both in and out of C&lt;em&gt;fx&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;Off-line access: not dependant on a website or web application.&lt;/li&gt;
  &lt;li&gt;Non-C&lt;em&gt;fx&lt;/em&gt; dependant search [e.g. via FARR]: FARR integration will give C&lt;em&gt;fx&lt;/em&gt; very flexible system integration on the desktop.&lt;/li&gt;
  &lt;li&gt;Non-C&lt;em&gt;fx&lt;/em&gt; dependant access [e.g. via HTML on USB]: can take address book anywhere and access just via a browser.&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;Powered by &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Cfx_64.png" alt="Cfx Icon" title="Cfx Icon" width="64" height="64" align="right" />The basic requirement for <strong>C<em>fx</em></strong> is to be an address book, but there are huge numbers of address books already available, ranging from on-line applications or modules to on-line applications to desktop software and phone software, etc, etc.</p>

<p>For a long time I've attempted to use <a href="http://fonlow.com/opencontacts/" target="_blank">Open Contacts</a>, which, by the way, I think is a very good programme, it just never seemed to click with me. I think it is the interface, because the functionality, in many respects, is pretty much what I'm aiming at too. In fact the Open Contacts "Big Picture" is very similar to my overview.</p>

<p><strong>The Open Contacts Big Picture</strong></p>
<div class="image_block"><a href="http://fonlow.com/opencontacts/Developer/images/BigPicture.gif" target="_blank"><img src="http://fonlow.com/opencontacts/Developer/images/BigPicture.gif" alt="Open Contacts Big Picture" title="Big Picture" width="250" heigth="316" /></a></div>
<p><strong>The Proposed C<em>fx</em> Requirements</strong></p>
<div class="image_block"><a href="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Process.png" target="_blank"><img src="http://scribbly.mitupela.net/blogs/media/blogs/a/Cfx/Process.png" alt="" title="" width="275" height="206" /></a></div>

<p>Not that I'm basing C<em>fx</em> on Open Contacts in any way; OC is just the closest application I found to what I wanted in an Address Book.</p>

<p><strong>Why on earth make a new one?</strong><br />
Probably the main reason is that I've wanted to for some time because I didn't want my address book to be based somewhere else (FaceBook, Google Contacts, etc), and the next is <a href="http://www.donationcoder.com/Forums/bb/index.php?board=299.0" target="_blank">NANY 2011</a> has given me the impetus <img src="http://scribbly.mitupela.net/blogs/rsc/smilies/icon_biggrin.gif" title=":D" alt=":D" class="middle" width="15" height="15" /></p>

<p>But apart from that I'm hoping to make these general additions / improvements:</p>
<ul>
  <li>Flexible import and export: very easy to get contacts both in and out of C<em>fx</em>.</li>
  <li>Off-line access: not dependant on a website or web application.</li>
  <li>Non-C<em>fx</em> dependant search [e.g. via FARR]: FARR integration will give C<em>fx</em> very flexible system integration on the desktop.</li>
  <li>Non-C<em>fx</em> dependant access [e.g. via HTML on USB]: can take address book anywhere and access just via a browser.</li>
</ul><div class="item_footer"><p><small>Powered by <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://scribbly.mitupela.net/blogs/index.php?p=71&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#comments</comments>
			<wfw:commentRss>http://scribbly.mitupela.net/blogs/index.php?tempskin=_rss2&#38;disp=comments&#38;p=71</wfw:commentRss>
		</item>
			</channel>
</rss>

