<?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>Luis F. Majano &#187; Coldspring</title>
	<atom:link href="http://luismajano.com/category/Coldspring/feed/" rel="self" type="application/rss+xml" />
	<link>http://luismajano.com</link>
	<description>Computer Engineer</description>
	<lastBuildDate>Wed, 18 Jan 2012 06:17:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Free ColdFusion dependency injection training</title>
		<link>http://luismajano.com/2011/12/05/free-coldfusion-dependency-injection-training/</link>
		<comments>http://luismajano.com/2011/12/05/free-coldfusion-dependency-injection-training/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 02:37:42 +0000</pubDate>
		<dc:creator>Luis Majano</dc:creator>
				<category><![CDATA[ColdBox]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://luismajano.com/?p=740</guid>
		<description><![CDATA[We just released a free chapter of our DI training course so the entire ColdFusion community can benefit, so check it out: http://bit.ly/v7Igda!]]></description>
			<content:encoded><![CDATA[<p>We just released a free chapter of our DI training course so the entire ColdFusion community can benefit, so check it out: <a href="http://bit.ly/v7Igda">http://bit.ly/v7Igda</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://luismajano.com/2011/12/05/free-coldfusion-dependency-injection-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IECFug Meeting: Blackberry Playbook+Air+JMeter Load Testing</title>
		<link>http://luismajano.com/2011/04/11/iecfug-meeting-blackberry-playbookairjmeter-load-testing/</link>
		<comments>http://luismajano.com/2011/04/11/iecfug-meeting-blackberry-playbookairjmeter-load-testing/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 20:32:22 +0000</pubDate>
		<dc:creator>Luis Majano</dc:creator>
				<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[IECFUG]]></category>

		<guid isPermaLink="false">http://www.luismajano.com/2011/04/11/iecfug-meeting-blackberry-playbookairjmeter-load-testing/</guid>
		<description><![CDATA[Come and join us at the Inland Empire User Group meeting this Thursday as we have two great speakers, two great topics, pizza, networking and fun! http://iecfug.org/post.cfm/april-meeting-flex-air-blackberry-loadtesting BlackBerry Playbook + Adobe Air by Kalen GibbonsKalen will be speaking about mobile application development with Adobe AIR. He&#8217;ll discuss how Adobe AIR makes it easy to develop [...]]]></description>
			<content:encoded><![CDATA[<p>Come and join us at the Inland Empire User Group meeting this Thursday as we have two great speakers, two great topics, pizza, networking and fun!</p>
<p><a target="_blank" href="http://iecfug.org/post.cfm/april-meeting-flex-air-blackberry-loadtesting">http://iecfug.org/post.cfm/april-meeting-flex-air-blackberry-loadtesting</a></p>
<p><span style="font-weight: bold;">BlackBerry Playbook + Adobe Air by Kalen Gibbons</span><br />Kalen<br />
 will be speaking about mobile application development with Adobe AIR.<br />
He&#8217;ll discuss how Adobe AIR makes it easy to develop a single<br />
application for multiple platforms, including Android and iOS.  In<br />
particular, he will talk about his recent experience with developing an<br />
application for the BlackBerry playbook.  There will be a short<br />
demonstration of the application and a Q &amp; A period.</p>
<p><span id="more-673"></span><br /><span style="font-weight: bold;">Basic Load Testing with Apache JMeter</span> by Rex Vincent<br />
Rex Vincent Aglibot currently works as a Performance Engineer for<br />
Webapper, specializing in Performance and High-Availability<br />
installations.</p>
<p>The presentation is on Basic Load Testing with<br />
Apache JMeter, which is an open-source Java application that is designed<br />
 to simulate http requests and measure performance via response times.</p>
<p>So hope to <a target="_blank" href="http://iecfug.org/page.cfm/meetings">see you there</a>.&nbsp; Our usual agenda is as follows:</p>
<p>6:30-7:00 Networking, Pizza and Drinks<br />
7:00-7:15 Introductions<br />
7:15-7:45 Blackberry Playbook<br />
7:45-8:15 Load Testing</p>
<p><span style="font-weight: bold;">Where:</span><br />
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Arial, sans-serif; font-size: 12px; line-height: 15px; text-align: justify; "><a href="http://www.csupomona.edu/" target="_blank" style="color: rgb(20, 128, 205); text-decoration: underline; ">Cal Poly Pomona </a>starting at 6:15 pm to around 9 pm. We meet in room 5-16 of building 98C&nbsp; (the C/L/A building):<a href="http://www.csupomona.edu/map/static/index.php?structureID=Bg-98" target="_blank" style="color: rgb(20, 128, 205); text-decoration: underline; ">campus map</a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://luismajano.com/2011/04/11/iecfug-meeting-blackberry-playbookairjmeter-load-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>See you at Adobe Max!</title>
		<link>http://luismajano.com/2010/10/18/see-you-at-adobe-max/</link>
		<comments>http://luismajano.com/2010/10/18/see-you-at-adobe-max/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 17:30:19 +0000</pubDate>
		<dc:creator>Luis Majano</dc:creator>
				<category><![CDATA[ColdBox]]></category>
		<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://www.luismajano.com/2010/10/18/see-you-at-adobe-max/</guid>
		<description><![CDATA[Just a quick note that I will be at Adobe Max from Sunday onwards.&#160; I am really excited to be able to participate in this year&#8217;s Max.&#160; Last year I was only able to be there for one day, but this time I will be able to do the majority of the event.&#160; Also, I [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note that I will be at <a href="http://www.google.com/aclk?sa=L&amp;ai=CJzgS7YO8TJmUGoiUsAOZw8iqA66hsrAB2vO99BXqsoPESQgAEAFQ9vCKoP______AWDJjvaGyKOQGcgBAaoEGU_Qg-yRSoOQtbVGNYmpqRpdDAysBmcnd4A&amp;sig=AGiWqtyZJV7ito7ZvqWIEYrXhB4BFZRvAw&amp;adurl=http://max.adobe.com/%3Fsdid%3DFIZRT">Adobe Max</a> from Sunday onwards.&nbsp; I am really excited to be able to participate in this year&#8217;s Max.&nbsp; Last year I was only able to be there for one day, but this time I will be able to do the majority of the event.&nbsp; Also, I will be presenting in the Unconference on <a href="http://wiki.coldbox.org/wiki/MockBox.cfm">MockBox</a>, a new way to unit test with mocks!</p>
<p>Mocking and testing are dear to my heart, so I am very excited to be promoting testing and mocking practices.&nbsp; So if you are&nbsp; unit testing novice or guru, be sure to stop by.&nbsp; This presentation will require your participation!</p>
<p>So if you will be at Max, hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://luismajano.com/2010/10/18/see-you-at-adobe-max/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New ColdBox Addons &#8211; Transfer Config Factory and Transfer Decorator Injector Observer</title>
		<link>http://luismajano.com/2008/07/24/new-coldbox-addons-transfer-config-factory-and-transfer-decorator-injector-observer/</link>
		<comments>http://luismajano.com/2008/07/24/new-coldbox-addons-transfer-config-factory-and-transfer-decorator-injector-observer/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 00:00:00 +0000</pubDate>
		<dc:creator>Luis Majano</dc:creator>
				<category><![CDATA[ColdBox]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[Transfer]]></category>

		<guid isPermaLink="false">http://www.luismajano.com/</guid>
		<description><![CDATA[I am releasing today a set of addons for ColdBox-Transfer interactivity: TransferConfigFactory.cfc : A factory cfc that produces transfer configuration objects based on ColdBox Datasource configurations. This is thanks to Tom de Manincor TDOBeanInjectorObserver.cfc : A transfer observer based on Brian Kotek&#8217;s amazing TDOBeanInjectorObserver in his Coldspring Utilities project, used to create rich decorators by [...]]]></description>
			<content:encoded><![CDATA[<p>I am releasing today a set of addons for ColdBox-Transfer interactivity:</p>
<ol>
<li><strong>TransferConfigFactory.cfc </strong>: A factory cfc that produces transfer configuration objects based on ColdBox Datasource configurations. This is thanks to <a href="http://tomdeman.com/blog/2008/5/29/Dynamic-Datasources-With-Transfer---Using-a-Datasource-Bean-Instead-of-the-Datasourcexml" title="">Tom de Manincor</a></li>
<li><strong>TDOBeanInjectorObserver.cfc</strong> : A transfer observer based on <a href="http://www.briankotek.com/blog/">Brian Kotek&#8217;s</a> amazing TDOBeanInjectorObserver in his <a href="http://coldspringutils.riaforge.org/">Coldspring Utilities project</a>, used to create rich decorators by injecting them with dependencies from Coldspring and Lightwire.  However, we had to take it a step further, so it can even inject dependencies from the ColdBox Cache.</li>
</ol>
<p>You can download these <a href="http://www.coldboxframework.com/download">tools from here</a>. All you need to do to install them is drop them in the <strong>/coldbox/system/extras</strong> folder.  This will create a <strong>transfer</strong> folder that holds these cfc&#8217;s inside of the extras folder.  That&#8217;s it. Then you need to configure them via a coldspring.xml or a lightwire configuration object or manually (ohh brave one).  The tools have also been added to the SVN and I will be adding a link to them from the <a href="http://www.coldboxframework.com/index.cfm/download/extras">extra downloads</a> section of the website. </p>
<h2>Transfer Config Factory</h2>
<p>This object is used to create a transfer configuration object based on the datasource information found in the ColdBox configuration file.  This idea is thanks to <a href="http://tomdeman.com/blog/2008/5/29/Dynamic-Datasources-With-Transfer---Using-a-Datasource-Bean-Instead-of-the-Datasourcexml" title="">Tom de Manincor </a>and his musings in ColdBox-ColdSpring-Transfer.  This let&#8217;s you maintain all of your application&#8217;s configuration in one single location and not create a datasource.xml.  It is meant to be used alongside coldspring but it can be used as a separate object too (You will have to do the wiring).  Anyways, here is a sample coldspring declaration for this usage:</p>
<p><code><br />
<!-- coldbox Factory --><br />
<bean id="ColdboxFactory" class="coldbox.system.extras.ColdboxFactory" singleton="true"/></p>
<p><!-- MyDatasource --><br />
<bean id="MyDSN" factory-bean="ColdBoxFactory" factory-method="getDatasource"><br />
   <constructor-arg name="alias"><br />
	  <value>${TransferDSNAlias}</value><br />
   </constructor-arg><br />
</bean></p>
<p><!-- Coldbox-transfer Config Factory --><br />
<bean id="TransferConfigFactory" class="coldbox.system.extras.transfer.TransferConfigFactory" singleton="true" /></p>
<p><!-- transfer --><br />
<bean id="TransferFactory" class="transfer.TransferFactory" singleton="true"><br />
	<constructor-arg name="configuration"><br />
		<bean factory-bean="TransferConfigFactory" factory-method="getTransferConfig"><br />
			<!-- Config Path --><br />
			<constructor-arg name="configPath"><value>${TransferConfigPath}</value></constructor-arg><br />
			<!-- Definitions Path --><br />
			<constructor-arg name="definitionPath"><value>${TransferDefinitionsPath}</value></constructor-arg><br />
			<!-- ColdBox Datasource Bean --><br />
			<constructor-arg name="dsnBean"><ref bean="MyDSN" /></constructor-arg><br />
		</bean><br />
	</constructor-arg><br />
</bean><br />
<bean id="Transfer" factory-bean="TransferFactory" factory-method="getTransfer"  /></p>
<p></code></p>
<p>As you can see, we first define the coldbox factory element and construct a datasource bean element with it.  We then setup the transferConfigFactory.cfc as a coldspring factory bean.  The last step is configuring the transfer factory. We send in a configuration bean and set it up as a call to our transfer config factory with the same parameters we are used to, except that for datasource we use the <strong>dsnBean</strong> element and have it referenced to the datasource that we want to use, in our case <strong>MyDSN</strong>, that we defined at the beginning. If you need a refresher on how the ColdBox Factory for IoC works, please read the following <a href="http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbColdspringGuide">IoC Integration Guide.</a> That&#8217;s it. Simple as that, now you can define all your configurations via the coldbox configuration file and let coldspring do the heavy lifting. </p>
<h2>TDOBeanInjectorObserver</h2>
<p>This handy tools is based on <a href="http://www.briankotek.com/blog/">Brian Kotek&#8217;s</a> original observer.  I want to say thank you to Brian for his contributions and incredible code. Thanks Brian.  </p>
<p>However, we have modified it to use <strong>ColdBox beanFactory plugin</strong> to do the autowiring for us.  For those familiar with the ColdBox <a href="http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAutowireGuide">autowiring conventions</a>, you can do autowiring via annotations using the <strong>cfproperty</strong> tag or via setter injection.  Not only that, but you can use ColdSpring or Lightwire seamlessly, and to top it off, you can <a href="http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAutowireFromCache">autowire objects from the ColdBox cache</a>.  Here is a sample of some cool autowire annotations:</p>
<p><code><br />
  <cfcomponent name="User" output="false" hint="A transfer decorator User object" extends="transfer.com.TransferDecorator"></p>
<p>    <!--- INjected Dependencies ---><br />
    <cfproperty name="ValidatorFactory"    type="ioc" scope="instance" /><br />
    <cfproperty name="qAvailableCharSets"  type="ocm" scope="variables" /><br />
  </cfcomponent><br />
  </code></p>
<p>  As you can see from the code we have two dependencies marked by their types: <strong>ioc and ocm</strong>.  The type of <strong>ioc</strong> means that this dependency must be injected from the ioc plugin (coldspring/lighwire) and the type of <strong>ocm</strong> means that the dependency must be injected from the ColdBox Cache.  The <strong>scope</strong> attribute is also useful as you can define in which scope or pathed scope you would like this dependency injected.  The default value is <strong>variables</strong>.</p>
<p>The theory behind this tool is to be able to very easily create rich decorators that can be injected with dependencies from the IoC container or the ColdBox Cache.  It is a great way to have your objects be composed of other objects and utilities. So let&#8217;s see the coldspring.xml, but first, please note that the instructions below are for ColdSpring 1.2 that enables the usage of the <strong>lazy-init</strong> property. For Coldpsring 1.0, you will have to do some more manual work. (More instructions found in the cfc&#8217;s themselves).</p>
</p>
<p><code><br />
<!-- coldbox --><br />
<bean id="ColdboxFactory" class="coldbox.system.extras.ColdboxFactory" singleton="true"/><br />
<!-- coldbox bean factory --><br />
<bean id="ColdBoxBeanFactory" factory-bean="ColdBoxFactory" factory-method="getPlugin" singleton="true"><br />
	<constructor-arg name="plugin"><br />
	   <value>beanFactory</value><br />
	</constructor-arg><br />
</bean><br />
<!-- coldbox-transfer observer --><br />
<bean id="TDOBeanInjectorObserver" class="coldbox.system.extras.transfer.TDOBeanInjectorObserver" lazy-init="false"><br />
	<constructor-arg name="Transfer"><ref bean="Transfer"></ref></constructor-arg><br />
	<constructor-arg name="ColdBoxBeanFactory"><ref bean="ColdBoxBeanFactory"></ref></constructor-arg><br />
	<constructor-arg name="useSetterInjection"><value>true or false</value></constructor-arg><br />
	<constructor-arg name="onDICompleteUDF"><value>onDIComplete</value></constructor-arg><br />
	<constructor-arg name="debugMode"><value>true or false</value></constructor-arg><br />
</bean><br />
</code></p>
<p>We first define the ColdBox Factory, then the beanFactory plugin we will use.  We then define our Observer with some cool parameters:</p>
<ul>
<li><strong>Transfer</strong> : The transfer bean reference</li>
<li><strong>ColdBoxBeanFactory</strong> : The beanFactory plugin we just defined</li>
<li><strong>useSetterInjection</strong> : A boolean variable that enables or disabled setter injection in preference of annotations via cfproperty. If enabled, it will do cfproperty annotations first and then look for setters.</li>
<li><strong>onDICompleteUDF</strong> : The name of the UDF to call in your decorators once they have been injected with their dependencies.  The default value used is <strong>onDIComplete</strong>.  This means that you create a method in your decorators called <strong>onDIComplete</strong> or whatever you like and when the bean factory injects the dependencies, it will call this method afterwards. You can use this to do configuration or object setup.</li>
<li><strong>debugMode</strong> : This boolean variable is part of the bean factory plugin. If set to true, it will log to the logging facilities all the interactions when trying to autowire the objects. </li>
</ul>
<p>That&#8217;s it folks. Once application starts up, coldspring will create and register this observer for you. So when transfer objects are created and have autowire dependencies, they will be wired up. </p>
]]></content:encoded>
			<wfw:commentRss>http://luismajano.com/2008/07/24/new-coldbox-addons-transfer-config-factory-and-transfer-decorator-injector-observer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coldspring usage question, please help?</title>
		<link>http://luismajano.com/2007/03/15/Coldspring-usage-question-please-help/</link>
		<comments>http://luismajano.com/2007/03/15/Coldspring-usage-question-please-help/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 00:00:00 +0000</pubDate>
		<dc:creator>Luis Majano</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Coldspring]]></category>

		<guid isPermaLink="false">http://www.luismajano.com/</guid>
		<description><![CDATA[I have a question concerning setting up a service via coldspring. Let&#8217;s say I have object A already instantiated in the application scope and I want it to be injected into every service ColdSpring creates for me. However, I don&#8217;t want object A to be created by ColdSpring. I want to be able to define [...]]]></description>
			<content:encoded><![CDATA[<p>I have a question concerning setting up a service via coldspring. Let&#8217;s say I have object A already instantiated in the application scope and I want it to be injected into every service ColdSpring creates for me. However, I don&#8217;t want object A to be created by ColdSpring.</p>
<p>I want to be able to define in my service definition that for example my <b>UserService</b> will receive this instantiated object as a dependency.  How do I define this?  Is this possible? Am I totally deranged for trying to do this?  Any thoughts? Do you understand my dilema?</p>
<p>I know I can inject it later by hand coding it, but I don&#8217;t want to do that, I want Coldspring to do this for me. Is this possible?</p>
]]></content:encoded>
			<wfw:commentRss>http://luismajano.com/2007/03/15/Coldspring-usage-question-please-help/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

