<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>graham&#039;s griffon blog</title>
	<atom:link href="http://grahamgriffon.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://grahamgriffon.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Mon, 05 Oct 2009 23:57:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='grahamgriffon.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>graham&#039;s griffon blog</title>
		<link>http://grahamgriffon.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://grahamgriffon.wordpress.com/osd.xml" title="graham&#039;s griffon blog" />
	<atom:link rel='hub' href='http://grahamgriffon.wordpress.com/?pushpress=hub'/>
		<item>
		<title>I&#8217;m back &#8211; with version control software</title>
		<link>http://grahamgriffon.wordpress.com/2009/10/05/im-back-with-version-control-software/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/10/05/im-back-with-version-control-software/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 23:57:12 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=57</guid>
		<description><![CDATA[(or whatever its called) I must apologise (that&#8217;s if anyone did notice) for not really keeping up with this blog in the recent several weeks. I certainly plan to continue the blog; it did seem such a good idea at the beginning, but I&#8217;m afraid that I have had a lot of distractions recently. Version [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=57&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(or whatever its called)</p>
<p>I must apologise (that&#8217;s if anyone did notice) for not really keeping up with this blog in the recent several weeks. I certainly plan to continue the blog; it did seem such a good idea at the beginning, but I&#8217;m afraid that I have had a lot of distractions recently. </p>
<p><strong>Version control</strong><br />
In fact I have completed the Griffon apps that I started to describe &#8211; thanks to pressure from the users &#8211; so you&#8217;ll have to treat the new few entries as a sort of action replay. However I did find out a couple of weeks ago that I had missed something in one of the Griffon release notes which meant that I could do a bit of recoding. And so I thought that I&#8217;d actually set up some VCS since we now have an &#8220;initial release&#8221; to save.</p>
<p>Because I&#8217;m also writing a Grails app I wanted a VCS to handle all the projects but I was a bit disappointed in that some do seem a little inflexible. Grails is the greater issue, but perhaps that&#8217;s another story. In the end I decided on Mercurial with TortoiseHg as a quite nice graphical client. (I should have mentioned that at the moment the work is WINDOWS XP-based.)</p>
<p><strong>Back to the Griffon</strong><br />
I suppose that having actually finished the apps it should make writing about them a little easier, well I certainly hope so! The preliminary stuff was fairly general so next time we&#8217;ll just start with the Model and take it from there; it actually worked out rather straightforward in the end so I hope that I can get through the development in a few more posts.</p>
<p>And then I have a few more ideas for Griffon apps, the next time will be using SQL but we&#8217;ll have to see how well that goes. This is in addition to our main Grails project, of course, although I can see some scope for a Griffon app that will provide some desktop functions related to the main project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=57&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/10/05/im-back-with-version-control-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
		<item>
		<title>an inauspicious start</title>
		<link>http://grahamgriffon.wordpress.com/2009/09/08/an-inauspicious-start/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/09/08/an-inauspicious-start/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:18:43 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=52</guid>
		<description><![CDATA[Apologies for the brief hiatus almost immediately after I started the blog. I&#8217;m afraid that I had a few other things to deal with and while I completed the applications that I was describing &#8211; and they&#8217;re with the clients now &#8211; I didn&#8217;t have the free time to complete the blog. Hopefully I now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=52&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Apologies for the brief hiatus almost immediately after I started the blog. I&#8217;m afraid that I had a few other things to deal with and while I completed the applications that I was describing &#8211; and they&#8217;re with the clients now &#8211; I didn&#8217;t have the free time to complete the blog.</p>
<p>Hopefully I now have a bit more spare time and I will finish the write-up of the application over the next few days.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=52&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/09/08/an-inauspicious-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
		<item>
		<title>a question of layout</title>
		<link>http://grahamgriffon.wordpress.com/2009/08/03/a-question-of-layout/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/08/03/a-question-of-layout/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 00:33:47 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MigLayout]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=37</guid>
		<description><![CDATA[Well, I still haven&#8217;t really got around to doing much actually with Griffon, and we&#8217;ll still have to put that off until the next post &#8211; this time I want to show a little of the layout we chose to use. I mentioned before that MigLayout looks to be the best way to go, so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=37&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, I still haven&#8217;t really got around to doing much actually with Griffon, and we&#8217;ll still have to put that off until the next post &#8211; this time I want to show a little of the layout we chose to use.</p>
<p>I mentioned before that MigLayout looks to be the best way to go, so I set up a few trials (and errors, of course) and came up with a decent layout with which to start. It&#8217;s not the final version, there are a lot more fields to add, but it does show the sort of thing that can be achieved fairly quickly. There is plenty of documentation on the <a href="http://www.miglayout.com">MigLayout website</a> and, of course, the relevant jar to download and it was easy to create the following form:</p>
<p><img class="aligncenter size-full wp-image-38" title="p45pt3-screen" src="http://grahamgriffon.files.wordpress.com/2009/08/p45pt3-screen.jpg?w=480&#038;h=116" alt="p45pt3-screen" width="480" height="116" /></p>
<p>and all this needed was the following code</p>
<pre class="brush: java;">
import net.miginfocom.swing.MigLayout
application(title:'p45pt3',
//size:[320,480],
pack:true,
//location:[50,50],
locationByPlatform:true,
) {
panel(border:emptyBorder(12),layout:new MigLayout(&quot;wrap 4&quot;,&quot;[100][200][100][200]&quot;,&quot;&quot;)){
  label(&quot;name :&quot;,constraints:'right')
  textField(&quot;enter name&quot;, constraints:'wrap, width 150:150:')
  label(&quot;reference :&quot;,constraints:'right')
  textField(&quot;employee reference&quot;)
  label(&quot;NI number :&quot;,constraints:'right')
  textField(&quot;nino&quot;)
  label(&quot;date of birth :&quot;,constraints:'right')
  textField(&quot;dd-mm-ccyy&quot;)
  label(&quot;gender :&quot;,constraints:'right')
  textField(&quot;m/f&quot;)
  label(&quot;starting date :&quot;,constraints:'right')
  textField(&quot;dd-mm-ccyy&quot;)
  label(&quot;job title :&quot;,constraints:'right')
  textField(&quot;?&quot;)
}
}
</pre>
<p>This is by no means complete, there are no binds, for example, but it shows the layout quite nicely. What we wanted was simply two columns of entry fields, so here&#8217;s how it gets there:<br />
1. new MigLayout(&#8220;wrap 4&#8243;,&#8221;[100][200][100][200]&#8221; ,&#8221;")<br />
there are three arguments: the first is for the layout, here &#8220;wrap 4&#8243; means that it will wrap to the next line after four fields (label, textField, label, textField); the second is for column constraints, what &#8220;[100][200][100][200]&#8221; gives is four columns with those widths (default in pixels); the final argument defines the row constraints, which is null at the moment.<br />
2. add the various labels and textFields, I&#8217;ve used mostly defaults except for the &#8220;right&#8221; on the labels to right-justify the label text, and on the &#8220;enter name&#8221; textField I&#8217;ve used &#8220;wrap&#8221; to end that row and &#8220;width&#8230;&#8221; to define the actual width of the box (otherwise they are given the size of the initial contents).</p>
<p>I&#8217;ll use this style for the full form, but adding a few extra constraints to improve the appearance.</p>
<p>And then tomorrow, I&#8217;ll get it actually working&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=37&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/08/03/a-question-of-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>

		<media:content url="http://grahamgriffon.files.wordpress.com/2009/08/p45pt3-screen.jpg" medium="image">
			<media:title type="html">p45pt3-screen</media:title>
		</media:content>
	</item>
		<item>
		<title>a slight digression</title>
		<link>http://grahamgriffon.wordpress.com/2009/08/01/a-slight-digression/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/08/01/a-slight-digression/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 14:54:32 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=30</guid>
		<description><![CDATA[Well, it&#8217;s not been a good week and Wednesday was particularly bad! So I&#8217;ve been delayed with the Griffon work for a couple of days. Interviews &#8211; who needs them ? At the moment I&#8217;m rather, well very, short of money and I have been looking for work, so when I saw a posting on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=30&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s not been a good week and Wednesday was particularly bad! So I&#8217;ve been delayed with the Griffon work for a couple of days.</p>
<p><em>Interviews &#8211; who needs them ?</em></p>
<p>At the moment I&#8217;m rather, well very, short of money and I have been looking for work, so when I saw a posting on a UK website looking for a developer in, well let&#8217;s say, language A, and &#8220;experience in B an advantage&#8221; and they were developing a &#8220;C&#8221; package and I can tick all of those boxes,  I sent off my CV, and I received an invitation to to an interview. Now, there was nothing in my CV to suggest that I had a great depth of experience in A nor B, just a couple of years, but I do know the C application very well; however it became apparent very quickly in the interview that they weren&#8217;t looking for someone like me and the person they wanted would have had much more experience than I have (and what it says in my CV) but, apparently, they wanted to see me because of the combination &#8211; &#8220;not many people with that in their CV&#8221;, I was &#8220;top of their list of fifty CVs, the first we&#8217;ve seen&#8221;. All very well, but really there was no way they would have employed me based on the type of person they said they were looking for. They did mention just how far I have travelled, more than once &#8211; and that&#8217;s what really irritated me, they did realise just how long the journey took and how inconvenient it was. And so for the apparent sake of &#8220;just having to meet me&#8221; they had me travel nearly 400 miles in really bad weather, wasting a day of my time (left at 9.30, back at 19.25), no apologies, no &#8220;compensation&#8221; just a couple of handshakes and a &#8220;thank you&#8221;&#8230; A right bunch of pillocks, is what comes to mind &#8211; well a lot stronger, actually. So I am very annoyed&#8230;</p>
<p><em>NetBeans and the Griffon plugin</em></p>
<p>I briefly mentioned this in the previous posting but I&#8217;d only heard that there was a new version that day and hadn&#8217;t had much opportunity to have a look at it. I&#8217;ll be getting back to it now, but so far it looks absolutely fine. I noticed that the plugin (the previous version, actually) did get a lot of use at <a href="http://java.sun.com/javaone/">JavaOne</a> including in a few demos. Certainly I&#8217;ll be using it my work now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=30&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/08/01/a-slight-digression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
		<item>
		<title>the new app &#8211; what and how to make it</title>
		<link>http://grahamgriffon.wordpress.com/2009/07/28/the-new-app-what-and-how-to-make-it/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/07/28/the-new-app-what-and-how-to-make-it/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 23:41:14 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[griffon]]></category>
		<category><![CDATA[MigLayout]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=16</guid>
		<description><![CDATA[Requirements In essence this app is just a simple front-end to take in the data for a new employee, there&#8217;ll be a bit of validation and then, of course only if valid, it will be all packaged up into an XML document and sent to the IR. In the real application this data will be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=16&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Requirements</em></p>
<p>In essence this app is just a simple front-end to take in the data for a new employee, there&#8217;ll be a bit of validation and then, of course only if valid, it will be all packaged up into an XML document and sent to the IR. In the real application this data will be used to create a new employee record (well, with some exceptions if it&#8217;s someone who&#8217;s returning); however in our current hybrid state only some of the data will be sent to the interface modules to the COBOL package to create the record there because the old system doesn&#8217;t keep as much data as the new one does/will. However we will keep the XML document that has been sent and the IR responses (also XML documents). The upload processes and the COBOL interfaces have already be written in Java and we&#8217;ll just make use of those.</p>
<p><em>User Interface</em></p>
<p>I came to the first &#8216;stop and think&#8217; moment over the UI very quickly. I&#8217;ll admit that it may be slightly more logical to look at the data model first but to some extent that is defined by the IR specifications so I started with the user interface. Our typical user knows about their business but probably wants to spend as little time on the computers as they can so the UI is very important. It can certainly break an application; a poor UI is going to cause problems, a good UI is going to smooth the user&#8217;s interaction with the software and that is to everyone&#8217;s benefit. In addition we plan to get the software out fairly quickly and be prepared to make amendments as required by the users, probably fairly minor, but in a general sense maintainability is very important; this is a small app and the last thing we want is to have minor UI changes costing significant developer time and effort.</p>
<p>So, I had to &#8220;stop and think&#8221; &#8211; how are we going to make the UI ? Well, Swinguilder, but of course. However I don&#8217;t really know Swing, I mean I&#8217;ve written Swing apps but that was courtesy of NetBeans GUI designer and, well, it just worked; and why should I want to understand how it works ? But builders are a bit different and do appear to require that the programmer has a fair degree of knowledge of the thing that they are building, and that was my conclusion after a few attempts. Anyway after some hours searching the web I discovered that the general consensus is simply &#8220;don&#8217;t use native Swingbuilder&#8221; and I see no reason to disagree with that.</p>
<p>So what do we use ? Well, there do appear to be a few alternatives; I looked at a couple but again decided to go with the one that seems the most popular: that&#8217;s <a href="http://www.miglayout.com/">MigLayout</a>. In essence you can do what you want with MigLayout but far more simply than with native Swing, and with fewer lines of code and , to me, fewer lines of code do usually improve maintainability. Perhaps there are some UI features that you cannot achieve with MigLayout but we do try to keep UIs clean and simple and after a quick look at the documentation I was quite happy with it.</p>
<p><em>IDE, editors etc.</em></p>
<p>Finally I was almost able to write some code. Personally I like IDEs, perhaps, being of an age when I can remember having to write out coding sheets for card punch operators and then have to faff about with overnight runs etc. etc. etc., there does seem to me to be a benefit in having one bit of software that does almost everything you want in one place. As far as I&#8217;m aware, at the moment it is only NetBeans 6.7 that has any Griffon awareness (via a <a href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664">plugin</a>). There&#8217;s just (that&#8217;s today) been a new Alpha version of the plugin released and Geertjan has said that he does intend to develop it further. I&#8217;m using it now; it gives you a Griffon project structure and quite a few features, obviously including the editor and &#8216;run&#8217; facilities, which, at the moment, is all I need.</p>
<p>and next time I&#8217;ll actually develop something that runs&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=16&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/07/28/the-new-app-what-and-how-to-make-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
		<item>
		<title>the project&#8230;and downloading and installing Griffon</title>
		<link>http://grahamgriffon.wordpress.com/2009/07/26/the-project-and-downloading-and-installing-griffon/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/07/26/the-project-and-downloading-and-installing-griffon/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 13:11:52 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[griffon]]></category>

		<guid isPermaLink="false">http://grahamgriffon.wordpress.com/?p=9</guid>
		<description><![CDATA[Background I&#8217;m involved in a small software company in the U.K.; currently we&#8217;re updating our payroll package and we&#8217;re (well I&#8217;m) using Griffon to produce a small desktop application. We already have a small Java app. that takes the data for a leaving employee and prepares an XML file and uploads that the the Inland [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=9&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Background</em></p>
<p>I&#8217;m involved in a small software company in the U.K.; currently we&#8217;re updating our payroll package and we&#8217;re (well I&#8217;m) using Griffon to produce a small desktop application. We already have a small Java app. that takes the data for a leaving employee and prepares an XML file and uploads that the the Inland Revenue, the Griffon work will be an upgrade to this Java app.</p>
<p>The reason that we&#8217;re using Griffon is, in the main, because we have been re-writing our existing package using Grails and so we&#8217;re familiar with Java and Groovy. So it seemed reasonable to give Griffon a try, and here&#8217;s a description of that work. I&#8217;ll give more details of the actual function later.</p>
<p>I should point out that our work is currently on WINDOWS XP, we are looking to move our development towards Linux, but that&#8217;s for the future.</p>
<p><em>Downloading</em></p>
<p>This is an easy bit&#8230;the <a href="http://griffon.codehaus.org/">Griffon web site</a><em> </em>gives the instructions for <a href="http://griffon.codehaus.org/Download">downloading</a> and there&#8217;s not much one can say about those &#8211; just do what it says. We just downloaded the latest 0.1.2 version, and actually took the ZIP.</p>
<p><em> Installing</em></p>
<p>Again just follow the <a href="http://griffon.codehaus.org/Installing+Griffon">instructions</a>:</p>
<ul>
<li> make a new directory (say c:\griffon, and why not ?)</li>
<li>unzip into there, WINDOWS unzip can do odd things if you don&#8217;t watch, so we manipulated the results so that we now have c:\griffon\griffon-0.1.2</li>
<li>create new environment variable for GRIFFON_HOME  (=c:\griffon\griffon-0.1.2)</li>
<li>add an entry to the PATH variable for %GRIFFON_HOME%\bin</li>
</ul>
<p>and, essentially, that&#8217;s it, Griffon should now run.</p>
<p>Because you&#8217;ve set up the PATH, just open a DOS window and type &#8216;griffon&#8217; and something should happen. If you are going to just try &#8216;griffon create-app&#8217; be warned that it will create the application structure in the current directory.</p>
<p>Next time &#8211; what we want to do with Griffon&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=9&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/07/26/the-project-and-downloading-and-installing-griffon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
		<item>
		<title>start here -</title>
		<link>http://grahamgriffon.wordpress.com/2009/07/21/hello-world/</link>
		<comments>http://grahamgriffon.wordpress.com/2009/07/21/hello-world/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 01:17:55 +0000</pubDate>
		<dc:creator>grahamgriffon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[griffon]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to my blog about experiences with Griffon. More to come soon&#8230;.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=1&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to my blog about experiences with Griffon.</p>
<p>More to come soon&#8230;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grahamgriffon.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grahamgriffon.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grahamgriffon.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grahamgriffon.wordpress.com&amp;blog=8660101&amp;post=1&amp;subd=grahamgriffon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grahamgriffon.wordpress.com/2009/07/21/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7e0bfdcf3cca1f33f5fbf70aa77ff04b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grahamgriffon</media:title>
		</media:content>
	</item>
	</channel>
</rss>
