<?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/"
	>

<channel>
	<title>A Brand New Way &#187; Development</title>
	<atom:link href="http://abrandnewway.com/blog/archives/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://abrandnewway.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 13 Apr 2010 04:56:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>The Value of Value Objects</title>
		<link>http://abrandnewway.com/blog/archives/the-value-of-value-objects/</link>
		<comments>http://abrandnewway.com/blog/archives/the-value-of-value-objects/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 23:50:55 +0000</pubDate>
		<dc:creator>Lance Jones</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://abrandnewway.com/blog/?p=108</guid>
		<description><![CDATA[Over the past year, I’ve been working on an enterprise level application utilizing a large number of Value Objects (VO). I have developed, dare I say, a fond admiration of VO’s. VO’s have had a tremendous impact on the development of the project, and in numerous way]]></description>
			<content:encoded><![CDATA[<p>Over the past year, I’ve been working on an enterprise level application utilizing a large number of Value Objects (VO). I have developed, dare I say, a fond admiration of VO’s. VO’s have had a tremendous impact on the development of the project, and in numerous ways.</p>
<p>VO’s are centralized containers of business data. VO’s offer storage and retrieval of it’s own data through Getters/Setters. They are easily accessible, passed around and portable, updated and bindable. All of these factors have increased production and ease of programming on this large scale project, and attributed to the ease of use in the project.</p>
<p>The custom VO classes we use have lighten the load of developing a complex project through their storage of simple, and on occasion more complex, data types. VO’s are a timer saver in that one call can be made to have all the data stored and ready to use versus making multiple calls whenever a piece of data is needed, which is something you’d probably never want to do in the first place.</p>
<p>One more thing that makes VO’s so valuable is the ability to POST and GET VO’s in their entirety which leads to matching data in, matching data out and through this we have consistency in our data.</p>
<p>The value of Value Objects is immeasurable in terms of making your life easier when it comes to developing projects of any size. Just the amount of time you will end up saving makes VO’s a must in your development war chest.</p>
<h4>Additional Resources</h4>
<p>If you are just getting into the concept of using Value Objects in your own projects, here are some additional resources and comments on the subject:</p>
<p><a href="http://devlicio.us/blogs/casey/archive/2009/02/13/ddd-entities-and-value-objects.aspx" target="_blank">DDD &#8211; Entities and Value Objects</a></p>
<p><a href="http://blog.torresdal.net/2009/07/19/StartUsingMoreValueObjects.aspx" target="_blank">Start Using More Value Objects</a></p>
<p><a href="http://domaindrivendesign.org/node/135" target="_blank">Domain Driven Design Community: Value Objects</a></p>
<p>Here&#8217;s a <a href="http://projects.stroep.nl/ValueObjectGenerator/" target="_blank">Value Object Generator worth checking out</a> that can take a lot of the repetition out creating your own AS3 value objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://abrandnewway.com/blog/archives/the-value-of-value-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Flex ItemRenderer &#8211; What is It and Why Use It</title>
		<link>http://abrandnewway.com/blog/archives/flex-itemrenderer-what-is-it-and-why-use-it/</link>
		<comments>http://abrandnewway.com/blog/archives/flex-itemrenderer-what-is-it-and-why-use-it/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 16:56:56 +0000</pubDate>
		<dc:creator>Lance Jones</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[itemRenderer]]></category>
		<category><![CDATA[mxml]]></category>

		<guid isPermaLink="false">http://abrandnewway.com/blog/?p=75</guid>
		<description><![CDATA[If you are looking to add any degree of style or complexity to any of these objects above the default “out-of-the-box” capabilities, then item renderers are a must. 

The itemRenderer object is available in different flavors, and depending on what you would like to accomplish, there is a flavor for you.]]></description>
			<content:encoded><![CDATA[<p>Item renders are the way to override the display mechanism for Flex&#8217;s list-based objects. If you are looking to add any degree of style or complexity to any of these objects above the default “out-of-the-box” capabilities, then item renderers are a must. </p>
<p>The itemRenderer object is available in different flavors, and depending on what you would like to accomplish, there is a flavor for you. The Drop-In, the Inline and the Custom itemRenderer are three possible solutions for adding rich content and components, and can give your project a greater level of sophistication. In this example I use the DataGrid as my list-based component. </p>
<h4>Drop-In Item Renderers</h4>
<p>The simplest of the itemRenderers is the Drop-In. It is written directly in the MXML so even though the Drop-In can get your project to higher levels of usability, the additional effort may not make it the first choice for more complex objectives. However if you would simply like to add a component, you need only reference that component as the value of the itemRenderer property for the list-based control.</p>
<p>The data can be located in the MXML itself as part of the DataGrid, located in the outerDocument or as an external file. The DataGrid in this first example has the dataProvider wrapped inside the DataGrid, so there is no need to identify it as the dataProvider for the DataGrid. However, if the data to be used is outside the DataGrid control, the DataGrid would need to be made aware of the data through it’s dataProvider property.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Song #&quot;</span> dataField=<span style="color: #ff0000;">&quot;songID&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> itemRenderer=<span style="color: #ff0000;">&quot;mx.controls.Image&quot;</span> headerText=<span style="color: #ff0000;">&quot;Image&quot;</span> dataField=<span style="color: #ff0000;">&quot;img&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:dataProvider</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ArrayCollection</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> img=<span style="color: #ff0000;">&quot;images/0.jpg&quot;</span> songID=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> img=<span style="color: #ff0000;">&quot;images/1.jpg&quot;</span> songID=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> img=<span style="color: #ff0000;">&quot;images/2.jpg&quot;</span> songID=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:ArrayCollection</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:dataProvider</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGrid</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<h4>Inline Item Renderers</h4>
<p>Inline itemRenderer’s offer a bit more in terms of flexibility. Inline itemRenderers allow you to set of properties of the components used by the itemRenderer. When using the Inline version the component you wish to use must be wrapped by a Component tag. The Component tag creates a new scope and where there can only be one root node. If you want to call a method or make use of a property defined outside that scope, you can use outerDocument.methodName or outerDocument.propertyName. I find that using parentDocument in place of outerDocument also works as well.</p>
<p>Notice the value for the source property in the Image component. The dataProvider attribute provides the data for the DataGrid:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">	&lt;![CDATA[</span>
<span style="color: #339933;">		import mx.controls.Alert;</span>
<span style="color: #339933;">		import mx.collections.ArrayCollection;</span>
&nbsp;
<span style="color: #339933;">		[Bindable] </span>
<span style="color: #339933;">		public var inlineAC:ArrayCollection= new ArrayCollection(</span>
<span style="color: #339933;">			[</span>
<span style="color: #339933;">				{songID:&quot;3&quot;, img:'3.jpg'},</span>
<span style="color: #339933;">				{songID:&quot;4&quot;, img:'4.jpg'}</span>
<span style="color: #339933;">			]</span>
<span style="color: #339933;">		);</span>
&nbsp;
<span style="color: #339933;">		public function firedButton():void {</span>
<span style="color: #339933;">			Alert.show(&quot;Button fired!&quot;)</span>
<span style="color: #339933;">		}</span>
<span style="color: #339933;">	]]&gt;</span>
<span style="color: #339933;">&lt;/mx:Script&gt;</span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span> rowCount=<span style="color: #ff0000;">&quot;3&quot;</span> variableRowHeight=<span style="color: #ff0000;">&quot;true&quot;</span> dataProvider=<span style="color: #ff0000;">&quot;{inlineAC}&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Song #&quot;</span> dataField=<span style="color: #ff0000;">&quot;songID&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Image&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:component</span><span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span> height=<span style="color: #ff0000;">&quot;100&quot;</span> verticalAlign=<span style="color: #ff0000;">&quot;middle&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
						<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> source=<span style="color: #ff0000;">&quot;{'images/'+data.img}&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:component</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGridColumn</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Various Components&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:component</span><span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:HBox</span><span style="color: #7400FF;">&gt;</span></span>
						<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> click=<span style="color: #ff0000;">&quot;{outerDocument.fireButton()}&quot;</span> label=<span style="color: #ff0000;">&quot;Button&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
						<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:RadioButton</span> <span style="color: #7400FF;">/&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:HBox</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:component</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGridColumn</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:mx</span>:Image<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<h4>Customer Item Renderers</h4>
<p>A custom itemRenderer offers the most in flexibility &#8211; both in ease of reuse and in seperation. In the third DataGrid the data source is located in an external xml file and the itemRenderer is in a seperate MXML file. Having the files seperate enables the class to be repurposed and can save significant development time on larger, more robust projects.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">	&lt;![CDATA[</span>
<span style="color: #339933;">		import mx.controls.Alert;</span>
<span style="color: #339933;">		public function fireButton():void {</span>
<span style="color: #339933;">			Alert.show(&quot;Button fired!&quot;);</span>
<span style="color: #339933;">		}</span>
<span style="color: #339933;">	]]&gt;</span>
<span style="color: #339933;">&lt;/mx:Script&gt;</span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Model</span> id=<span style="color: #ff0000;">&quot;externalXML&quot;</span> source=<span style="color: #ff0000;">&quot;model/sample.xml&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span> height=<span style="color: #ff0000;">&quot;300&quot;</span> dataProvider=<span style="color: #ff0000;">&quot;{externalXML.album}&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span> headerText=<span style="color: #ff0000;">&quot;Song #&quot;</span> dataField=<span style="color: #ff0000;">&quot;songID&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Image&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #808080; font-style: italic;">&lt;!-- Example Drop-In item renderer --&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:component</span><span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span> height=<span style="color: #ff0000;">&quot;100&quot;</span> verticalAlign=<span style="color: #ff0000;">&quot;middle&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
						<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Image</span> source=<span style="color: #ff0000;">&quot;{data.img}&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
					<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:component</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGridColumn</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #808080; font-style: italic;">&lt;!-- Example Custom item renderer --&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> itemRenderer=<span style="color: #ff0000;">&quot;view.customRenderer&quot;</span> headerText=<span style="color: #ff0000;">&quot;Various Components&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGrid</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #808080; font-style: italic;">&lt;!-- FILE: view/customRenderer.mxml --&gt;</span></span>
