<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>The Integration Engineer</title>
	
	<link>http://www.theintegrationengineer.com</link>
	<description>When it just has to work.</description>
	<lastBuildDate>Fri, 03 Feb 2012 00:21:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TheIntegrationEngineer" /><feedburner:info uri="theintegrationengineer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://www.theintegrationengineer.com/favicon.ico</link><url>http://www.theintegrationengineer.com/favicon.ico</url><title>The Integration Engineer</title></image><feedburner:emailServiceId>TheIntegrationEngineer</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Welcome to Magento</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/rdJhIruY4Uo/</link>
		<comments>http://www.theintegrationengineer.com/welcome-to-magento/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 02:46:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Welcome]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1986</guid>
		<description><![CDATA[I found this YouTube video from November 2009. If you are or have used Magento, do you think it is living up to the promise? Why or Why not? Welcome to eCommerce Evolved &#8230; Welcome to Magento Video Rating: 4 / 5]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Welcome to Magento" width="89" height="89" title="Welcome to Magento" /></a>I found this YouTube video from November 2009.</p>
<p>If you are or have used Magento, do you think it is living up to the promise?</p>
<p>Why or Why not?<span id="more-1986"></span></p>
<div style="float: left;margin: 5px"><img src="http://i.ytimg.com/vi/BBvsB5PcitQ/default.jpg" alt="default Welcome to Magento"  title="Welcome to Magento" /></div>
<p>Welcome to eCommerce Evolved &#8230; Welcome to Magento<br />
<strong>Video Rating: 4 / 5</strong></p>

<p><a href="http://feedads.g.doubleclick.net/~a/jRwm-AzU17NpTcqv2oCvlHEcCTk/0/da"><img src="http://feedads.g.doubleclick.net/~a/jRwm-AzU17NpTcqv2oCvlHEcCTk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jRwm-AzU17NpTcqv2oCvlHEcCTk/1/da"><img src="http://feedads.g.doubleclick.net/~a/jRwm-AzU17NpTcqv2oCvlHEcCTk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/rdJhIruY4Uo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/welcome-to-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/welcome-to-magento/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=welcome-to-magento</feedburner:origLink></item>
		<item>
		<title>A bug is when…</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/FnDNrhNePNY/</link>
		<comments>http://www.theintegrationengineer.com/a-bug-is-when/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:14:09 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[primary purpose]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1083</guid>
		<description><![CDATA[Bugs are sometimes defined as when a program does anything that the user does not expect.  However sometimes users expect some unreasonable things.  So what is a bug?  Well I definitely think that it is more than when it does something that the programmer doesn&#8217;t expect. In that vein, sometimes bugs can be when the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 A bug is when..." width="150" height="150" title="A bug is when..." /></a> Bugs are sometimes defined as when a program does anything that the user does not expect.  However sometimes users expect some unreasonable things.  So what is a bug?  Well I definitely think that it is more than when it does something that the programmer doesn&#8217;t expect.</p>
<p>In that vein, sometimes bugs can be when the program does things that the programmer did intend.</p>
<p><span id="more-1083"></span></p>
<p>All applications have a primary purpose.  After that they have secondary purposes.  And then many times there are aspects of applications that start to get in the way of the primary purpose.  A good example of that can be found in a popular word processing application from Microsoft.  Taking advantage of this application&#8217;s auto-correction feature, people can create a situation where typing in a common word will auto-correct it so a word that is not intended by the writer.</p>
<p>When this happens we may all laugh, but a secondary feature of the application, (auto-correction), is preventing the primary purpose, (composition), from being accomplished.</p>
<p>There are times in software development, both in user applications, and in back end scripting, when leveraging a secondary feature, subverts the primary purpose.  When that primary purpose is a mission critical function, we can get that call in the middle of the night.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/pzOEbKsvMExr3MxRU8wW7cZjrvQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/pzOEbKsvMExr3MxRU8wW7cZjrvQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pzOEbKsvMExr3MxRU8wW7cZjrvQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/pzOEbKsvMExr3MxRU8wW7cZjrvQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/FnDNrhNePNY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/a-bug-is-when/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/a-bug-is-when/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-bug-is-when</feedburner:origLink></item>
		<item>
		<title>Magento: How to create an international shipping table.</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/lCMzOLggJsw/</link>
		<comments>http://www.theintegrationengineer.com/magento-how-to-create-an-international-shipping-table/#comments</comments>
		<pubDate>Thu, 20 May 2010 16:30:37 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[destination]]></category>
		<category><![CDATA[domestic]]></category>
		<category><![CDATA[flat rate]]></category>
		<category><![CDATA[International]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[Shipping]]></category>
		<category><![CDATA[Table]]></category>
		<category><![CDATA[tier]]></category>
		<category><![CDATA[weight]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1263</guid>
		<description><![CDATA[In my last post I explained how to setup a table of flat rates for shipping.  Magento calls this table rates, but whatever you call it you will have to create a table of values to use to calculate shipping.  In this post I will talk about how to create that table using country codes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento: How to create an international shipping table." width="89" height="89" title="Magento: How to create an international shipping table." /></a>In my last <a href="http://www.theintegrationengineer.com/magento-shipping-tiers/">post </a>I explained how to setup a table of flat rates for shipping.  Magento calls this table rates, but whatever you call it you will have to create a table of values to use to calculate shipping.  In this post I will talk about how to create that table using country codes so that you can assign shipping rates for international shipping.  You will need to do this because you don&#8217;t really want to charge the same shipping for the country where you live, and somewhere much farther away.<span id="more-1263"></span></p>
<p>For me, I am in the USA, so I will have domestic rates for USA, a set of rates for Canada, and then I just threw out a bigger rate for all other international shipping.  I don&#8217;t really have a market there, but if someone wants to pay it, then I will want to sell to them but not have shipping eat up all of my margin.</p>
<p>And I want to use a table rate as I have a variety of vendors that don&#8217;t all charge the same for shipping.  I am averaging their costs to me, and providing a simple, single shipping cost to my customers.<!--more--></p>
<p><strong>Country Codes:</strong></p>
<p>First we  need to get the country codes to use for our table.  These codes will  be the first column of data.</p>
<p>I got a list from here:  <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3" target="_blank">http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3</a></p>
<p>I just cut and past them into a spreadsheet and then  took only the country code column and made it into a text file for my  script. I called the file countrylist.txt. And I moved it into the same directory where I made my script.  Since this is not something that you will be running every day, I just left it mostly primitive.</p>
<p>You can also get a list of countries from the Magento DB if you know where to look.  Here is a query that will pull that table.</p>
<blockquote><p><code>SELECT  *<br />
FROM directory_country</code></p>
<p>You will want to use the iso2_code for your list of country codes.</p></blockquote>
<p><strong>Writing the Script:</strong></p>
<p>Now you will need to write a script (I use perl) that will read the list of country codes, and creates a csv file in the right format to be uploaded to Magento.  The CSV file will have one or more lines for each country depending on how many shipping tiers you have.  My tiers are based on order dollar value, and country destination.  But you could do the same thing with a weight based table you would just need to modify the script to fit that format.</p>
<p>Here is a picture of my script that you can use if you like.  It is pretty primitive, but it does the job.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/shippingTableScript.png"><img class="alignnone size-full wp-image-1266" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/shippingTableScript.png" alt="shippingTableScript Magento: How to create an international shipping table." width="603" height="379" title="Magento: How to create an international shipping table." /></a></p>
<p>Things to note about this script and process:</p>
<ul>
<li>(As I said, in my countries list I removed USA and CAN from and have to add  those rows manually to have separate shipping charges for domestic shipping and Canada.)</li>
<li>(I also removed ROU, as Magento does not know what  that country is.  So no selling to Romainia.  But if you get your list from the Magento DB you won&#8217;t have to remove anything, but you will still be missing this country.)</li>
<li>(And don&#8217;t leave a blank line at the end our you will  have a blank country.)</li>
</ul>
<p><strong>Results</strong></p>
<p>Running the script will create a table that looks like  this:</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/tablerateCSV.png"><img class="alignnone size-full wp-image-1413" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/tablerateCSV.png" alt="tablerateCSV Magento: How to create an international shipping table." width="457" height="150" title="Magento: How to create an international shipping table." /></a></p>
<p>If you need to create separate shipping rates for a  single country you can edit the file for that country.  And in a case where you want to adjust shipping for sub-country regions, you can add lines for a country with states or zip codes  to give those areas special shipping rates.</p>
<p>If you want to make groups of shipping rates, you can separate the country codes in the countrylist.txt file and edit the  script accordingly.  Or you can make a more complex listing of values to loop through and really edit this script to make a really complex table and set of tiers.  I kept this example simple  on purpose.</p>
<p>Of course, if you create multiple csv files, you will need to merge the files into one  tablerate.csv file to upload to Magento.  Magento only takes one upload as the complete shipping table.  If you get crazy, you may want to create a script that will merge your multiple shipping tables into a single file.  But really this is just a CSV file and we probably won&#8217;t ever need to do that far.</p>
<p><strong>Remember</strong>.  Uploading this table will replace  the current table.  This does not just add the new rows or rules.  So you will have to update your table of shipping rates all at once.</p>
<p><object id="Player_80534364-121c-420a-aeb2-4dc4d05c48de" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400px" height="150px" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&amp;Operation=GetDisplayTemplate" /><param name="name" value="Player_80534364-121c-420a-aeb2-4dc4d05c48de" /><param name="align" value="middle" /><embed id="Player_80534364-121c-420a-aeb2-4dc4d05c48de" type="application/x-shockwave-flash" width="400px" height="150px" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&amp;Operation=GetDisplayTemplate" align="middle" name="Player_80534364-121c-420a-aeb2-4dc4d05c48de" allowscriptaccess="always" bgcolor="#FFFFFF" quality="high"></embed></object> <noscript><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&#038;Operation=NoScript" mce_HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&amp;Operation=NoScript">Amazon.com Widgets</A></noscript></p>

<p><a href="http://feedads.g.doubleclick.net/~a/6u9JG8bS-RzbEWANKhuLnYcWEHI/0/da"><img src="http://feedads.g.doubleclick.net/~a/6u9JG8bS-RzbEWANKhuLnYcWEHI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6u9JG8bS-RzbEWANKhuLnYcWEHI/1/da"><img src="http://feedads.g.doubleclick.net/~a/6u9JG8bS-RzbEWANKhuLnYcWEHI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/lCMzOLggJsw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-how-to-create-an-international-shipping-table/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-how-to-create-an-international-shipping-table/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-how-to-create-an-international-shipping-table</feedburner:origLink></item>
		<item>
		<title>Untested Desaster Recovery Plans</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/zicpyLRNEis/</link>
		<comments>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 16:55:31 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Disaster]]></category>
		<category><![CDATA[Disaster Recovery Plan]]></category>
		<category><![CDATA[Dream]]></category>
		<category><![CDATA[plan]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1056</guid>
		<description><![CDATA[Or as I like to call them, &#8220;Disaster Recovery Dreams.&#8221;  Sure, you need to have a plan before you can test it.  But before you really tell customers, management, team members or even yourself that you have a Disaster Recovery Plan, you need to have it tested.  Until them you are dreaming. All this does [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Untested Desaster Recovery Plans" width="150" height="150" title="Untested Desaster Recovery Plans" /></a>Or as I like to call them, &#8220;Disaster Recovery Dreams.&#8221;  Sure, you need to have a plan before you can test it.  But before you really tell customers, management, team members or even yourself that you have a Disaster Recovery Plan, you need to have it tested.  Until them you are dreaming.</p>
<p>All this does not mean that you test it once, and then leave it to age in the recesses of your file server.  This is a plan that needs to be reviewed periodically.  With every major release.  The parts of the disaster recovery plan like database restore activities need to be requested every few months to make sure that the tasks are repeatable and the backups are valid and ensure that a recovery is possible.</p>
<p><span id="more-1056"></span></p>
<p>These periodic and onging tests and updates make sure that if you ever have to implement your plan, that you will be recovering to your current system, not to the system when the plan was created.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/pYEMQA7a4rJn47ZnsG55dZ2_F_c/0/da"><img src="http://feedads.g.doubleclick.net/~a/pYEMQA7a4rJn47ZnsG55dZ2_F_c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pYEMQA7a4rJn47ZnsG55dZ2_F_c/1/da"><img src="http://feedads.g.doubleclick.net/~a/pYEMQA7a4rJn47ZnsG55dZ2_F_c/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/zicpyLRNEis" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/untested-desaster-recovery-plans/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=untested-desaster-recovery-plans</feedburner:origLink></item>
		<item>
		<title>Web Development and Canonical Links</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/6IX_G8OB8yQ/</link>
		<comments>http://www.theintegrationengineer.com/web-development-and-canonical-links/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:38:36 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[backlink]]></category>
		<category><![CDATA[canonical]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[link juice]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=2523</guid>
		<description><![CDATA[In another post I talked about using Canonical Links on Magento to preserve the link juice in pages that are found both on their url key and on one or more category paths.  But some people have wondered why they would need to do this.  Well here is that explanation from Google. Gotta love those [...]]]></description>
			<content:encoded><![CDATA[<p>In another post I talked about using <a href="http://www.theintegrationengineer.com/magento-seo-canonical-links/">Canonical Links on Magento</a> to preserve the link juice in pages that are found both on their url key and on one or more category paths.  But some people have wondered why they would need to do this.  Well here is that explanation from Google.</p>
<p>Gotta love those guys at Google. This video goes for 20 minutes.  The short version is that if you have a page that can be found at more than one url, (www.example.com/howto/ and www.example.com/tutorial/howto/), search engines that crawl your site won&#8217;t know that these should really be the same page.  You will also get people that will backlink to both.</p>
<p><span id="more-2523"></span></p>
<p>These cause the relevance and value of your page to be distributed across both url indexes of the search engines.  Using canonical link tags tells the search engines that no matter where it came from or the path used to get to the page, that it should be indexed as the link specified in the canonical link tag.</p>
<p>This keeps all of the relevance and backlink and other types of link juice concentrated to the one URL specified.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/yRp12gOmb2N7nNJ0ZLbBz_Ho8uE/0/da"><img src="http://feedads.g.doubleclick.net/~a/yRp12gOmb2N7nNJ0ZLbBz_Ho8uE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yRp12gOmb2N7nNJ0ZLbBz_Ho8uE/1/da"><img src="http://feedads.g.doubleclick.net/~a/yRp12gOmb2N7nNJ0ZLbBz_Ho8uE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/6IX_G8OB8yQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/web-development-and-canonical-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/web-development-and-canonical-links/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=web-development-and-canonical-links</feedburner:origLink></item>
		<item>
		<title>When Words Fail use a Whiteboard</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/QLLOT0tTuNA/</link>
		<comments>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 15:42:46 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[diagram]]></category>
		<category><![CDATA[illustrate]]></category>
		<category><![CDATA[picture]]></category>
		<category><![CDATA[white board]]></category>
		<category><![CDATA[whiteboard]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1050</guid>
		<description><![CDATA[I know it may sound cleche to state that a picture is worth a thousand words.  But some things are just really difficult to communicate in text.  You may have noticed a few diagrams showing up in my posts here.  Well, I have found that there are times in a conversation with other programmers, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 When Words Fail use a Whiteboard" width="150" height="150" title="When Words Fail use a Whiteboard" /></a>I know it may sound cleche to state that a picture is worth a thousand words.  But some things are just really difficult to communicate in text.  You may have noticed a few diagrams showing up in my posts here.  Well, I have found that there are times in a conversation with other programmers, and more often in conversations with non-technical collegues that I am saying, &#8220;I need a whiteboard.&#8221;</p>
<p>Because of this propensity to illustrate my explanations, people have jokingly said that I couldn&#8217;t talk if they took my dry erase markers away.  At the same time, being able to communicate with others that are not versed in programming, databases, chemestry, or any other disapline that you find yourself will be a useful skill that will help you with your immediate project, and can advance your career.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Iwqv6X1KiSl2uB91uKU6vkmZh50/0/da"><img src="http://feedads.g.doubleclick.net/~a/Iwqv6X1KiSl2uB91uKU6vkmZh50/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Iwqv6X1KiSl2uB91uKU6vkmZh50/1/da"><img src="http://feedads.g.doubleclick.net/~a/Iwqv6X1KiSl2uB91uKU6vkmZh50/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/QLLOT0tTuNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/when-words-fail-use-a-whiteboard/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=when-words-fail-use-a-whiteboard</feedburner:origLink></item>
		<item>
		<title>Magento Shipping Tiers</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/WFiW8XXHKt0/</link>
		<comments>http://www.theintegrationengineer.com/magento-shipping-tiers/#comments</comments>
		<pubDate>Wed, 19 May 2010 16:30:58 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[flat]]></category>
		<category><![CDATA[rate]]></category>
		<category><![CDATA[Shipping]]></category>
		<category><![CDATA[table rate]]></category>
		<category><![CDATA[tier]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1230</guid>
		<description><![CDATA[I recently had to setup a tiered shipping table for a client on Magento.  I did find some instructions, but there were a few missing steps.  So here is a more comprehensive set of step by step instructions. This is something that you will need to do if you are spreading and averaging the cost [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento Shipping Tiers" width="89" height="89" title="Magento Shipping Tiers" /></a>I recently had to setup a tiered shipping table for a client on Magento.  I did find some instructions, but there were a few missing steps.  So here is a more comprehensive set of step by step instructions.</p>
<p>This is something that you will need to do if you are spreading and averaging the cost of multiple drop shipping vendors, and shielding your customers from getting unique shipping costs for each product.  You want to make sure that you aren&#8217;t gouging your customers, as they will notice and go elsewhere.  And it isn&#8217;t nice.  But you also want to make sure that you are not eating into your margins too much.</p>
<p>If you are starting a new store, you will probably be needing to evaluate and adjust your shipping table every week as you get data on the average cost and charge.</p>
<p><span id="more-1230"></span></p>
<p>If you want to check out the wiki page about this on Magento Commerce, go here. <a href="http://www.magentocommerce.com/knowledge-base/entry/how-do-i-set-up-table-rate-shipping" target="_blank">http://www.magentocommerce.com/knowledge-base/entry/how-do-i-set-up-table-rate-shipping</a>.  But all of the information is also in this post.</p>
<p><strong>Step 1: &#8220;Enabling Table Rates&#8221;<br />
</strong></p>
<p>Login to Admin and go to System&gt;Configuration</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/BrowseSystemConfig.png"><img class="alignnone size-full wp-image-1405" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/BrowseSystemConfig.png" alt="BrowseSystemConfig Magento Shipping Tiers" width="151" height="214" title="Magento Shipping Tiers" /></a></p>
<p>On the Left side navigation click on Shipping Methods in the Sales   group.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/ConfigSalesShippingMethod.png"><img class="alignnone size-full wp-image-1406" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/ConfigSalesShippingMethod.png" alt="ConfigSalesShippingMethod Magento Shipping Tiers" width="139" height="119" title="Magento Shipping Tiers" /></a><br />
Expand the Table Rate  in the main window and set enabled to &#8220;YES&#8221;</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/EnableTableRate.png"><img class="alignnone size-full wp-image-1407" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/EnableTableRate.png" alt="EnableTableRate Magento Shipping Tiers" width="405" height="279" title="Magento Shipping Tiers" /></a></p>
<p>We are calling this  &#8220;Standard Shipping&#8221; so if this is a new install, change the Title to  this.  (This is what is displayed to the web site user and on their  emails)</p>
<p>Make sure to   set condition to &#8220;Price vs. Destination&#8221;</p>
<p>Calculate should be  fixed, and handling should be &#8220;0&#8243; if you have no handling charge.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/SaveConfig.png"><img class="alignnone size-full wp-image-1408" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/SaveConfig.png" alt="SaveConfig Magento Shipping Tiers" width="153" height="147" title="Magento Shipping Tiers" /></a></p>
<p>Now save the Config  before you move on or your changes will be lost.</p>
<p><strong>Step 2.  &#8220;Creating or Modifying the Rates Table&#8221;</strong></p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/navigateToStore.png"><img class="alignnone size-full wp-image-1409" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/navigateToStore.png" alt="navigateToStore Magento Shipping Tiers" width="164" height="177" title="Magento Shipping Tiers" /></a></p>
<p>Now again on the left  side navigation, find the &#8220;Current Configuration Scope&#8221; and select your &#8220;Main Website&#8221;.</p>
<p style="padding-left: 30px">For clarity it should look like this exactly:</p>
<p style="padding-left: 30px"><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/mainWebsite.gif"><img class="alignnone size-full wp-image-1658" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/mainWebsite.gif" alt="mainWebsite Magento Shipping Tiers" width="233" height="98" title="Magento Shipping Tiers" /></a></p>
<p style="padding-left: 30px">Thanks Clockman</p>
<p>(If you need to,  navigate back to the Table Rate.  Sometimes it seems to know you need to be there, other times you are at the root of the configuration settings after selecting the Main Website.)</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/exportImportTable.png"><img class="alignnone size-full wp-image-1410" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/exportImportTable.png" alt="exportImportTable Magento Shipping Tiers" width="407" height="295" title="Magento Shipping Tiers" /></a></p>
<p>Now you have an &#8220;Export  CSV&#8221; button, and an &#8220;Import&#8221; file selection Menu</p>
<p>If you need to get the  format, click on the export button and save the current table to your  desktop.</p>
<p>When you are ready to  upload, click the &#8220;Browse&#8221; button off of the &#8220;Import&#8221; option, and select  the file with the table you are ready to upload.</p>
<p><strong>Remember</strong>.  Uploading this table will replace the current table. This does not just  add the new rows or rules.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/SaveConfig.png"><img class="alignnone size-full wp-image-1408" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/SaveConfig.png" alt="SaveConfig Magento Shipping Tiers" width="153" height="147" title="Magento Shipping Tiers" /></a></p>
<p>Then save the config to  upload the new table.  (for some reason there is no &#8220;import&#8221; button)</p>
<p>Now you have just  updated the table rate shipping.</p>
<p><a href="http://www.theintegrationengineer.com/magento-how-to-create-an-international-shipping-table/">Tomorrow </a>I will list the instructions for getting and creating a shipping table including international shipping.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/QrKUg6waGJc9ZrV5Nthq8c8NpqA/0/da"><img src="http://feedads.g.doubleclick.net/~a/QrKUg6waGJc9ZrV5Nthq8c8NpqA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/QrKUg6waGJc9ZrV5Nthq8c8NpqA/1/da"><img src="http://feedads.g.doubleclick.net/~a/QrKUg6waGJc9ZrV5Nthq8c8NpqA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/WFiW8XXHKt0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-shipping-tiers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-shipping-tiers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-shipping-tiers</feedburner:origLink></item>
		<item>
		<title>Undefined Data or the Catalyst of Chaos</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/8SzhdBrgM6Q/</link>
		<comments>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 16:16:14 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[CDATA]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Undefined Data]]></category>
		<category><![CDATA[ZZ]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1043</guid>
		<description><![CDATA[When the definition for a data field or element is undefined or otherwise open to the whim of the user, we are asking for trouble.  Not in the sense that this causes trouble.  But how it is then used that causes trouble.  And this is not to pick on the CDATA tag in XML or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Undefined Data or the Catalyst of Chaos" width="150" height="150" title="Undefined Data or the Catalyst of Chaos" /></a>When the definition for a data field or element is undefined or otherwise open to the whim of the user, we are asking for trouble.  Not in the sense that this causes trouble.  But how it is then used that causes trouble.  And this is not to pick on the CDATA tag in XML or ZZ qualified elements in EDI.  It seems that every data format of any size of adoption commits this sin of categorisation.</p>
<p>My general recommendation is to avoid using undefined or user defined data.  Relying on a user defined field that we use to solve a problem by working around some limitation (or perceived limitation) of the file data definition, may give us a feeling of power.  But over the long haul turns the implementation into a proprietary implementation that is not reusable with more than one trading partner.</p>
<p><span id="more-1043"></span></p>
<p>And having each integration using a slightly unique implementation leads to chaos.  Both in suppport, and in the applicaiton of updates.</p>
<p>Undefined data exists.  People will use it.  You will have to deal with it as some time, but whenever possible. avaid making it a critical part of the implementation, and always provide it with a healty dose of error handling.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/-yQYZYPvJOdJt00bzSu9kQTNQTo/0/da"><img src="http://feedads.g.doubleclick.net/~a/-yQYZYPvJOdJt00bzSu9kQTNQTo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-yQYZYPvJOdJt00bzSu9kQTNQTo/1/da"><img src="http://feedads.g.doubleclick.net/~a/-yQYZYPvJOdJt00bzSu9kQTNQTo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/8SzhdBrgM6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/undefined-data-or-the-catalyst-of-chaos/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=undefined-data-or-the-catalyst-of-chaos</feedburner:origLink></item>
		<item>
		<title>Magento Theme Install</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/pXvBt9xFRh4/</link>
		<comments>http://www.theintegrationengineer.com/magento-theme-install/#comments</comments>
		<pubDate>Wed, 05 May 2010 16:14:45 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Manual Theme Install]]></category>
		<category><![CDATA[Telescope]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1215</guid>
		<description><![CDATA[Here is a walk through of installing the &#8220;Telescope Magento&#8221; theme on a 1.3.3.0 Magento basic install. First download the theme.  (you can find it at the link above.) When you open this file there is a quick PDF explaining some basics on how to install the theme.  There are also two folders, one is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento Theme Install" width="89" height="89" title="Magento Theme Install" /></a>Here is a walk through of installing the &#8220;<a href="http://www.magthemes.com/free-themes/telescope-magento-theme.html">Telescope Magento</a>&#8221; theme on a 1.3.3.0 Magento basic install.</p>
<p>First download the theme.  (you can find it at the link above.)</p>
<p>When you open this file there is a quick PDF explaining some basics on how to install the theme.  There are also two folders, one is app/ and the other is skin/  both of these could be copied into the root folder where Magento is living.  (yep, there is an app/ and skin/ folders there already.  But you should be able to just copy right over them.)<span id="more-1215"></span></p>
<p>Now you will need to login to your admin page of your store.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/system-config.jpg"><img class="alignnone size-full wp-image-1217" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/system-config.jpg" alt="system config Magento Theme Install" width="484" height="282" title="Magento Theme Install" /></a></p>
<p>Go to the System&gt;Configuration menu.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/design.jpg"><img class="alignnone size-full wp-image-1218" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/design.jpg" alt="design Magento Theme Install" width="288" height="224" title="Magento Theme Install" /></a></p>
<p>Then click on design in the navigation on the left.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/theme.jpg"><img class="alignnone size-full wp-image-1219" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/theme.jpg" alt="theme Magento Theme Install" width="349" height="241" title="Magento Theme Install" /></a></p>
<p>To change configuration to use the new theme, put the name of the the template folder in the Template, Skin and Layout folders.  Place &#8220;default&#8221; into the Default blank.  (you can find the name of the folder by browsing to the app/design/frontend/default/ folder.)</p>
<p>Be sure to click the &#8220;Save Config&#8221; button, and you are done.  Now you can browse to the front page of your store and see your new theme.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/telescope.jpg"><img class="alignnone size-full wp-image-1220" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/05/telescope.jpg" alt="telescope Magento Theme Install" width="380" height="321" title="Magento Theme Install" /></a></p>
<p>The logo is located at &#8220;skin/frontend/default/Telescope_1.2/images/&#8221; starting at the Magento root directory.</p>
<p>(You might want to change the logo.  You can find a logo.gif file at &#8220;skin/frontend/default/Telescope_1.2/images/&#8221; off of the magento root.  Use it as a template to make a log file the same size and replace it.)<br />
  <A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&amp;Operation=NoScript">Amazon.com Widgets</A></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WaQhnUii6oRXB9f-_GyRQTUbZRw/0/da"><img src="http://feedads.g.doubleclick.net/~a/WaQhnUii6oRXB9f-_GyRQTUbZRw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WaQhnUii6oRXB9f-_GyRQTUbZRw/1/da"><img src="http://feedads.g.doubleclick.net/~a/WaQhnUii6oRXB9f-_GyRQTUbZRw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/pXvBt9xFRh4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-theme-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-theme-install/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-theme-install</feedburner:origLink></item>
		<item>
		<title>Sum of its Tasks</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/eYTUno6trGQ/</link>
		<comments>http://www.theintegrationengineer.com/sum-of-its-tasks/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 16:06:45 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Project Planning]]></category>
		<category><![CDATA[Time Estimates]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1015</guid>
		<description><![CDATA[Just like synergy, a projects time-line is generally greater than the sum of its tasks.  Taking the time to complete tasks in a project together, there will need to be time between tasks.  Some of this time will just be spent updating people, and coordination of project participants.  There are also other needs, like water [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Sum of its Tasks" width="150" height="150" title="Sum of its Tasks" /></a>Just like synergy, a projects time-line is generally greater than the sum of its tasks.  Taking the time to complete tasks in a project together, there will need to be time between tasks.  Some of this time will just be spent updating people, and coordination of project participants.  There are also other needs, like water and bio-breaks.</p>
<p>Just like productivity during the day generally gives people a 15 minute break every 3 hrs or so.  When we plan our projects, we need to include not just the time that it takes to perform the collective tasks, but other activities that will be happening during the course of the project.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/aziaSEWody2O1NXDSRKkrm518eg/0/da"><img src="http://feedads.g.doubleclick.net/~a/aziaSEWody2O1NXDSRKkrm518eg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aziaSEWody2O1NXDSRKkrm518eg/1/da"><img src="http://feedads.g.doubleclick.net/~a/aziaSEWody2O1NXDSRKkrm518eg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/eYTUno6trGQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/sum-of-its-tasks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/sum-of-its-tasks/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sum-of-its-tasks</feedburner:origLink></item>
		<item>
		<title>Magento Insights</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/A66CiQ8lzBA/</link>
		<comments>http://www.theintegrationengineer.com/magento-insights/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 14:48:18 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[entity]]></category>
		<category><![CDATA[extentions]]></category>
		<category><![CDATA[magento insights]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1127</guid>
		<description><![CDATA[For the past few weeks I have been working in an integration project with the Magento shopping system. As I am doing this I am learning some new things about how it works in the inside. I hope that these insights will be helpful to others that are trying to figure this out and make [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.magentocommerce.com"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento Insights" width="89" height="89" title="Magento Insights" /></a>For the past few weeks I have been working in an integration project with the <a href="http://www.magentocommerce.com">Magento </a>shopping system.  As I am doing this I am learning some new things about how it works in the inside.  I hope that these insights will be helpful to others that are trying to figure this out and make Magento integrations easier for others.</p>
<p>As always there are a few areas that I plan on covering.  Here is my short list:<span id="more-1127"></span></p>
<ul>
<li> Structure of Magento&#8217;s database.</li>
<li> Importing data.</li>
<li> Exporting data</li>
<li> Extracting data directly from the database</li>
<li> Building extensions that help with integrations.</li>
</ul>
<p>Please feel free to comment and ask for me to add to this list.<br />
  <A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822%2FUS%2Ftheinteengi-20%2F8010%2F80534364-121c-420a-aeb2-4dc4d05c48de&amp;Operation=NoScript">Amazon.com Widgets</A></p>

<p><a href="http://feedads.g.doubleclick.net/~a/lQhOWKDAPUR0ZeBHyc9_ObFHQvE/0/da"><img src="http://feedads.g.doubleclick.net/~a/lQhOWKDAPUR0ZeBHyc9_ObFHQvE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lQhOWKDAPUR0ZeBHyc9_ObFHQvE/1/da"><img src="http://feedads.g.doubleclick.net/~a/lQhOWKDAPUR0ZeBHyc9_ObFHQvE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/A66CiQ8lzBA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-insights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-insights/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-insights</feedburner:origLink></item>
		<item>
		<title>Validate all Inbound Data</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/ZkY3s9qkt2Y/</link>
		<comments>http://www.theintegrationengineer.com/validate-all-inbound-data/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 15:24:44 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Error Handling]]></category>
		<category><![CDATA[Inbound Data]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[Pre-processing]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1013</guid>
		<description><![CDATA[Odd errors can occur when you get data that doesn&#8217;t fit the format, but matches close enough not to fail outright.  This type of error can be really hard to unravel. Preventing these messy errors, it is a good practice to implement a validation process before processing the data.  Some integration technologies come with validation, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Validate all Inbound Data" width="150" height="150" title="Validate all Inbound Data" /></a>Odd errors can occur when you get data that doesn&#8217;t fit the format, but matches close enough not to fail outright.  This type of error can be really hard to unravel. Preventing these messy errors, it is a good practice to implement a validation process before processing the data.  Some integration technologies come with validation, if yours doesn&#8217;t you should pre-process inbound data for validation.</p>
<p>In addition to this, pre validation can be used as a way to catch and handle other errors early.  Leveraging pre-processing with validation and error handling can give you a one stop place to catch, and report or correct systemic problems.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/zmRZDC_CB4eVYaglezCCQAhpXZQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/zmRZDC_CB4eVYaglezCCQAhpXZQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/zmRZDC_CB4eVYaglezCCQAhpXZQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/zmRZDC_CB4eVYaglezCCQAhpXZQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/ZkY3s9qkt2Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/validate-all-inbound-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/validate-all-inbound-data/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=validate-all-inbound-data</feedburner:origLink></item>
		<item>
		<title>Magento: Change that Increment ID</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/iuLZosPNe_Y/</link>
		<comments>http://www.theintegrationengineer.com/magento-change-that-increment-id/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 12:12:08 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[increment_id]]></category>
		<category><![CDATA[Invoice]]></category>
		<category><![CDATA[Order]]></category>
		<category><![CDATA[shipment]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=2516</guid>
		<description><![CDATA[If you are just starting to use Magento, or you have a Magento that is integrating with another processing system, then it is likely that you don&#8217;t want to use the default order numbering increment. If you just need to change the starting number to avoid colliding with existing orders or to make the Magento [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento: Change that Increment ID" width="89" height="89" title="Magento: Change that Increment ID" />If you are just starting to use Magento, or you have a Magento that is integrating with another processing system, then it is likely that you don&#8217;t want to use the default order numbering increment. If you just need to change the starting number to avoid colliding with existing orders or to make the Magento order numbers resemble an order numbering system that is compatable or similar to what you used before Magento.</p>
<p>In any case you have decided to change the increment ID for your orders.  The fast and easy way is to just change the value in the database.  There are basically two steps.</p>
<p><span id="more-2516"></span></p>
<p><strong>Step 1.  Find the Store ID.</strong></p>
<p>Even if you have only one store, you don&#8217;t want to guess at your store ID.  Log into mysql and run this query.</p>
<blockquote><p>SELECT store_id, name FROM core_store;</p></blockquote>
<p>This will return your store name and its ID.</p>
<p><strong>Step 2.  Update the order increment ID for your store.</strong></p>
<p>Run this query.</p>
<blockquote><p>UPDATE eav_entity_store SET increment_last_id = [new order value]  WHERE store_id =[your store id] and  entity_type_id  =11;</p></blockquote>
<p>Make sure to put in the new increment value where [new order value] is, and your store id where [[your store id] is in this query.</p>
<p><strong>Changing other increments.</strong></p>
<p>If you need to change the other increment values like the Invoice Increment or the Shipment Increment, use the same query in Step 2, but change the entity_type_id to 16 for invoices and 19 for shipments.  You can find these and other entity type ID values in the eav_entity_type table.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/delTRShB8kDvqZqSv7fBGl8X6xM/0/da"><img src="http://feedads.g.doubleclick.net/~a/delTRShB8kDvqZqSv7fBGl8X6xM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/delTRShB8kDvqZqSv7fBGl8X6xM/1/da"><img src="http://feedads.g.doubleclick.net/~a/delTRShB8kDvqZqSv7fBGl8X6xM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/iuLZosPNe_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-change-that-increment-id/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-change-that-increment-id/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-change-that-increment-id</feedburner:origLink></item>
		<item>
		<title>Choosing a Standard to Grow on.</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/hMbu3PW6TCI/</link>
		<comments>http://www.theintegrationengineer.com/choosing-a-standard-to-grow-on/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 14:20:34 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[EDI]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[standardization]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=87</guid>
		<description><![CDATA[Regardless of the standards that you adopt for your integrations, you need to pick some.  EDI, XML, or any of the others.  You need to evaluate and decide on a standard that will do what you need.  And you need to be prepared to present it to your trading partners. This also applies to other [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Choosing a Standard to Grow on." width="150" height="150" title="Choosing a Standard to Grow on." /></a></strong></p>
<p>Regardless of the standards that you adopt for your integrations, you need to pick some.  EDI, XML, or any of the others.  You need to evaluate and decide on a standard that will do what you need.  And you need to be prepared to present it to your trading partners.</p>
<p><span id="more-87"></span></p>
<p>This also applies to other parts of your business.  Picking a standard platform for your development and standard tools for development.  And so forth.</p>
<p>Even small companies benefit from standardization.  Don&#8217;t be afraid to put your technology people in a room and ask them to provide standard recommendations.  But there are two cautions.</p>
<p>1.  The latest and greatest, may look cool to the tech people, but may also be a platform that is unproven and will change radically in a short time.</p>
<p>2.  Not all open source is good.  If you are going open source as part of your platform, look at the quality of the community that supports them.  (This is also true for non-open source technologies.)</p>

<p><a href="http://feedads.g.doubleclick.net/~a/bO_bm61D5oqutWv7LMl4fyQl3nU/0/da"><img src="http://feedads.g.doubleclick.net/~a/bO_bm61D5oqutWv7LMl4fyQl3nU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bO_bm61D5oqutWv7LMl4fyQl3nU/1/da"><img src="http://feedads.g.doubleclick.net/~a/bO_bm61D5oqutWv7LMl4fyQl3nU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/hMbu3PW6TCI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/choosing-a-standard-to-grow-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/choosing-a-standard-to-grow-on/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=choosing-a-standard-to-grow-on</feedburner:origLink></item>
		<item>
		<title>How not to get an interview</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/UaUV-Jfhenk/</link>
		<comments>http://www.theintegrationengineer.com/how-not-to-get-an-interview/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 12:41:05 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[skills test]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=2528</guid>
		<description><![CDATA[A strange thing happened to me the other day.  A friend of mine showed me an email he had received from a job applicant. Okay, that in and of itself is not that strange.  It was really the content of the email.  It went something like this; I received the sample specification that you sent [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2008/09/question-key.jpg"><img class="alignleft size-thumbnail wp-image-33" src="http://www.theintegrationengineer.com/wp-content/uploads/2008/09/question-key-150x150.jpg" alt="question key 150x150 How not to get an interview" width="150" height="150" title="How not to get an interview" /></a>A strange thing happened to me the other day.  A friend of mine showed me an email he had received from a job applicant.</p>
<p>Okay, that in and of itself is not that strange.  It was really the content of the email.  It went something like this;<span id="more-2528"></span></p>
<blockquote><p>I received the sample specification that you sent me.  But I have no experience with Magento, and have never claimed to have any experience in Magento.  I don&#8217;t write code that require learning a new framework without a signed contract.  So if you want me to learn a new framework we will need a contract.</p></blockquote>
<p>Or something like that.</p>
<p>Well we had a good laugh, and then continued to have a good laugh as we crafted our response.  It went like this;<br />
<code><br />
   &lt;?php<br />
   /**<br />
   * Magento Developer Process<br />
   * How to get an interview<br />
   */<br />
      $you = Mage::getModel('workforce/applicant');<br />
      $company = Mage::getModel('workforce/employeer');<br />
      if($you-&gt;hasFinishedEvaluation()){<br />
         if($you-&gt;getEvaluationLevel() &gt;= $us-&gt;getExpectedLevel()){<br />
            $us-&gt;haveYouInForAnInterview($you);<br />
         } else {<br />
            $us-&gt;saySorry($you);<br />
         }<br />
      } else {<br />
         $us-&gt;ignore($you);<br />
      }<br />
  ?&gt;<br />
</code></p>
<p>So I don&#8217;t know if this will make any sense to most people.  And this code does not actually work in the Magento framework to do anything.  So don&#8217;t run it.  But it was fun to encode an answer that will also probably not be understood by the job applicant.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/QISgBo1xY-LkG7PuNiocYv040ew/0/da"><img src="http://feedads.g.doubleclick.net/~a/QISgBo1xY-LkG7PuNiocYv040ew/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/QISgBo1xY-LkG7PuNiocYv040ew/1/da"><img src="http://feedads.g.doubleclick.net/~a/QISgBo1xY-LkG7PuNiocYv040ew/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/UaUV-Jfhenk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/how-not-to-get-an-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/how-not-to-get-an-interview/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-not-to-get-an-interview</feedburner:origLink></item>
		<item>
		<title>Magento Module Install Script made Simple</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/T-ZHh-LQzDo/</link>
		<comments>http://www.theintegrationengineer.com/magento-module-install-script-made-simple/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 13:24:05 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[install script]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=2615</guid>
		<description><![CDATA[If you are making a module for Magento, you may need to add an attribute, alter some settings or do a variety of things when the Module is installed. Magento has a facility to do this. Here is an example of a simple way to add a resource to your Module that will run when [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" title="magento_button" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento Module Install Script made Simple" width="89" height="89" /></a>If you are making a module for Magento, you may need to add an attribute, alter some settings or do a variety of things when the Module is installed. Magento has a facility to do this.</p>
<p>Here is an example of a simple way to add a resource to your Module that will run when it is installed.<span id="more-2615"></span></p>
<p><strong>Creating the directory and file stucture needed for the install script:</strong></p>
<p>Normal file structure for a Module in Magento goes something like this.  Starting with a name space for your Module from the app directory, /app/code/local/NameSpace  where &#8220;NameSpace&#8221; is your company or project.  Inside NameSpace we create a directroy named logically or functionally after what you want the module to do.  I tend toward the functional, so if I were making a example module, the path is /app/come/local/NameSpace/Example/</p>
<p>Inside Example we create the etc/ directory, the Model/ Block/ Helper/ controler/ directories as needed.</p>
<p>For the install script we create a directory called:  sql/ and inside this directory make a directory called example_setup.  This is where we will place the install script.</p>
<p>I recommend not trying to be fancy with naming of directories and files here and just following the pattern.</p>
<p><strong>Naming the Install script:</strong></p>
<p>Name the file of your install script mysql4-install-X.X.X.php  (where X.X.X is the version number of the config.xml file.)</p>
<p>The X.X.X number can be longer or shorter, but follow the pattern to avoid problems the first time you do this.  The version number in the config.xml file must match the version for the install file.  This number links these files together so they will be executed at the right time and in the right order, and not executed again after the first time for the install.</p>
<p>If you have seen other modules that use the install scripts, you will probably see that they also utilize upgrade scripts.  The  functionality is the same, but the nameing convention changes to be a range of versions.  For an upgrade the file should be named; mysql4-upgrade-X.X.X-Y.Y.Y.php  (where the X.X.X is the former version, and Y.Y.Y is the new, current version.  Make sure you also change the config.xml file version number to the Y.Y.Y or your script won&#8217;t execute.</p>
<p><strong>Adding the resource to the config.xml file:</strong></p>
<p>Just adding the install and upgrade scripts won&#8217;t make them run.  You also need them to be registered as resources in the config.xml file for your module.  This is actually very simple to do.</p>
<p>open your config.xml and find or create the &lt;global&gt; node.  It should be a child node of &lt;config&gt;</p>
<p>add a resource node like this:</p>
<pre>        &lt;resources&gt;
            &lt;example_setup&gt;
                &lt;setup&gt;
                    &lt;module&gt;NameSpace_Example&lt;/module&gt;
                &lt;/setup&gt;
                &lt;connection&gt;
                    &lt;use&gt;core_setup&lt;/use&gt;
                &lt;/connection&gt;
            &lt;/example_setup&gt;
        &lt;/resources&gt;</pre>
<p>Of course you will replace the &#8216;example&#8217; in the &lt;example_setup&gt; tag with your module name. And the NameSpace with your name space.</p>
<p>I recommend adding this after your create your install script. Once you add this, Magento will add your module to the recource table with the version number.</p>
<p><strong>Testing that your script is being executed:</strong></p>
<p>The install script is just a php script.  So the cheapest way to make sure that you have all of the setup done correctly is to use a die statement.</p>
<p>In the top of the PHP file, just say die(&#8216;The Example Install Script is executing here.&#8221;);</p>
<p>At this point, when you go to your Magento on any url, Magento will detect the uninstalled resource.  And it will run the install script and show you the die message as the only response.</p>
<p>It will look like your store is gone.  But once you remove the die statement, everything will work like before.</p>
<p>One thing to note is that the die statement will prevent Magento from registering the resource in the DB, so it is important to have the die statement before you run any other changes or Magento will run them again after you have removed it.</p>
<p><strong>A quick note on Module and Versions:</strong></p>
<p>The first time you build an install script, you may need to run it several times to make every thing work correctly.  An easy way to do this if you have access to your Magento Database is to delete the resource out of the database to force it to run the install script again.  Its located in the core_resource table, and indexed with the child node tag of the &lt;resource&gt; tag.</p>
<p>So a SQL statement would look like this:  DELETE FROM core_resource WHERE code = &#8216;example_setup&#8217;;</p>
<p>Of course you will need to add a table prefix to &#8216;core_resource&#8217; if you are using one, and use your module&#8217;s setup tag.</p>
<p>However I strongly caution against deleting resources from the table after they have moved to the upgrade scripts.  Doing so will tell Magento to execute all of the install and upgrade scripts, and this can wreck your store.  I did this on accident deleting the sales_setup resource and had to reinstall.  It was a sad day.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/-ZaUdtk_xxxKBxRd0vTaps6pRIo/0/da"><img src="http://feedads.g.doubleclick.net/~a/-ZaUdtk_xxxKBxRd0vTaps6pRIo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-ZaUdtk_xxxKBxRd0vTaps6pRIo/1/da"><img src="http://feedads.g.doubleclick.net/~a/-ZaUdtk_xxxKBxRd0vTaps6pRIo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/T-ZHh-LQzDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-module-install-script-made-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-module-install-script-made-simple/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-module-install-script-made-simple</feedburner:origLink></item>
		<item>
		<title>Accuracy of the timeline</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/4N5Ifr84ggE/</link>
		<comments>http://www.theintegrationengineer.com/accuracy-of-the-timeline/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:01:26 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integratoin Tip]]></category>
		<category><![CDATA[Project Planning]]></category>
		<category><![CDATA[Time Estimates]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1010</guid>
		<description><![CDATA[The accuracy of the time-line will only be as accurate as the accuracy of the least accurate task estimate. The time estimate part of project planning is a tricky thing.  Generally there is some guessing involved.  To keep us from falling short a good practice is to pad estimates to account for the unforeseeable.  Project [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 Accuracy of the timeline" width="150" height="150" title="Accuracy of the timeline" /></a>The accuracy of the time-line will only be as accurate as the accuracy of the least accurate task estimate.</p>
<p>The time estimate part of project planning is a tricky thing.  Generally there is some guessing involved.  To keep us from falling short a good practice is to pad estimates to account for the unforeseeable.  Project planners can&#8217;t just pad and pad.  There is pressure from the other side to keep your estimates accurate and keep your time-line short.  Time is money after all.</p>
<p><span id="more-1010"></span></p>
<p>So how do we put enough time in the time-line to not fall short, and keep the time-line from getting too long and expensive?  Well that is a dance that takes some practice to learn.</p>
<p>Just remember, when you pad your estimate to your project leader or get and estimate from someone on your project, that padding is necessary, and you should discuss it openly.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/H2zZJzD5bCWFBw3znTDn4RsMeOc/0/da"><img src="http://feedads.g.doubleclick.net/~a/H2zZJzD5bCWFBw3znTDn4RsMeOc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/H2zZJzD5bCWFBw3znTDn4RsMeOc/1/da"><img src="http://feedads.g.doubleclick.net/~a/H2zZJzD5bCWFBw3znTDn4RsMeOc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/4N5Ifr84ggE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/accuracy-of-the-timeline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/accuracy-of-the-timeline/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=accuracy-of-the-timeline</feedburner:origLink></item>
		<item>
		<title>Magento SEO:  Change the Title of your Product Page</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/rYslPar4eK4/</link>
		<comments>http://www.theintegrationengineer.com/magento-seo-change-the-title-of-your-product-page/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 13:39:03 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Title]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1870</guid>
		<description><![CDATA[By default Magento makes the name of the product the page title.  And this is way better than having every page have the same title as the main site&#8217;s title.  It&#8217;s good to have the different aspects of a page, not be identical.  So we have things like description, keywords, title, header tags and other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png"><img class="alignleft size-full wp-image-1128" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/04/magento_button.png" alt="magento button Magento SEO:  Change the Title of your Product Page" width="89" height="89" title="Magento SEO:  Change the Title of your Product Page" /></a>By default Magento makes the name of the product the page title.  And this is way better than having every page have the same title as the main site&#8217;s title.  It&#8217;s good to have the different aspects of a page, not be identical.  So we have things like description, keywords, title, header tags and other content that does not just repeat the same keywords over and over.</p>
<p>Changing the Title of the product page is one of those opportunities.</p>
<p><span id="more-1870"></span>Changing it manually is pretty straight forward.</p>
<p>Log into the Admin Pannel, and go to the Catalog&gt;Manage Product menu</p>
<p>From there select the item that you wish to update.</p>
<p>On the left side you will see a navigation menu with &#8220;Meta Information&#8221;</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta.png"><img class="alignleft size-thumbnail wp-image-1846" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta-150x150.png" alt="item meta 150x150 Magento SEO:  Change the Title of your Product Page" width="150" height="150" title="Magento SEO:  Change the Title of your Product Page" /></a></p>
<p>Select that options and you will see this form:</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta-fields.png"><img class="alignnone size-full wp-image-1847" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta-fields.png" alt="item meta fields Magento SEO:  Change the Title of your Product Page" width="590" height="399" title="Magento SEO:  Change the Title of your Product Page" /></a></p>
<p>The very first field is Meta Title.  This is the field that you need to update to change the title of the Product Page to a SEO or alternative value.</p>
<p>Simply put the title in this field.  Do not put any HTML or other markup here as this will not work and may break your page when it displays.</p>
<p>Click on the Save button.</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/07/magento_save_config.png"><img class="alignnone size-full wp-image-1646" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/07/magento_save_config.png" alt="magento save config Magento SEO:  Change the Title of your Product Page" width="125" height="38" title="Magento SEO:  Change the Title of your Product Page" /></a></p>
<p>And you have just update the title of the Product page.</p>
<p>If you are managing your catalog by uploading a spread sheet, look for a column called &#8220;meta_title&#8221; and use this field for your SEO content.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Id7hz0n7T6yzRtw4E0g36MKOJWE/0/da"><img src="http://feedads.g.doubleclick.net/~a/Id7hz0n7T6yzRtw4E0g36MKOJWE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Id7hz0n7T6yzRtw4E0g36MKOJWE/1/da"><img src="http://feedads.g.doubleclick.net/~a/Id7hz0n7T6yzRtw4E0g36MKOJWE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/rYslPar4eK4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-seo-change-the-title-of-your-product-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-seo-change-the-title-of-your-product-page/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-seo-change-the-title-of-your-product-page</feedburner:origLink></item>
		<item>
		<title>How to get more projects done on time.</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/TBmGwBfvfxU/</link>
		<comments>http://www.theintegrationengineer.com/how-to-get-more-projects-done-on-time/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 16:15:09 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[Integration Tips]]></category>
		<category><![CDATA[Integration Tip]]></category>
		<category><![CDATA[pad]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[project manager]]></category>
		<category><![CDATA[Time Estimates]]></category>
		<category><![CDATA[time-line]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1713</guid>
		<description><![CDATA[You may have noticed this before, but in case you haven&#8217;t, many many many projects are not completed on their due date. I know this is shocking, and if you are a new project manager, you may want to leave the blog now.  Continuing to read this article may result in the following. Better understanding [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art.jpg"><img class="alignleft size-thumbnail wp-image-999" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/01/buddha-clip-art-150x150.jpg" alt="buddha clip art 150x150 How to get more projects done on time." width="150" height="150" title="How to get more projects done on time." /></a>You may have noticed this before, but in case you haven&#8217;t, many many many projects are not completed on their due date.</p>
<p>I know this is shocking, and if you are a new project manager, you may want to leave the blog now.  Continuing to read this article may result in the following.</p>
<ol>
<li>Better understanding of the factors that should go into a project plan time-line.</li>
<li>More effective communication with the key players in your project.</li>
<li>Increased ability to accurately predict the completion time of a project.</li>
</ol>
<p>If this frightens you&#8230;</p>
<p>Well at least you have been warned.<span id="more-1713"></span></p>
<p><strong>Rule One:  The slowest horse determines the speed of the wagon.</strong></p>
<p>Some people will be able to get their jobs done faster than others.  Some times this is predictable, and a consistent level of performance.  Some times people are just lucky.  But just because you have one race horse does not mean that the wagon will speed up.</p>
<p>First of all, that workaholic may begin to burn out if they are constantly pulling other peoples weight.  Don&#8217;t let them take on too much of the tasks.</p>
<p>Secondly, you need to give everyone else a chance to get that experience.</p>
<p>So pace the project with a base-line of performance.  Then whey you get done a little early, you can all look heroic.</p>
<p><strong>Rule Two:  Determining the time of the project by analyzing the time of the tasks.</strong></p>
<p>Yes this sounds simple.  And you may have been given a deadline from above.  But that does not mean that you should not start with the incremental tasks.</p>
<ul>
<li>Call a meeting, and have everyone report on how long their part will take.</li>
<li>plug it all into a project plan, and see how much past your deadline it puts you.</li>
<li>After that, open the discussion on how to get all the work done by the project deadline.</li>
<li>If there is no way, then push back on those giving the deadline.</li>
<li>But if it is possible, you are better off if the team figures out where to put the extra muscle to push the task along.</li>
</ul>
<p><strong>Rule Three:  Pad for the unforeseeable.</strong></p>
<p>If you know that you need to pad a time estimate because experience tells you that it takes longer than the sum of the discrete tasks, then by all means pad the estimate.  But don&#8217;t hide that from your team, or if you are not the project leader, then don&#8217;t hide that from you project leader.</p>
<p>The need to pad times is just a reality.  People get interrupted both by life, and work.  There is nothing wrong with saying, &#8220;Well it takes 10 minutes to setup one customer, so lets say that we can get 4 done an hour.&#8221;  Then if you can beat that time you are ahead.</p>
<p><strong>Rule Four:  Make sure you have regular checkpoints </strong></p>
<p>If you are on a project that takes a week, you need to be checking in with the players, and the team as a whole more than just at the kick-off and wrap-up meetings.  Sometimes you need to have a daily meeting.  (sometimes more than that.)  But leaving even the best professionals off by themselves will always mean that you are blindsided when the deadline is missed.</p>
<p>Checking in won&#8217;t mean that things won&#8217;t take longer than they were planned, but they will allow you to know about them, and possibly compensate for one or more unforeseen delays.</p>
<p><strong>Rule Five:  Participate in open discussions about the time-line.</strong></p>
<p>From the very beginning, the project time-line should be published and discussed in every meeting about the project.  Sometimes having a conference room or some location where the time-line and project status can be posted will serve as a banner to let everyone know where the team stands.</p>
<p>When problems come up, have a quick brains storming session about how to correct the course and get the project back on the time-line.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Tt6HCkVkP6WGEtGppRVD_nXwqoY/0/da"><img src="http://feedads.g.doubleclick.net/~a/Tt6HCkVkP6WGEtGppRVD_nXwqoY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Tt6HCkVkP6WGEtGppRVD_nXwqoY/1/da"><img src="http://feedads.g.doubleclick.net/~a/Tt6HCkVkP6WGEtGppRVD_nXwqoY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/TBmGwBfvfxU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/how-to-get-more-projects-done-on-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/how-to-get-more-projects-done-on-time/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-to-get-more-projects-done-on-time</feedburner:origLink></item>
		<item>
		<title>Magento SEO – Meta Description</title>
		<link>http://feedproxy.google.com/~r/TheIntegrationEngineer/~3/unzYAca4EKM/</link>
		<comments>http://www.theintegrationengineer.com/magento-seo-meta-description/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 18:33:47 +0000</pubDate>
		<dc:creator>Roy</dc:creator>
				<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[click through]]></category>
		<category><![CDATA[Description]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Description]]></category>
		<category><![CDATA[search results]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SPR]]></category>

		<guid isPermaLink="false">http://www.theintegrationengineer.com/?p=1834</guid>
		<description><![CDATA[Ever notice what you are looking for something on a search engine, that much of the time you get a nice, short, descriptive text burb.  Some even have a call to action enticing the searcher to visit the site to buy or find out more?  Well, this is not an accident.  And if you are searching [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/magnify.jpg"><img class="alignleft size-thumbnail wp-image-1843" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/magnify-150x150.jpg" alt="magnify 150x150 Magento SEO   Meta Description" width="150" height="150" title="Magento SEO   Meta Description" /></a>Ever notice what you are looking for something on a search engine, that much of the time you get a nice, short, descriptive text burb.  Some even have a call to action enticing the searcher to visit the site to buy or find out more?  Well, this is not an accident.  And if you are searching and find your own products from your store, and they nave a block of text that looks amazingly like the short description and gets chopped with a &#8230; or something at the end.  Well, that is not an accident either.</p>
<p>If you want to change that so that your items are the ones with the cool, FAB statement with the Call To Action at the end, then here is how to do just that.</p>
<p>First, it is important to make your SRP data as effective as possible.  Better than PPC, the search results are what a searcher is looking for, and is more likely to receive a click through.  So making sure your data tells the search engine what to say about the products on your site, allows you to control this message.</p>
<p><span id="more-1834"></span></p>
<p>And control of your message is what helps you get traffic from search results.</p>
<p>Here is how the search engines decide what text to use.  They use the &lt;meta content=&#8221;description&#8221;&gt; tag contents.  Its really that simple.</p>
<p>But looking back at our store&#8217;s SRP data, and we still see the chopped short description.  Well, when nobody tells Magento what to use for the meta description, it defaults to the description.  This is better than nothing.  But we can do better, and there is a straight forward way to tell Magento what we want to say to the search engines.</p>
<p>If you go into the Catalog&gt;Manage Products menu, you sill have these options:</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta.png"><img class="alignnone size-full wp-image-1846" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta.png" alt="item meta Magento SEO   Meta Description" width="243" height="191" title="Magento SEO   Meta Description" /></a></p>
<p>Select the &#8220;Meta Information and look at these three fields:</p>
<p><a href="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta-fields.png"><img class="alignnone size-full wp-image-1847" src="http://www.theintegrationengineer.com/wp-content/uploads/2010/10/item-meta-fields.png" alt="item meta fields Magento SEO   Meta Description" width="590" height="399" title="Magento SEO   Meta Description" /></a></p>
<p><strong>Meta Title</strong> allows you to use an alternate title for the item product page.  You might want to create a SEO page title.  If you leave this blank, Magento will use the product&#8217;s name as the page title.  Again, this is better than nothing.</p>
<p><strong>Meta Keyword</strong>s allows you to specify item specific keywords.  You might want to do this to enhance your SEO of this page.  If you don&#8217;t enter anything here, it will use the keywords from the configuration web settings.</p>
<p><strong>Meta Description</strong> allows you to specify the description that you want the search engines to use.  This field has a max of 255 character, but you should keep it to under 160 so that you don&#8217;t have your description truncated.  This is also not the place to pack keywords.</p>
<p>I recommend a simple statement that showcases a selling point.  A FAB statement.  (FAB stands for Features, Attributes and Benefits)  Followed by a simple call to action statement.  Something like &#8220;Buy now&#8221;, or &#8220;Find out more&#8221;, will do.</p>
<p>Because of the size constraints you will find that your meta descriptions are sounding a lot alike if you have more than a few products.  And this is okay.  Most likely you will only be returning one result on the SRP, so know one is going to notice that you are repeating.</p>
<p>And that is it.  Populate this field with something coherant, and searchers will be able to tell why they should click on your link better than with just the default description.</p>
<p><strong>PS</strong>:  This is also available if you are importing your catalog.  Look for a field called, &#8220;meta_description&#8221; in your catalog format.  There is also one for title and keyword.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/JhmGh2oz2PDJbZYI7DXOVf3koUI/0/da"><img src="http://feedads.g.doubleclick.net/~a/JhmGh2oz2PDJbZYI7DXOVf3koUI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JhmGh2oz2PDJbZYI7DXOVf3koUI/1/da"><img src="http://feedads.g.doubleclick.net/~a/JhmGh2oz2PDJbZYI7DXOVf3koUI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/TheIntegrationEngineer/~4/unzYAca4EKM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.theintegrationengineer.com/magento-seo-meta-description/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.theintegrationengineer.com/magento-seo-meta-description/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=magento-seo-meta-description</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic

Served from: www.theintegrationengineer.com @ 2012-02-04 09:54:42 -->

