<?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>[ LABORATORY NOTES ] &#187; Open Source Software</title>
	<atom:link href="http://blog.madsciencedept.com/category/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.madsciencedept.com</link>
	<description>Blogging from the Mad Science Department. Very little singing.</description>
	<lastBuildDate>Tue, 01 Feb 2011 16:37:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Why an API?</title>
		<link>http://blog.madsciencedept.com/2010/10/why-an-api/</link>
		<comments>http://blog.madsciencedept.com/2010/10/why-an-api/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 15:36:13 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=66</guid>
		<description><![CDATA[Just as I launch the &#8220;version 0.1&#8243; of a large site I&#8217;ve been working on, I find this missive. I know I know I know! API is coming in the next 2-3 weeks. It&#8217;s a necessity, because there is an iPhone app in development for this exciting project. Fortunately, I&#8217;ve been building the site with [...]]]></description>
			<content:encoded><![CDATA[<p>Just as I launch the &#8220;version 0.1&#8243; of a large site I&#8217;ve been working on, I find this <a href="http://claylo.com/blog/still-no-api-you-really-suck.html" target="_blank">missive</a>.</p>
<p>I know I know I know! API is coming in the next 2-3 weeks. It&#8217;s a necessity, because there is an iPhone app in development for this exciting project. Fortunately, I&#8217;ve been building the site with CodeIgniter, which means that with a little refactoring, building an API will be a relatively painless experience.</p>
<p>Truly, the API is there; MVC architecture kind of forces that. All I have to do is clean it up and expose it. Slick, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2010/10/why-an-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s the little things</title>
		<link>http://blog.madsciencedept.com/2010/05/its-the-little-things/</link>
		<comments>http://blog.madsciencedept.com/2010/05/its-the-little-things/#comments</comments>
		<pubDate>Thu, 27 May 2010 14:51:40 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=55</guid>
		<description><![CDATA[I&#8217;ve been working with Drupal quite a bit lately, and am continually impressed by the powerhouse of tolls that it provides, either out of the box or with a selection of modules. However, I&#8217;ve also noticed that there are occasionally some &#8220;little things&#8221; missing in some of the most powerful plugins. This morning I once [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working with Drupal quite a bit lately, and am continually impressed by the powerhouse of tolls that it provides, either out of the box or with a selection of modules. However, I&#8217;ve also noticed that there are occasionally some &#8220;little things&#8221; missing in some of the most powerful plugins.</p>
<p>This morning I once again encountered the single shortcoming in the otherwise impressive &#8220;Backup and Migrate&#8221; module. I use this module so that I can dev on my local machine and push my changes out to my sandbox site for the client to approve easily and quickly. The tiniest improvement in this module would make it even that much simpler.</p>
<p>Here&#8217;s what happens. When I &#8220;Restore&#8221; from a Backup and Migrate backup, my temporary path is overwritten with the one in the backup. This makes sense of course, but means that before I can restore again, or do any uploads, I much manually reset the path. Bleh. It would be fantastic if before restoring, B&amp;M module sequestered this piece of information from the existing DB, then placed it back after the update. I expect this would require the ability to save something in the filesystem (since the DB is being overwritten) or in an untouched table on the DB. Probably a simple workaround is possible&#8230;has anyone else solved this issue?</p>
<p><strong>Update: </strong>The info is stored in the DB, table variable, key file_directory_temp. I think I&#8217;m going to try to write a routine that grabs this and saves it to session or something, then replaces it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2010/05/its-the-little-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Devices and SSL</title>
		<link>http://blog.madsciencedept.com/2009/09/mobile-devices-and-ssl/</link>
		<comments>http://blog.madsciencedept.com/2009/09/mobile-devices-and-ssl/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:15:49 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=46</guid>
		<description><![CDATA[I really do learn something new every day. I&#8217;ve been handing eCommerce sites for a while now (as well as some other types of secure sites) and I knew that Secure Socket Layer certificates (SSL) came in many flavors (and styles!), but I always thought of it like car insurance: if you want better coverage, [...]]]></description>
			<content:encoded><![CDATA[<p>I really do learn something new every day. I&#8217;ve been handing eCommerce sites for a while now (as well as some other types of secure sites) and I knew that Secure Socket Layer certificates (SSL) came in many flavors (and styles!), but I always thought of it like car insurance: if you want better coverage, pay more. If you just need to be covered to drive, get 1-800-Safe-Auto.</p>
<p>Well, today I learned something new, but it took some doing, so I&#8217;m hoping I can save someone else time and effort through the magic of Google search. Here&#8217;s the backstory: Mad Science Department got brought in a few months ago to help patch up and update an existing eCommerce site. We added true credit card processing, helped the client through the Labyrinth that is Authorize.net (which is a whole separate post, provided there&#8217;s enough Run in my beaker), and patched some security holes. In the process, we had the host apply a stock SSL. All smooth and cool, right?</p>
<p>This morning we got a note from the client&#8217;s local folk, saying that the client cannot access the site admin (under SSL) from a mobile device! Oh no! So after recreating the issue on my handy dandy iPhone, I contacted the host, who assured me that the SSL was working properly. Well, that&#8217;s a weight off my shoulders, but why isn&#8217;t it working for mobile? Host&#8217;s support didn&#8217;t know, suggested it had something to do with the phone. Hrumph.</p>
<p>So I checked the cert and tracked down the issuer. This is where a nice young man called Jeff comes in. He explained to me that the various SSLs actually use different types of encryption, and therefore some certificates which are perfectly good for web use simply cannot encrypt data over mobile networks (GSM,G3,etc.). In order to add this level of encryption, my client would have to upgrade to a higher premium, which would allow for more diverse and stronger coverage. Now I know.</p>
<p>I don&#8217;t usually give shout outs in my Lab Notes, but Jeff from <a title="Comodo - get Instant SSL Pro or better for mobile covereage!" href="http://www.positivessl.com/" target="_blank">Comodo</a> was very helpful, so thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2009/09/mobile-devices-and-ssl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When &#8220;bleeding edge&#8221; stops the bleeding</title>
		<link>http://blog.madsciencedept.com/2009/09/when-bleeding-edge-stops-the-bleeding/</link>
		<comments>http://blog.madsciencedept.com/2009/09/when-bleeding-edge-stops-the-bleeding/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 16:07:26 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Proprietary Software]]></category>
		<category><![CDATA[Mad Science]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[upgrading]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=44</guid>
		<description><![CDATA[I&#8217;m the first to admit that I can be a bit lazy when it comes to minor upgrades on packages. In fact, sometimes I intentionally wait, as new &#8220;features&#8221; often mean new bugs, and I prefer to see those bugs all shook out before I update my projects. But security updates, now that&#8217;s another story. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m the first to admit that I can be a bit lazy when it comes to minor upgrades on packages. In fact, sometimes I intentionally wait, as new &#8220;features&#8221; often mean new bugs, and I prefer to see those bugs all shook out before I update my projects. But <strong>security updates</strong>, now that&#8217;s another story.</p>
<p>Which is why I freaked out a little when I received <a title="thanks George, for keeping me aware!" href="http://socialgumbo.com/2009/09/05/wordpress-attack-upgrade-now/" target="_blank">this message</a> in my Facebook stream. Then I followed through to some of hte other posts on the subject and realized that this was the self-same bug that had been identified Auguest 12 and patched with WordPress version 2.8.4.</p>
<p>We Mad Scientists are a competitive bunch. We don&#8217;t like other Mad Scientists hacking into our stuff and messing with it, so as a rule, we apply security patches as soon as we are aware of them! If you or your agency is a maintained client of Mad Science Department, you probably have little to worry about. If you do see a &#8220;security upgrade&#8221; warning in your admin panel, it&#8217;s probably a good idea to let us know, but nine times out of ten, we&#8217;re already upgrading all the installations we maintain.</p>
<p>This kind of attack brings up other issues as well. It&#8217;s important to make sure that you are backing up your databases and file system regularly, so that you don&#8217;t lose too much in the event of a successful attack. Your host may even provide tools to automate this on a cPanel. If you are a user (not a developer) handling your own WordPress installation, be vigilant and make sure you update as needed! Those warnings and messages in the backend are there for a reason! If you have a developer helping you, they&#8217;ll know the difference between feature updates (nice to have, but sometimes buggy) and critical security updates. Don&#8217;t be afraid to ask how necessary a given update is!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2009/09/when-bleeding-edge-stops-the-bleeding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PayPal as a Secondary Option</title>
		<link>http://blog.madsciencedept.com/2009/07/paypal-as-a-secondary-option/</link>
		<comments>http://blog.madsciencedept.com/2009/07/paypal-as-a-secondary-option/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 18:06:44 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[ecommerce]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=24</guid>
		<description><![CDATA[PayPal is a very popular and easy to set up option when starting an eCommerce site. Compared to other payment gateways, it is fast to set up (takes minutes!) can be understood by any web-savvy user, and is out-of-the box usable by almost all eCommerce packages. It does charge a relatively high percentage when compared [...]]]></description>
			<content:encoded><![CDATA[<p><a title="PayPal Web Payments Standard" href="https://www.paypal.com/cgi-bin/webscr?cmd=_wp-standard-overview-outside&amp;nav=2.0.0" target="_blank">PayPal</a> is a very popular and easy to set up option when starting an eCommerce site. Compared to other payment gateways, it is fast to set up (takes minutes!) can be understood by any web-savvy user, and is out-of-the box usable by almost all eCommerce packages. It does charge a relatively high percentage when compared to many other gateways (<a title="Chase Paymentech" href="http://www.chasepaymentech.com/" target="_blank">Chase Paymentech</a>, <a title="Authorize.net" href="http://www.authorize.net/" target="_blank">Authorize.net</a>, <a title="Sterling Payment Technologies" href="http://www.sterlingpayment.com/" target="_blank">etc</a>.) and requires a trip to the PayPal site during the checkout process, so it is usually not a long-term choice for most retailers.</p>
<p>The <a title="Authorize.Net Goes Down" href="http://mashable.com/2009/07/03/authorize-net-down/" target="_blank">events of today</a> have led me to believe that PayPal accounts should remain open and viable, even if the retailer decides not to use them as their primary gateway, for the simple fact that it provides and good backup plan! It takes mere moments in a package like <a title="Magento eCommerce" href="http://www.magentocommerce.com/" target="_blank">Magento eCommerce</a> (Mad Science Department&#8217;s favorite eCommerce package, if you haven&#8217;t figured that out by now!) to switch PayPal on, thus allowing purchasing to continue!</p>
<p>If you are considering the choice between PayPal as a permanent solution and a true merchant account, there are a number of factors to consider.</p>
<blockquote><p>In the early stages of launching an online store a decision needs to be made: how will customers&#8217; payments be processed? This needs to be determined before the site is developed as different payment options may require radically different forms of implementation. But how do you choose? Is price the single most important factor? What are the other factors?</p>
<p>-<a title=" Merchant Account Comparison " href="http://www.merchant-account-services.org/article/merchant-accounts-compared" target="_blank">John Conde</a></p></blockquote>
<p><a title=" Merchant Account Comparison " href="http://www.merchant-account-services.org/article/merchant-accounts-compared" target="_blank">This article</a> may help you sort through the pros and cons of each option, but I would still suggest keeping a PayPal account around, for those unforeseeable instances!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2009/07/paypal-as-a-secondary-option/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance &amp; Environment with Magento</title>
		<link>http://blog.madsciencedept.com/2009/06/performance-environment-with-magento/</link>
		<comments>http://blog.madsciencedept.com/2009/06/performance-environment-with-magento/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:27:12 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[cart]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=10</guid>
		<description><![CDATA[Last week, I posted about my experiences with Magento as a product. Today, I&#8217;d like to cover some of the interesting performance issues I&#8217;ve experienced and the ways I&#8217;ve worked around them. I&#8217;ve published Magento in a few different environments, some for development (testing), others for production (live!). Geeks will want to know that having [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I posted about my experiences with <a title="Magento eCommerce" href="http://www.magentocommerce.com" target="_blank">Magento</a> as a product. Today, I&#8217;d like to cover some of the interesting performance issues I&#8217;ve experienced and the ways I&#8217;ve worked around them.</p>
<p>I&#8217;ve published Magento in a few different environments, some for development (testing), others for production (live!).</p>
<p>Geeks will want to know that having root (full administrative control of the server) certainly helps, but is not required. Mostly, the joy of root in this situation is that it makes creating backups (via tar) and updating (which means doing some chmod dances) much simpler. Obviously, if you have an SSH user, you can do these things as well. However, if you can live with having your files 777, it&#8217;s really not that big of a deal. Magento is big, so backing up via FTP will take a long time, but it&#8217;s hardly impossible.</p>
<p>My preferred environment is a <a title="Wikipedia Article on LAMP Stacks" href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29" target="_blank">LAMP</a> (Linux/Apache/MySQL/PHP) stack where I have root. I&#8217;ve deployed several development models and a few production models this way, and they worked like a dream. I have deployed Magento on <a title="MAMP" href="http://www.mamp.info/en/mamp/index.html" target="_blank">MAMP</a> (the app), <a title="Wikipedia Article on MAMP Stack" href="http://en.wikipedia.org/wiki/MAMP" target="_blank">MAMP</a> (MacOSX/Apache/MySQL/PHP compiled, not the app) and <a title="Wikipedia Article on WAMP Stack" href="http://en.wikipedia.org/wiki/WAMP" target="_blank">WAMP</a> (WindowsXP or Windows Server 2008/Apache/MySQL/PHP for various tests and development. This was less satisfactory, but worked. The MAMP application really didn&#8217;t like it, and required a bit of tweaking to get it going, but I don&#8217;t see MAMP as a viable production option anyway. (I&#8217;ve never had reason to try MAMP Pro.) Most recently I installed it in a shared LAMP server with a <a title="Wikipedia article on Plesk" href="http://en.wikipedia.org/wiki/Plesk" target="_blank">Plesk</a> control panel. There were a few minor challenges here, but I was able to work with tech support at the host to get them resolved quickly.</p>
<p>For the average non-geek, it&#8217;s probably helpful to know that a LAMP stack is an extremely common shared hosting environment. Because it is inexpensive to set up and stable (low maintenance) almost every hosting company offers this package, and it is quite often their lowest priced option! So getting Magento to run on your site should not be a difficult task for a developer familiar with Magento.</p>
<p>I&#8217;ll admit that the first couple of instances of Magento I installed, I was very disappointed in how SLOW it seemed. It was as though the big giant toolbox was just too darn heavy and slowed everything down. Adding new products was a chore and surfing the site was a less-than-ideal situation. But then I discovered a few little tricks to speed things up. If you are installing Magento for the first time, you might find this information helpful.</p>
<p>Because Magento compiles each pages from dozes of files on each page call, performance with Magento has to do with both the environment its hosted on and with caching options. As I noted before, you want caching off during development. But once that puppy is ready for production, turning caching back on will dramatically improve time to serve pages. There are also options to cache javascript and css, like <a title="Fooman Speedster, a Magento Community extension" href="http://www.magentocommerce.com/extension/457/fooman-speedster" target="_blank">Fooman Speedster</a>, which make things even faster. Of course, the mySQL query speed is going to matter, but the Mage engine seems to do a pretty good job of compiling requests. There is a developer option available to display the performance stats for each page draw in the page footer which can be helpful to tweak and optimize certain things. there is much to learn and try when tweaking for performance, and a good place to start learning is here: <a title="Magento performance and optimization group" href="http://www.magentocommerce.com/group/view/168/" target="_blank">Magento performance and optimization group</a> .</p>
<p>After receiving a scary email from ZenCart yesterday, I&#8217;m even more inclined to choose Magento for an out-of-the-box good solution that is very customizable. If properly done, it can be customized heavily and stay upgradable. I&#8217;m looking forward to my next installation, which should be happening in the next month!</p>
<p>PS: Some readers found this information daunting. This is why Magento works best when implemented by someone with development experience. At the Mad Science Department, we enjoy developing Magento solutions and handling all the scary bits so that our client agencies don&#8217;t have to! We are kind of&#8230;um&#8230;Mad that way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2009/06/performance-environment-with-magento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Choosing the lesser evil, or why I have a love/hate relationship with Magento</title>
		<link>http://blog.madsciencedept.com/2009/06/choosing-the-lesser-evil-or-why-i-have-a-lovehate-relationship-with-magento/</link>
		<comments>http://blog.madsciencedept.com/2009/06/choosing-the-lesser-evil-or-why-i-have-a-lovehate-relationship-with-magento/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 16:15:58 +0000</pubDate>
		<dc:creator>Catherine</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[cart]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.madsciencedept.com/?p=3</guid>
		<description><![CDATA[When looking at Open Source Shopping Cart options, the landscape can get confusing. I generally end up recommending Magento eCommerce. As @ashooner put it on Twitter, Magento is the 800lb gorilla in the room. It can do or be made to do jsut about anything you need. But it&#8217;s a gorrilla. And we all know [...]]]></description>
			<content:encoded><![CDATA[<p>When looking at Open Source Shopping Cart options, the landscape can get confusing. I generally end up recommending <a title="Magento eCommerce" href="http://www.magentocommerce.com/" target="_blank">Magento eCommerce</a>. As <a title="@aschooner on Twitter" href="http://twitter.com/ashooner/statuses/2283289564" target="_blank">@ashooner</a> put it on Twitter, Magento is the 800lb gorilla in the room. It can do or be made to do jsut about anything you need. But it&#8217;s a gorrilla. And we all know how Planet of the Apes turned out.</p>
<p>I&#8217;ll admit that my experience with <a title="osCommerce" href="http://www.oscommerce.com/" target="_blank">osCommerce</a> and <a title="ZenCart" href="http://www.zen-cart.com/" target="_blank">ZenCart</a> is limited. In the cases where I was required to work with them, I was stepping into an orphaned project and had to pick up where another developer had left off. It was hateful. The &#8220;design&#8221; of the back-end made me embarrassed to hand it over to the client, and the client was generally extremely confused as to how to work with the cart once they had it. I did the best I could with it, but it was far from fun. (I often say that ZenCart totally harshes my Zen.)</p>
<p>So I started researching, and I attended a wonderful little talk about the Magento community by one <a title="Paul Reinheimer, Canadian" href="http://blog.preinheimer.com/" target="_blank">Paul Reinheimer</a> during PHP Appalacia. I decided to give it a try on my next project, and I was immediately impressed with the look of the Magento product, the clean interface (back- and front-end). Let&#8217;s face it, most clients are very visually oriented, at least initially, and this <em>looked</em> professional. I&#8217;ve since implemented this cart a number of times, some for realz and some for testing. Some were pretty much out of the box, others were heavily modified in some way. I&#8217;ve built a couple of simple modules (add-ons) and am in the process of building a more complex one.</p>
<p>Starting from the top: Setup is easy, once you are sure you have all the prerequisites on your server. Shared environments can be tricky, and it&#8217;s it&#8217;s good to have root in this situation, because the downloader (my preferred method of installation after trying the various options) needs the entire directory to be open to the world (chmod 777). I&#8217;m not real comfortable with leaving all of my files world open, so I usually open them, do the install or upgrade, and close them back down. If you are running under suexec, this is a bit simpler, but still can be tricky if you haven&#8217;t set the ownership permissions correctly. After all this server stuff is settled though, setup is push a button, wait, input some parameters and push another button and you are golden.</p>
<p>I don&#8217;t recommend installing the &#8220;demo database&#8221; unless you are just testing things out. Start with a clean database. OH! And if you plan to do a development machine setup and then migrate to a production server, be prepared: just doing a mySQL dump will give you some pretty ugly results. Be sure to follow the process <a title="Special mySQL Queries to migrate Magento" href="http://www.magentocommerce.com/boards/viewthread/8302/" target="_blank">here</a>.</p>
<p>Adding existing modules, themes, etc. Is pretty simple, but often requires more steps than you would initially expect. You might have to set the new template as the default then go through existing pages/catalog entries and make sure they haven&#8217;t been custom defaulted to the old template, for example. It&#8217;s very handy to have caching OFF for this part of the setup, as it makes it really tricky when you are being served a cached document and going &#8220;BUT I CHANGED THAT!!!&#8221;.</p>
<p>If you have a background in themeing for other carts, WordPress, etc. forget everything you know. Magento themes work in an entirely different manner and really take some getting used to. I think this is what turns most people off when they start working with it. PERSEVERE, because once you wrap your head around the way that the XML defined template structure works, you will probably love it. But first, you will hate it a lot. (This is where my love hate relationship comes from. I always have to resettle my head into Magento space when I&#8217;ve been away from it for a while.) The flexibility here is amazing, especially since once you understand the XML structure, you can use it to redefine layout on any individual page, set of pages, etc. through the browser accessible back-end!</p>
<p>Building modules is pretty straight up Zend school of design. If you are familiar with the Zend framework, the Mage framework shouldn&#8217;t cause you much trouble. If you aren&#8217;t all that familiar with the Zend framework (I wasn&#8217;t when I started with Magento) Mage can help you get a foot in that door. This part is really for developers, not Web Designers. You need to know more PHP than &#8220;include()&#8221; and &#8220;echo()&#8221;.</p>
<p>Overall, the back-end is easy to use, once it is understood. Before I meet with my client for training, I usually backup anything I&#8217;ve done with the database. Then I walk my client through each section in the back-end and encourage them to play around and try new things, assuring them that everything they do will be erased after our training. It is extremely robust and can scare some clients. I tell them to focus on the catalog and orders sections and leave the rest to me. As they become more confident, they will often start trying bits in the other sections.</p>
<p>I don&#8217;t think that Magento is one of those &#8220;free&#8221; programs that anyone can download, install, and configure appropriately, but I do think that it is a good option for most end-users who have access to a qualified developer to set it up and walk them through it. There is a frustrating learning curve, but like most good learning curves, it is worth the climb. The community is reasonably helpful, and rather passionate. Of course, Mad Science Dept works with other carts on request, and if the client has only one or two items to sell, we may even write up a very simple tiny cart instead of using one of the very robust Open Source or Commercial options out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.madsciencedept.com/2009/06/choosing-the-lesser-evil-or-why-i-have-a-lovehate-relationship-with-magento/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