&nbsp;
<span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:HBox</span> height=<span style="color: #ff0000;">&quot;300&quot;</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> width=<span style="color: #ff0000;">&quot;400&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> click=<span style="color: #ff0000;">&quot;{parentDocument.fireButton()}&quot;</span> label=<span style="color: #ff0000;">&quot;Button&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:RadioButton</span> <span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:HBox</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!-- FILE: model/sample.xml --&gt;</span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;externalxml<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;songid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>5<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/songid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;img<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>images/AlbumArt1.jpg<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/img<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;songid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>6<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/songid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;img<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>images/AlbumArt2.jpg<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/img<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/externalxml<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Incorporating itemRenderers into your project adds value and really opens the door for producing significantly more functional and dynamic projects. Hopefully this post makes starting down that path a little less daunting.</p>
]]></content:encoded>
			<wfw:commentRss>http://abrandnewway.com/blog/archives/flex-itemrenderer-what-is-it-and-why-use-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross-Browser CSS Testing</title>
		<link>http://abrandnewway.com/blog/archives/cross-browser-css-testing/</link>
		<comments>http://abrandnewway.com/blog/archives/cross-browser-css-testing/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 22:01:04 +0000</pubDate>
		<dc:creator>Patrick Ashamalla</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://abrandnewway.com/blog/?p=31</guid>
		<description><![CDATA[WIth so many browsers out there, it can get very challenging to test CSS across all the different ones. Fixing a layout problem in one can end up causing errors in another. Anyone who has spent anytime doing any CSS work knows that this can be a bear of a task to handle.

Over the years browsers have become increasingly standardized with some key exceptions to the rule. In order to accommodate for these variants we've set up a standard process to check for browser compatibility.]]></description>
			<content:encoded><![CDATA[<p>WIth so many browsers out there, it can get very challenging to test CSS across all the different ones. Fixing a layout problem in one can end up causing errors in another. Anyone who has spent anytime doing any CSS work knows that this can be a bear of a task to handle.</p>
<p>Over the years browsers have become increasingly standardized with some key exceptions to the rule. In order to accommodate for these variants we&#8217;ve set up a standard process to check for browser compatibility. Right out of the gates we&#8217;ll identify, with our client, the necessary browser targets for a given project. This usually runs the typical gamut unless there is something unique about the project that explicitly requires additional browsers and devices. </p>
<p>One key thing to note &#8211; we will set up HTML code and content beforehand so that content is laid out correctly. We will rarely begin integrating CSS until we&#8217;ve identified and setup all elements on the page.</p>
<h4>From Newest to Oldest</h4>
<p>Fortunately the above rule about standardization has been pretty consistent. The groups pushing the latest browsers have worked very hard to meet the standards set forth by the W3C and development community. This makes it the best place for us to start since it will help us insure that our CSS is setup to meet those standards. Once we have met the proper display requirements in these newer browsers we&#8217;ll continue through the older versions until we reach our minimum requirement. </p>
<p>Our first step is to select a specific browser in which to develop. This will typically be Firefox 3, or Safari 3/4. With the recent launch of Internet Explorer 8, this browser also becomes a viable option, but since our production environment is run primarily on Macs, it&#8217;s easier for us to pick one of the cross-platform browsers over Internet Explorer.</p>
<p>After layout, styles and sprite functionality display correctly in the latest browsers we continue down to our next tier. This tier is usually closely related to the above tier in that they use similar browser frameworks, but we run tests nonetheless to guarantee consistency. This next tier usually consists of Google Chrome, Firefox 2, and Opera.</p>
<p>The first two tiers will typically consist of small rendering issues &#8211; independent browser correction of CSS mistakes; incorrect style declaration that gets too browser specific, or something else similar. From here we&#8217;ll move down into Internet Explorer 7. While IE 7 showed significant improvements over it&#8217;s predecessor it still contains several CSS rendering problems. For this reason we will address IE 7 in a separate tier. Corrections made at this level will usually live in a separate CSS file that overrides previous declarations. To avoid any conflicts we&#8217;ll incorporate this new CSS file using IE conditionals that check for IE 7. </p>
<p>After all the above browsers have been addressed, we&#8217;ll move to IE 6, which is commonly known for it&#8217;s severe problems with rendering standards-based CSS. Following the same method taken for IE 7, we&#8217;ll finally include a conditional for IE 6 browsers that address the specific problems inherent with this browser.</p>
<h4>Browser Version Testing Order</h4>
<p>To review, we would go through browsers in the following order to address cross-browser CSS:</p>
<ol>
<li><strong>Tier 1:</strong> Safari 3/4, Firefox 3, Internet Explorer 8</li>
<li><strong>Tier 2:</strong> Safari 3, Firefox 2, Opera</li>
<li><strong>Tier 3:</strong> Internet Explorer 7</li>
<li><strong>Tier 4:</strong> Internet Explorer 6</li>
</ol>
<p>This approach has proven to cut down significant amounts of development time because we will have: </p>
<ul>
<li>avoided using potentially harmful hacks in our core CSS, </li>
<li>created clean standard-based code at the top level, </li>
<li>progressively corrected any issues as moved forward with development without the need having to move back up the version ladder</li>
</ul>
<p>Of course, other browsers can be added to or removed from your list, but the idea is to move down the chain so that you avoid including erroneous code in your more standards compliant browsers. </p>
]]></content:encoded>
			<wfw:commentRss>http://abrandnewway.com/blog/archives/cross-browser-css-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

