<?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>Alistair Robinson, Web Development &#38;c &#187; wordpress</title>
	<atom:link href="http://alistairrobinson.co.uk/category/web-development/wordpress-web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://alistairrobinson.co.uk</link>
	<description></description>
	<lastBuildDate>Sat, 28 Jan 2012 12:11:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The WordPress White Screen of Death</title>
		<link>http://alistairrobinson.co.uk/the-wordpress-white-screen-of-death/</link>
		<comments>http://alistairrobinson.co.uk/the-wordpress-white-screen-of-death/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 13:05:58 +0000</pubDate>
		<dc:creator>Alistair</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://alistairrobinson.co.uk/?p=988</guid>
		<description><![CDATA[This is the kind of thing that happens out of nowhere when you&#8217;re in the middle of finishing off something simple, and sends you into a rage shouting &#8220;What the fucking hell&#8230;this is just bizarre!&#8221; and so on, until you finally fix it by fiddling about intuitively, and then just move on. For once, professional [...]]]></description>
			<content:encoded><![CDATA[<p>This is the kind of thing that happens out of nowhere when you&#8217;re in the middle of finishing off something simple, and sends you into a rage shouting &#8220;What the fucking hell&#8230;this is just <em>bizarre!</em>&#8221; and so on, until you finally fix it by fiddling about intuitively, and then just move on. For once, professional discipline compels me to record the problem and its solution, partly for my own benefit but also to help others avoid the drastic solutions offered in several places on the web.</p>
<p>After working primarily in Django for the last while I had to do some WordPress work yesterday, implementing SEO improvements to one of our e-commerce client&#8217;s web site. I added a function to functions.php and got everything working nicely, but then I went to /wp-admin only to find a blank screen, with no error messages. Neither could I find anything in the server error logs. I could get to /wp-login.php and seemingly log in succesfilly, but then the same thing would happen &#8211; I couldn&#8217;t get in to the back end, even though the public site was working just fine.</p>
<p>Most of the proposed and unsurprisingly successful fixes I found in blogs and on the WordPress support forums involved re-installing WordPress, but one suggestion stood out: <strong>delete any blank lines at the end of your functions.php file</strong>. I&#8217;m in the habit of adding extra lines at the bottom of a file to give me more space to work in my text editor, so this looked promising. And it worked.</p>
<p>I don&#8217;t know why.</p>
]]></content:encoded>
			<wfw:commentRss>http://alistairrobinson.co.uk/the-wordpress-white-screen-of-death/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-commerce for Small Business in The UK: A Starting Point For Web Developers</title>
		<link>http://alistairrobinson.co.uk/e-commerce-in-the-uk-for-web-designers/</link>
		<comments>http://alistairrobinson.co.uk/e-commerce-in-the-uk-for-web-designers/#comments</comments>
		<pubDate>Sat, 22 May 2010 05:52:32 +0000</pubDate>
		<dc:creator>Alistair</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[3d secure]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[payment]]></category>
		<category><![CDATA[rbs]]></category>
		<category><![CDATA[shopp]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[worldpay]]></category>

		<guid isPermaLink="false">http://alistairrobinson.co.uk/?p=932</guid>
		<description><![CDATA[NOTE: see the comments for updates about how this went in the end. I think I&#8217;ve unearthed a conspiracy. In the wonderful world of the world-wide web (that&#8217;s WWWWW for short), with so much information available, and so many companies selling online, surely there must be a collection of standard procedures for implementing an online [...]]]></description>
			<content:encoded><![CDATA[<p><em>NOTE: see the comments for updates about how this went in the end.</em></p>
<p>I think I&#8217;ve unearthed a conspiracy. In the wonderful world of the world-wide web (that&#8217;s <span class="caps">WWWWW</span> for short), with so much information available, and so many companies selling online, surely there must be a collection of standard procedures for implementing an online shop, and reliable sources of information covering them? Apparently not. How else to explain this except an evil conspiracy? In particular, an evil conspiracy against web designers and developers.</p>
<p>This post is drawn from an e-mail that I sent to a tech savvy client, a small business owner. The email summarized their options for e-commerce, in the specific context of the UK, and it was the result of some hours of research. Reading it over later I realized it could be useful to web developers, given the aforementioned global conspiracy. It is therefore my duty as a good web citizen to reveal this sacred, jealously guarded information &#8211; despite the dangers.</p>
<p>NOTE: I&#8217;ve called it a starting point, but really this post is just a record of my <em>own</em> starting point, and there&#8217;s a bias here towards WordPress.</p>
<h3>Introduction</h3>
<p>There is one way of selling online that I won&#8217;t really go into here, which is selling through your regular PayPal account or with Google Checkout. These are pretty good options, because they&#8217;re so easy, but most businesses don&#8217;t want customers being directed away to PayPal or Google when they check out. A more integrated solution is preferable because it gives customers confidence in the professionalism of the business; the business can have direct access to its product, order and customer data within a single system; and you &#8211; the developer &#8211; get more control all round. That&#8217;s what this post is really about, but the shopping cart software mentioned here can work nicely with the simpler PayPal set-up as well.</p>
<p>An online shop that accepts credit cards usually needs these four things:</p>
<ul>
<li>An Internet Merchant Account (<span class="caps">IMA</span>)</li>
<li>A Payment Gateway</li>
<li>Some shopping cart software (including product listings, product pages, a cart and a checkout page)</li>
<li>(in some cases optional) Shop <span class="caps">CMS</span> (admin for shipping rates, product management, inventory, order management, etc.)</li>
</ul>
<p>The shopping cart and <span class="caps">CMS</span> can normally be treated as separate and independent. For the payment gateway and <span class="caps">IMA</span>, I would normally recommend PayPal&#8217;s Website Payments Pro, which bundles these together. But if a substantial portion of your market is in the UK, there&#8217;s a problem:</p>
<h3>Maestro and 3D Secure</h3>
<p>This is where it gets complicated. In fact, it looks to me like the whole thing&#8217;s a bit of a mess.</p>
<p>Mastercard enforces the use of <a href="http://en.wikipedia.org/wiki/3-D_Secure">3D secure</a> to process Maestro payments (and this is becoming very common for payments with the other cards too). All Maestro transactions will be declined if this isn&#8217;t implemented. 3D Secure is an extra step in the checkout process, which allows real-time authentication with the customer&#8217;s bank. It commonly comes in the guise of &#8220;Verified by Visa&#8221; and &#8220;Mastercard SecureCode&#8221;. In some implementations it&#8217;s optional &#8211; the customer can skip it &#8211; because not all cards are required to be authenticated like this, but a Maestro payment just won&#8217;t complete successfully without a 3D secure authentication.</p>
<p><img src="http://alistairrobinson.co.uk/wp-content/uploads/2010/05/3dsecure.jpg" alt="" title="3dsecure" width="397" height="424" class="alignleft size-full wp-image-936" /></p>
<p>Before you go down this route it might be worth weighing up the pros and cons of 3D secure:</p>
<p><strong>Pros</strong></p>
<ul>
<li>Lets you take Maestro payments</li>
<li>Can give customers more confidence in buying stuff online (in theory)</li>
<li>Reduces <a href="http://en.wikipedia.org/wiki/Chargeback">chargebacks</a></li>
<li>It could be that, as people in the UK have become more used to it, they have come to <em>expect</em> it</li>
</ul>
<p>	<strong>Cons</strong></p>
<ul>
<li>Yet another step in the process of checking out – this is known to lead to a reduction of sales</li>
<li>Restricts your options for e-commerce software and payment gateways</li>
<li>From a development point of view, implementing 3D secure can be tricky, depending on the kind of solution you choose</li>
</ul>
<p>With Website Payments Pro, it&#8217;s up to you to set up 3D Secure. Seemingly as an afterthought they recommend using some kind of product from a company called <a href="http://www.cardinalcommerce.com/">Cardinal</a>, but I&#8217;ve no idea what Cardinal actually provide, and their web site is no help. I sent them an enquiry but received nothing in response. This didn&#8217;t give me much confidence, so I looked for some other solution, i.e., a payment gateway that had embraced 3D Secure and knew how to implement it.</p>
<p>Turns out there is one that&#8217;s popular in the UK: <span class="caps">RBS</span> Worldpay. They offer <a href="http://www.rbsworldpay.com/products/index.php?page=ecom&#38;amp;c=UK">three account options</a>, including one that &#8211; like Payments Pro &#8211; bundles together the <span class="caps">IMA</span> and the gateway. The crucial thing is that WorldPay implements 3D Secure.</p>
<h3><span class="caps">RBS</span> WorldPay</h3>
<p>At the time of writing I haven&#8217;t implemented the gateway, so I can&#8217;t say too much about it now. I also won&#8217;t say anything about WorldPay&#8217;s interesting (in the loosest sense) recent history, but you should check it out because it puts things in perspective.</p>
<p>What I&#8217;ve discovered so far is that there are essentially two ways of implementing WorldPay: <a href="http://www.rbsworldpay.com/support/bg/index.php?page=development&#38;amp;sub=integration&#38;amp;c=UK"><span class="caps">HTML</span> redirect</a> (or Hosted Payment Pages, which appears to be the newer name) and <a href="http://www.rbsworldpay.com/support/bg/index.php?page=development&#38;amp;sub=xml"><span class="caps">XML</span> Direct</a>.</p>
<p><span class="caps">HTML</span> Redirect is the easier option. When the user checks out they&#8217;re redirected away to the WorldPay site, where all the hard stuff is taken care of.  You may be familiar with <span class="caps">HTML</span> Redirect from seeing this <strong>beautiful interface</strong>:</p>
<p><img src="http://alistairrobinson.co.uk/wp-content/uploads/2010/05/worldpay.jpg" alt="" title="worldpay" width="500" height="271" class="alignleft size-full wp-image-935" /></p>
<p>Yes, I know: there&#8217;s no way you&#8217;re having this ugliness anywhere near your lovely design. But according to the WorldPay site, you can customize this page, in line with your own design. I don&#8217;t yet know just how customizable it is: looking at what documentation there is (not an easy task in itself), I&#8217;m sceptical how far you can go with it.</p>
<p>I must warn you that browsing the WorldPay site for good information is a painful experience. It has the feel of a collection of documents assembled from disparate sources by a robot with little sympathy for, or understanding of, the requirements of human beings. I suppose this is fairly common with such massive corporate organizations, but it&#8217;s a real shock when you&#8217;ve been used to dealing with small, focused companies with a dedication to openness on the web.</p>
<p>It took a couple of messages to WorldPay technical support to find out that there was another way: <span class="caps">XML</span> Direct. This allows a more complete integration with your site, because all the processing is done in the background, rather than with a redirection. The implications are that you&#8217;ll need to make damn sure you&#8217;ve got a secure system. <span class="caps">RBS</span> have a process for assessing your set-up, and further procedures for testing and activation.</p>
<p>For an alternative to <span class="caps">RBS</span> WorldPay that also supports 3D secure, check out <a href="http://www.sagepay.com/">SagePay</a></p>
<h3><span class="caps">PCI</span> Compliance</h3>
<p>Aside from any particular requirements of your gateway, generally a secure setup is one that is <a href="http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard"><span class="caps">PCI</span> compliant</a>.</p>
<p>With <span class="caps">HTML</span> Redirect and the hosted solutions (option 1 below), you don&#8217;t need to be <span class="caps">PCI</span> Compliant at all, because you&#8217;re not actually storing credit card numbers on file or in a database. It&#8217;s your payment gateway (eg. WorldPay or Website Payments Pro) or shopping cart service that has to be <span class="caps">PCI</span> compliant. However, your gateway may still require you to pass some level of security-checking.</p>
<p>With <span class="caps">XML</span> Direct, you do need to pass some <span class="caps">PCI</span> Compliance tests, and that&#8217;s a whole other can of worms I&#8217;m not going to open right now, because I&#8217;m still not sure exactly what&#8217;s inside. Worms, yes, but what kind? And do they bite?</p>
<h3>SSL/HTTPS/Encryption</h3>
<p>You might not be storing credit card numbers, but you may need to transmit them securely, in which case you will need to buy an <span class="caps">SSL</span> certificate and have it installed on your web server. Basically, if your checkout page resides on your web server, as part of the site, you will need <span class="caps">SSL</span>. But if it&#8217;s hosted, as it is with WorldPay <span class="caps">HTML</span> Redirect or one of the complete hosted shopping cart solutions (option 1 below), you&#8217;re not transmitting anything sensitive so <span class="caps">SSL</span> is not required.</p>
<h3>Software Option 1: Hosted</h3>
<p>Examples: <a href="http://www.ecwid.com">Ecwid</a>, <a href="http://www.foxycart.com/">Foxycart</a>, <a href="http://www.shopify.com">Shopify</a></p>
<p>With hosted e-commerce, you sign up to a service that provides a cart and checkout process, all hosted on their servers. General shop settings &#8211; shipping, taxes, coupons and product types &#8211; are all administered on their site.</p>
<p>The big advantage is that they they&#8217;re the ones who need to have the <span class="caps">SSL</span> encryption and security, and they wrap up the whole checkout process very nicely, so there&#8217;s not much in that area you have to worry about.</p>
<p>I&#8217;ve set up a shop with FoxyCart and <a href="http://modxcms.com/">MODx</a>, and while there&#8217;s a lot of work to be done if you need product management built into your <span class="caps">CMS</span>, setting up the customized cart and checkout pages is a breeze.</p>
<ul>
<li>They handle <span class="caps">SSL</span> and <span class="caps">PCI</span> compliance</li>
<li>No 3D secure/Maestro (because they&#8217;re responsible for implementing it and Ecwid, Foxycart and Shopify haven&#8217;t done so yet, although they&#8217;re working on it)</li>
<li>Your data is on their servers</li>
<li>Separate place to manage shop (ie. separate from the rest of the website)</li>
</ul>
<p><strong>Ecwid</strong> (Free)</p>
<ul>
<li>Very fast, very easy, and very tempting</li>
<li>But no <span class="caps">API</span> and not very configurable</li>
<li>Depends on JavaScript</li>
</ul>
<p><strong>Foxycart</strong> ($19/month)</p>
<ul>
<li>Very configurable</li>
<li>Total control over the design of the hosted pages</li>
<li><span class="caps">API</span> and XML feed to get data from their servers to yours (allowing you to integrate this data with your database and <span class="caps">CMS</span>)</li>
<li>Cart depends on JavaScript</li>
</ul>
<p><strong>Shopify </strong>(From $29 to $699/month)<br />Look at that price-range. That indicates a pretty mature kind of product, and I get the feeling this might be one of the best hosted solutions out there, but I don&#8217;t know much about it. But it&#8217;s built with Ruby on Rails so it must be super cool, right?</p>
<h3>Software Option 2. Self-hosted / Integrated</h3>
<p>Examples: WordPress plugins <a href="http://www.instinct.co.nz/e-commerce/">WP e-commerce</a> and <a href="http://shopplugin.net/">Shopp</a></p>
<p>I recently split off a WordPress site into two development branches, one with Wp e-commerce and the other with Shopp. I&#8217;m very impressed with this type of software solution. I don&#8217;t see any reason why you couldn&#8217;t implement any size of shop, and there&#8217;s loads of <span class="caps">CMS</span> features covering just about everything. I went with Shopp in the end, but they&#8217;re pretty similar in functionality.</p>
<ul>
<li>You have their software installed on your server (ie. the server I&#8217;m hosting the site on)</li>
<li>You keep all the data on your server</li>
<li>You don&#8217;t have to log in to another site to manage your shop</li>
<li>Shop <span class="caps">CMS</span> for product, order and customer management etc., integrated into your site CMS</li>
<li>Configurable</li>
<li>Often requires an <span class="caps">SSL</span> certificate</li>
<li>Could require PCI Compliance, depending on how you implement it</li>
<li>Maestro support is possible (if using <span class="caps">RBS</span> WorldPay or something similar like SagePay)</li>
<li>But no WorldPay gateway option out-of-the-box</li>
</ul>
<p><strong>WP e-commerce</strong> (free, or $195 for the business gold cart)</p>
<ul>
<li>Open source</li>
<li>Configurable, customizable</li>
<li>Ability to create a custom gateway integration</li>
<li>The free version withholds some functionality that in most cases is a necessity, such as multiple images per product. You could probably code this in yourself if you wanted to avoid the cost.</li>
</ul>
<p><strong>Shopp</strong> (One-off $55)</p>
<ul>
<li>Open source</li>
<li>Configurable, customizable</li>
<li>Ability to create a custom gateway integration</li>
</ul>
<h3>Software Option 3: Self-hosted Standalone <span class="caps">CMS</span></h3>
<p>Example: <a href="http://www.magentocommerce.com/">Magento</a></p>
<ul>
<li>You have their software installed on your server, alongside your web site <span class="caps">CMS</span></li>
<li>All-in-one shopping cart, product and order management package</li>
<li>You keep the data on your server</li>
<li>Open source</li>
<li>Separate dedicated <span class="caps">CMS</span> for your shop (not integrated into your site <span class="caps">CMS</span>)</li>
<li>Tonnes of features</li>
<li>Potentially difficult to configure and integrate</li>
<li>Requires an <span class="caps">SSL</span> certificate</li>
<li>Could require PCI Compliance, depending on how you implement it</li>
<li>Maestro support possible (if using <span class="caps">RBS</span> WorldPay or SagePay)</li>
<li>But no WorldPay gateway option out-of-the-box</li>
</ul>
<p>Something like Magento should be seriously considered. It&#8217;s very featureful, and I hear they recently implemented 3D secure. However, setting up and configuration could be time-consuming, and systems like these can be pretty bloated, slow and clunky.</p>
<h3>Conclusion</h3>
<p>If you need to take Maestro payments &#8211; and there are still a lot of those cards around &#8211; you can&#8217;t really go with option 1. The other options all have built-in support for several gateways, but unfortunately not WorldPay. This means some unavoidable work on your part to hook things up. Whether you go with option 2 or 3 depends solely on the needs of the client and your own development decisions.</p>
<p>In the forthcoming weeks I&#8217;ll be implementing the gateway &#8211; perhaps developing a WorldPay module for Shopp in the process &#8211; so I&#8217;ll be posting about that. If the Guardians of the Sacred Secrets of E-commerce haven&#8217;t tracked me down, that is.</p>
]]></content:encoded>
			<wfw:commentRss>http://alistairrobinson.co.uk/e-commerce-in-the-uk-for-web-designers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

