<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joe Strong</title>
	<atom:link href="http://www.joestrong.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joestrong.co.uk</link>
	<description>ジョーストロング</description>
	<lastBuildDate>Fri, 13 Jan 2012 21:03:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CSS Tip: Extend your site&#8217;s footer to the bottom of the page</title>
		<link>http://www.joestrong.co.uk/blog/css-tip-extend-your-sites-footer-to-the-bottom-of-the-page/</link>
		<comments>http://www.joestrong.co.uk/blog/css-tip-extend-your-sites-footer-to-the-bottom-of-the-page/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 16:29:59 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=138</guid>
		<description><![CDATA[The problem with creating a footer with an image background on a web page is that when the page is shallow or the visitor is using a high resolution monitor the footer image does not extend to the bottom of &#8230; <a href="http://www.joestrong.co.uk/blog/css-tip-extend-your-sites-footer-to-the-bottom-of-the-page/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.joestrong.co.uk/wp-content/uploads/footer-extend.png"><img class="size-full wp-image-150 alignright" title="Footer extending" src="http://www.joestrong.co.uk/wp-content/uploads/footer-extend.png" alt="" width="236" height="182" /></a>The problem with creating a footer with an image background on a web page is that when the page is shallow or the visitor is using a high resolution monitor the footer image does not extend to the bottom of the page.</p>
<p>This happens because there&#8217;s no way in CSS to know the space between the top of the footer and the bottom of the window, otherwise we&#8217;d be able to scale the footer area&#8217;s height to compensate.</p>
<p>Instead we can apply the fix with this code:</p>
<pre class="brush: css; title: ; notranslate">
html, body{
    height: 100%
}
.site-container{
    overflow: hidden;
    min-height: 100%;
    min-width: 960px;
}
.footer{
    padding-bottom: 32000px;
    margin-bottom: -32000px;
}
</pre>
<p>We are adding a large padding to the bottom of the footer to extend the background, then we bring up the bottom margin by using a negative value so the DIV&#8217;s space effectively ends where it did before the padding relative to the DOM elements around it.</p>
<p>The site-container has an overflow to hide the overflowing footer padding and stop the vertical scrollbars. However to stop the container cropping too far up the page we set it&#8217;s min-height to be 100% so the earliest the footer will be cropped is the bottom of the window unless the content is larger than the window size.</p>
<p>In CSS you can&#8217;t normally use 100% for a min-height (or height) so to fix this you need to add a 100% height to the html and body element. This quirky code will fix that for you.</p>
<p>It&#8217;s worth noting that I&#8217;ve also added a min-width to the site-container, this should be your site&#8217;s width. It will ensure that we still get horizontal scrollbars when we scale down the browser while we have the &#8216;overflow: hidden&#8217; set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/css-tip-extend-your-sites-footer-to-the-bottom-of-the-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Tip: How to match column heights in CSS</title>
		<link>http://www.joestrong.co.uk/blog/css-tip-how-to-match-column-heights-in-css/</link>
		<comments>http://www.joestrong.co.uk/blog/css-tip-how-to-match-column-heights-in-css/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 19:59:07 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=119</guid>
		<description><![CDATA[You&#8217;ve created a website design which looks great, until your content causes  one column to extend longer than the other, causing the second column&#8217;s background to come short. Of course you can fix these issues by having all your backgrounds &#8230; <a href="http://www.joestrong.co.uk/blog/css-tip-how-to-match-column-heights-in-css/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve created a website design which looks great, until your content causes  one column to extend longer than the other, causing the second column&#8217;s background to come short.</p>
<p>Of course you can fix these issues by having all your backgrounds in one graphic that sits behind your site, but you have issues with scalability and large graphic images. A better solution is possible; with a bit of understanding you&#8217;ll have this down in no time:</p>
<pre class="brush: css; title: ; notranslate">.LeftColumn,
.RightColumn{
    float: left;
    width: 200px;
    padding-bottom: 30000px;
    margin-bottom: -30000px;
}
.RightColumn{
    width: 400px;
} </pre>
<p>Make sure your 2 columns are floated next to each other in a container. As you see in the above code, I&#8217;ve added 30,000px extra padding to the bottom of both columns to extend them for as much as we&#8217;ll need down the page. The negative margins will stop their Container from being pushed down in height.</p>
<p>The columns&#8217; backgrounds will still show below the Container so the overflow hidden style on the container will fix this. As long as the Container does not have a fixed height set, it will not clip your content:</p>
<pre class="brush: css; title: ; notranslate">.Container{
width: 600px;
margin: 0 auto;
overflow: hidden;
}</pre>
<p><a href="http://jsfiddle.net/joestrong/gsSt4/" target="_blank">Click here for a demo with source code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/css-tip-how-to-match-column-heights-in-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Tip: Preventing horizontal scrollbars in complex CSS layouts</title>
		<link>http://www.joestrong.co.uk/blog/preventing-horizontal-scrollbars-in-complex-css-layouts/</link>
		<comments>http://www.joestrong.co.uk/blog/preventing-horizontal-scrollbars-in-complex-css-layouts/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 18:25:14 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=88</guid>
		<description><![CDATA[You have just designed a complex layout and have started implementing it on the web, but some layered elements that stick out over the right-hand side of the page creating horizontal scrollbars at the bottom of the page. The CSS &#8230; <a href="http://www.joestrong.co.uk/blog/preventing-horizontal-scrollbars-in-complex-css-layouts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_99" class="wp-caption alignright" style="width: 246px"><a href="http://www.joestrong.co.uk/wp-content/uploads/overflow-x-1.png"><img class="size-full wp-image-99 " title="overflow-x-1" src="http://www.joestrong.co.uk/wp-content/uploads/overflow-x-1.png" alt="" width="236" height="182" /></a><p class="wp-caption-text">A simple site causing unwanted scrollbars</p></div>
<p>You have just designed a complex layout and have started implementing it on the web, but some layered elements that stick out over the right-hand side of the page creating horizontal scrollbars at the bottom of the page.</p>
<p><span id="more-88"></span></p>
<p>The CSS property overflow-x allows us to hide content that overflows its container on the horizontal axis. A quick and dirty fix for our problem would be to add this to our body tag:</p>
<pre class="brush: css; title: ; notranslate">body{
    overflow-x: hidden;
}</pre>
<div id="attachment_100" class="wp-caption aligncenter" style="width: 246px"><a href="http://www.joestrong.co.uk/wp-content/uploads/overflow-x-2.png"><img class="size-full wp-image-100 " title="overflow-x-2" src="http://www.joestrong.co.uk/wp-content/uploads/overflow-x-2.png" alt="" width="236" height="182" /></a><p class="wp-caption-text">The website now hiding the horizontal scrollbar</p></div>
<p>The problem with this is that when we resize our browser down so far that our main article content gets obscured, the scrollbars are still gone and users can&#8217;t read your content.</p>
<p>The solution is to wrap your site in a DIV that you can allow to go full width. Put the overflow property on this element with a min-width of your site&#8217;s main width:</p>
<pre class="brush: css; title: ; notranslate">.Container{
overflow-x: hidden;
min-width: 900px;
position: relative; /* IE7 */
}</pre>
<p>The DIV goes as wide as the BODY tag and as thin as your site&#8217;s content boundaries. The special elements outside this DIV will be clipped.</p>
<p><a href="http://jsfiddle.net/joestrong/aJ7Yv/" target="_blank">Click here for a Demo with example code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/preventing-horizontal-scrollbars-in-complex-css-layouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up WordPress correctly on NearlyFreeSpeech.NET</title>
		<link>http://www.joestrong.co.uk/blog/web/setting-up-wordpress-correctly-on-nearlyfreespeech-net/</link>
		<comments>http://www.joestrong.co.uk/blog/web/setting-up-wordpress-correctly-on-nearlyfreespeech-net/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 18:27:35 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=81</guid>
		<description><![CDATA[I have found in my experiences with WordPress installations that sometimes they work like a dream, yet at other times, or on other web hosts they seem to work fine until you try to upload an image to the Media &#8230; <a href="http://www.joestrong.co.uk/blog/web/setting-up-wordpress-correctly-on-nearlyfreespeech-net/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have found in my experiences with WordPress installations that sometimes they work like a dream, yet at other times, or on other web hosts they seem to work fine until you try to upload an image to the Media library or try to update a plugin automatically without FTP. I decided to try to solve this issue once and for all.</p>
<p><span id="more-81"></span></p>
<p>The web host I was using was <a href="http://www.nearlyfreespeech.net">NearlyFreeSpeech</a>, they are a web host that charge you based on what you use as opposed to a monthly fee which can drive down costs dramatically, I suggest you check them out.</p>
<p>NearlyFreeSpeech have a great blog post that outlines how their permissions and security work on their server. You can find the article <a href="http://blog.nearlyfreespeech.net/2007/01/28/writing-files-in-php/">here</a>.</p>
<p>The main points to note from the article are:</p>
<ul>
<li>The files you upload are owned by a user called &#8216;me&#8217; and a group called &#8216;me&#8217;. The user that the webserver runs under belongs in a group called &#8216;web&#8217;.</li>
<li>Your FTP user is the &#8216;me&#8217; user, all files and folders are set to read, write and execute for the user, which makes sense because you want to be able to manage your files via FTP.</li>
<li>The webserver user or its &#8216;web&#8217; group don&#8217;t own your files so it has to fall back on the permissions for other/everyone as to whether it can read/write/execute. We can&#8217;t set these permissions to write for security reasons.</li>
<li>By changing the group owner of your files to &#8216;web&#8217; the webserver&#8217;s user will follow the group permissions, which can have the write permission.</li>
<li>Nearlyfreespeech uses safe_mode in php and with that you are restricted to the directories you can manipulate because of open_basedir. We will have to prevent WordPress using the /tmp directory which is outside of the /public folder on NearlyFreeSpeech.</li>
</ul>
<div>Steps to install WordPress on NearlyFreeSpeech:</div>
<div>
<ol>
<li>Upload your WordPress files via SFTP</li>
<li>Create your WordPress database</li>
<li>SSH into your server using a program like Putty for windows</li>
<li>Navigate to your /public folder in Putty and run this command to change the group owner on all files to &#8216;web&#8217;:<br />
chgrp -R web *<br />
You can run ls -l to check the group owner on your files.</li>
<li>You may need to go up a directory and change the group owner on the public folder itself :<br />
chgrp web public<br />
This way WordPress can create files inside the public folder.</li>
<li>In your FTP software create a folder called &#8216;tmp&#8217; inside your public folder</li>
<li>Add this code to your wp-config.xml file:<br />
<code>if ( !defined('WP_TEMP_DIR') )<br />
define('WP_TEMP_DIR', dirname(__FILE__) . '/tmp/');</code><br />
This will tell WordPress to use the new tmp folder.</li>
<li>Add this code to your wp-config.xml file:<br />
<code>define ('FS_METHOD', 'direct');</code><br />
This will override WordPress&#8217; permission checks on the server and force WordPress to use &#8216;direct&#8217; for updates (automatic without FTP)</li>
<li>Check your file permissions, the user and group should have write access, other/everyone should not (Definately no 777 permissions allowed!)</li>
<li>Run your WordPress Install script</li>
<li>Done!</li>
</ol>
</div>
<p>The only thing to note is that newly added files are not automatically added to the web group, so its possible you will need to set the group owner again for your files, but this is now just a single command.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/web/setting-up-wordpress-correctly-on-nearlyfreespeech-net/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Adobe releases new Web Design software for Designers &#8211; Adobe Muse &amp; Adobe Edge</title>
		<link>http://www.joestrong.co.uk/blog/web/adobe-releases-new-web-design-software-for-designers-adobe-muse-adobe-edge/</link>
		<comments>http://www.joestrong.co.uk/blog/web/adobe-releases-new-web-design-software-for-designers-adobe-muse-adobe-edge/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 12:12:38 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=50</guid>
		<description><![CDATA[It&#8217;s surprising it hasn&#8217;t been done before, or at least by a leading company like Adobe; develop a set of programs for designing for the web that doesn&#8217;t require the ability or knowledge to write code. It may be in &#8230; <a href="http://www.joestrong.co.uk/blog/web/adobe-releases-new-web-design-software-for-designers-adobe-muse-adobe-edge/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.joestrong.co.uk/wp-content/uploads/adobe-muse-icon-150x150.jpg" alt="adobe-muse-icon" title="adobe-muse-icon" width="150" height="150" class="alignright size-thumbnail wp-image-67" />It&#8217;s surprising it hasn&#8217;t been done before, or at least by a leading company like Adobe; develop a set of programs for designing for the web that doesn&#8217;t require the ability or knowledge to write code.</p>
<p>It may be in the future that <em>developing for the web</em> becomes practically obsolete. It makes sense that you should be able to design for the web without code. It&#8217;s not often that you find people that can master both design and development.</p>
<p><strong>Why should designers need to learn HTML or CSS?</strong> Designers lay out visually for print design in software such as Adobe InDesign, yet it comes to lay out a web design you are confronted with code. Even software such as Adobe Dreamweaver really doesn&#8217;t lend itself to designers and you find that your result does not work correctly on all platforms; you are required to learn to code to fix browser consistencies.</p>
<p>Here is the lowdown on Adobe&#8217;s new products:</p>
<p><span id="more-50"></span></p>
<h2>Adobe Muse</h2>
<p>This is the big one. Adobe Muse is a joy to look at; immediately after opening it you can compare it to InDesign. Simply drag elements on the page where you want them to be, it&#8217;s that simple. Click preview and you can test your new website immediately.</p>
<p><strong>But how well does it work with how the web works?</strong><br />
As soon as you create a new document you are presented with options such as Page Width, <strong>Min Height, yes pages are scalable</strong>, Centre Horizontally and Columns.</p>
<p>In Plan view you can create a site structure with ease, it&#8217;s drag and drop! You also have master pages, create your layout on the master page and every new page you add automatically has the layout you want that you can change in a flash!</p>
<p>In Design view you can drag and drop numerous widgets on to the page, among them are Navigational Menus. Menus added to the page can automatically reflect the site&#8217;s structure with drop-out hover events if necessary.</p>
<p>It seems like everything has been thought of, but time will tell as users test out Adobe&#8217;s latest product.<br />
You can download a beta version of <a href="http://muse.adobe.com">Adobe Muse</a></p>
<h2>Adobe Edge</h2>
<p>Edge meaning cutting edge? If Muse was the InDesign of the web, Edge could well be the After Effects. Essentially mimicing Flash with support for the latest web technologies, you can create animated areas for your website without code and support the latest HTML5 web standards. This means that designers can easily create animations for the latest web browsers without users needing a plugin such as Flash Player to run them.</p>
<p>This is a great step for Adobe as Flash is slowly losing its place, part of it down to Flash Player not being available for Apple&#8217;s mobile and tablet devices.</p>
<p>You can download a preview version of <a href="www.adobe.com/EdgePreview">Adobe Edge</a></p>
<p>The real question these products make us ask..<br />
Are these product the designer&#8217;s saviour, or are Adobe trying hard to fix what has to stay as a code-oriented industry?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/web/adobe-releases-new-web-design-software-for-designers-adobe-muse-adobe-edge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to delete test orders in Magento</title>
		<link>http://www.joestrong.co.uk/blog/magento/how-to-delete-test-orders-in-magento/</link>
		<comments>http://www.joestrong.co.uk/blog/magento/how-to-delete-test-orders-in-magento/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 12:56:29 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=35</guid>
		<description><![CDATA[Magento doesn&#8217;t give the ability natively to clear/remove existing orders. You may find that after testing you have test records left over. The following SQL will delete all orders from your Magento installation, so you should do this before you &#8230; <a href="http://www.joestrong.co.uk/blog/magento/how-to-delete-test-orders-in-magento/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Magento doesn&#8217;t give the ability natively to clear/remove existing orders. You may find that after testing you have test records left over. The following SQL will delete <strong>all</strong> orders from your Magento installation, so you should do this before you go live with your site. It is recommended that you back-up your database before executing these rules.<br />
<span id="more-35"></span></p>
<p>For Magento version 1.5.0.1:</p>
<p><code>SET FOREIGN_KEY_CHECKS=0;<br />
TRUNCATE `sales_flat_order`;<br />
TRUNCATE `sales_flat_order_address`;<br />
TRUNCATE `sales_flat_order_grid`;<br />
TRUNCATE `sales_flat_order_item`;<br />
TRUNCATE `sales_flat_order_status_history`;<br />
TRUNCATE `sales_flat_quote`;<br />
TRUNCATE `sales_flat_quote_address`;<br />
TRUNCATE `sales_flat_quote_address_item`;<br />
TRUNCATE `sales_flat_quote_item`;<br />
TRUNCATE `sales_flat_quote_item_option`;<br />
TRUNCATE `sales_flat_order_payment`;<br />
TRUNCATE `sales_flat_quote_payment`;<br />
TRUNCATE `sales_flat_shipment`;<br />
TRUNCATE `sales_flat_shipment_item`;<br />
TRUNCATE `sales_flat_shipment_grid`;<br />
TRUNCATE `sales_flat_invoice`;<br />
TRUNCATE `sales_flat_invoice_grid`;<br />
TRUNCATE `sales_flat_invoice_item`;<br />
TRUNCATE `sendfriend_log`;<br />
TRUNCATE `tag`;<br />
TRUNCATE `tag_relation`;<br />
TRUNCATE `tag_summary`;<br />
TRUNCATE `wishlist`;<br />
TRUNCATE `log_quote`;<br />
TRUNCATE `report_event`;<br />
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;<br />
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;<br />
ALTER TABLE `wishlist` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `report_event` AUTO_INCREMENT=1;<br />
-- lets reset customers<br />
TRUNCATE `customer_address_entity`;<br />
TRUNCATE `customer_address_entity_datetime`;<br />
TRUNCATE `customer_address_entity_decimal`;<br />
TRUNCATE `customer_address_entity_int`;<br />
TRUNCATE `customer_address_entity_text`;<br />
TRUNCATE `customer_address_entity_varchar`;<br />
TRUNCATE `customer_entity`;<br />
TRUNCATE `customer_entity_datetime`;<br />
TRUNCATE `customer_entity_decimal`;<br />
TRUNCATE `customer_entity_int`;<br />
TRUNCATE `customer_entity_text`;<br />
TRUNCATE `customer_entity_varchar`;<br />
TRUNCATE `log_customer`;<br />
TRUNCATE `log_visitor`;<br />
TRUNCATE `log_visitor_info`;<br />
ALTER TABLE `customer_address_entity` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_customer` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_visitor` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1;<br />
-- Now, lets Reset all ID counters<br />
TRUNCATE `eav_entity_store`;<br />
ALTER TABLE `eav_entity_store` AUTO_INCREMENT=1;<br />
SET FOREIGN_KEY_CHECKS=1;</code></p>
<p>For Magento version 1.4.1.x or 1.4.2.0:</p>
<p><code><br />
-- Reset Magento TEST Data<br />
SET FOREIGN_KEY_CHECKS=0;<br />
-- reset dashboard search queries<br />
TRUNCATE `catalogsearch_query`;<br />
ALTER TABLE `catalogsearch_query` AUTO_INCREMENT=1;<br />
-- reset sales order info<br />
TRUNCATE `sales_flat_creditmemo`;<br />
TRUNCATE `sales_flat_creditmemo_comment`;<br />
TRUNCATE `sales_flat_creditmemo_grid`;<br />
TRUNCATE `sales_flat_creditmemo_item`;<br />
TRUNCATE `sales_flat_invoice`;<br />
TRUNCATE `sales_flat_invoice_comment`;<br />
TRUNCATE `sales_flat_invoice_grid`;<br />
TRUNCATE `sales_flat_invoice_item`;<br />
TRUNCATE `sales_flat_order`;<br />
TRUNCATE `sales_flat_order_address`;<br />
TRUNCATE `sales_flat_order_grid`;<br />
TRUNCATE `sales_flat_order_item`;<br />
TRUNCATE `sales_flat_order_payment`;<br />
TRUNCATE `sales_flat_order_status_history`;<br />
TRUNCATE `sales_flat_quote`;<br />
TRUNCATE `sales_flat_quote_address`;<br />
TRUNCATE `sales_flat_quote_address_item`;<br />
TRUNCATE `sales_flat_quote_item`;<br />
TRUNCATE `sales_flat_quote_item_option`;<br />
TRUNCATE `sales_flat_quote_payment`;<br />
TRUNCATE `sales_flat_quote_shipping_rate`;<br />
TRUNCATE `sales_flat_shipment`;<br />
TRUNCATE `sales_flat_shipment_comment`;<br />
TRUNCATE `sales_flat_shipment_grid`;<br />
TRUNCATE `sales_flat_shipment_item`;<br />
TRUNCATE `sales_flat_shipment_track`;<br />
TRUNCATE `sales_invoiced_aggregated`;<br />
TRUNCATE `sales_invoiced_aggregated_order`;<br />
TRUNCATE `sales_order_aggregated_created`;<br />
TRUNCATE `sendfriend_log`;<br />
TRUNCATE `tag`;<br />
TRUNCATE `tag_relation`;<br />
TRUNCATE `tag_summary`;<br />
TRUNCATE `wishlist`;<br />
TRUNCATE `log_quote`;<br />
TRUNCATE `report_event`;<br />
ALTER TABLE `sales_flat_creditmemo` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_creditmemo_comment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_creditmemo_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_creditmemo_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice_comment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_shipping_rate` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_comment` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_shipment_track` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_invoiced_aggregated` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_invoiced_aggregated_order` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_aggregated_created` AUTO_INCREMENT=1;<br />
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;<br />
ALTER TABLE `wishlist` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `report_event` AUTO_INCREMENT=1;<br />
SET FOREIGN_KEY_CHECKS=1;</code></p>
<p>The following works for some older versions of Magento (remember to back-up before attempting):<br />
<code>SET FOREIGN_KEY_CHECKS=0;<br />
TRUNCATE `sales_order`;<br />
TRUNCATE `sales_order_datetime`;<br />
TRUNCATE `sales_order_decimal`;<br />
TRUNCATE `sales_order_entity`;<br />
TRUNCATE `sales_order_entity_datetime`;<br />
TRUNCATE `sales_order_entity_decimal`;<br />
TRUNCATE `sales_order_entity_int`;<br />
TRUNCATE `sales_order_entity_text`;<br />
TRUNCATE `sales_order_entity_varchar`;<br />
TRUNCATE `sales_order_int`;<br />
TRUNCATE `sales_order_text`;<br />
TRUNCATE `sales_order_varchar`;<br />
TRUNCATE `sales_flat_quote`;<br />
TRUNCATE `sales_flat_quote_address`;<br />
TRUNCATE `sales_flat_quote_address_item`;<br />
TRUNCATE `sales_flat_quote_item`;<br />
TRUNCATE `sales_flat_quote_item_option`;<br />
TRUNCATE `sales_flat_order_item`;<br />
TRUNCATE `sendfriend_log`;<br />
TRUNCATE `tag`;<br />
TRUNCATE `tag_relation`;<br />
TRUNCATE `tag_summary`;<br />
TRUNCATE `wishlist`;<br />
TRUNCATE `log_quote`;<br />
TRUNCATE `report_event`;<br />
ALTER TABLE `sales_order` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_entity_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_order_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;<br />
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;<br />
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;<br />
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;<br />
ALTER TABLE `wishlist` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_quote` AUTO_INCREMENT=1;<br />
ALTER TABLE `report_event` AUTO_INCREMENT=1;<br />
-- reset customers<br />
TRUNCATE `customer_address_entity`;<br />
TRUNCATE `customer_address_entity_datetime`;<br />
TRUNCATE `customer_address_entity_decimal`;<br />
TRUNCATE `customer_address_entity_int`;<br />
TRUNCATE `customer_address_entity_text`;<br />
TRUNCATE `customer_address_entity_varchar`;<br />
TRUNCATE `customer_entity`;<br />
TRUNCATE `customer_entity_datetime`;<br />
TRUNCATE `customer_entity_decimal`;<br />
TRUNCATE `customer_entity_int`;<br />
TRUNCATE `customer_entity_text`;<br />
TRUNCATE `customer_entity_varchar`;<br />
TRUNCATE `log_customer`;<br />
TRUNCATE `log_visitor`;<br />
TRUNCATE `log_visitor_info`;<br />
ALTER TABLE `customer_address_entity` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_address_entity_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_datetime` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_decimal` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_int` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_text` AUTO_INCREMENT=1;<br />
ALTER TABLE `customer_entity_varchar` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_customer` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_visitor` AUTO_INCREMENT=1;<br />
ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1;<br />
-- Reset all ID counters<br />
TRUNCATE `eav_entity_store`;<br />
ALTER TABLE  `eav_entity_store` AUTO_INCREMENT=1;<br />
SET FOREIGN_KEY_CHECKS=1;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/magento/how-to-delete-test-orders-in-magento/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Make &#8216;Ship to This Address&#8217; default option in Magento</title>
		<link>http://www.joestrong.co.uk/blog/magento/make-ship-to-this-address-default-option-in-magento/</link>
		<comments>http://www.joestrong.co.uk/blog/magento/make-ship-to-this-address-default-option-in-magento/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 20:08:58 +0000</pubDate>
		<dc:creator>Joe Strong</dc:creator>
				<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://www.joestrong.co.uk/?p=22</guid>
		<description><![CDATA[When checking out on a Magento shop you will find that on the Billing screen &#8216;Ship to different address&#8217; is selected as the default option. It is more likely you will want &#8216;Ship to this address&#8217; to be the default &#8230; <a href="http://www.joestrong.co.uk/blog/magento/make-ship-to-this-address-default-option-in-magento/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When checking out on a Magento shop you will find that on the Billing screen &#8216;Ship to different address&#8217; is selected as the default option. It is more likely you will want &#8216;Ship to this address&#8217; to be the default option.This is how you do it.</p>
<p>When making a checkout Magento checks a database field to see if it should ship to the same address, this database field&#8217;s default value is set to no. To change it do the following:</p>
<ol>
<blockquote>
<li>Log into the Magento database</li>
<li>Open the table sales_flat_quote_address</li>
<li>Find the field same_as_billing and choose to modify it&#8217;s structure</li>
<li>Change the default value for same_as_billing default from 0 to 1</li>
</blockquote>
</ol>
<p>The SQL code for the above is:<br />
<code>ALTER TABLE `sales_flat_quote_address` CHANGE `same_as_billing` `same_as_billing` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1'</code><br />
Now any new customers or guests will have &#8216;Ship to this address&#8217; as the default option. To update any existing users simply set the same_as_billing field to 1 on all the records in this table.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joestrong.co.uk/blog/magento/make-ship-to-this-address-default-option-in-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

