A step by step install guide for Noobs:


Catalog Export:

Free Script:


Thread on how to do it:




Importing categories via CSV:


Exporting Order information via CSV:



Cheap Mass Attributes changer:


If all else fails, the $75 paid version



Advanced Management Capabilities


Here we go again! It’s September, and I am looking to install Prestashop. I hear that they are offering a multishop feature as of their next major release (1.5). Since I am interested in operating a series of interdependent web retain businesses, each with cross selling across web domains, I am investing in Prestashop. It is Open Source, the community seems pretty encouraging, and PS seems like a good candidate for me to roll up my sleeves and tinker.

So I am installing two instances of Presta, since I hope to launch a store sometime in late October and be able to innovate and tinker with PS while the store is live.  So far, the installations went without a hitch. I followed the instructions, no problems. I have enabled the following modules in the back end:


First problem – how to get a CSV file of the entire catalog out of the database, so that I can make batch changes (price, style, etc.) There are three approaches:

1) a paid module

2) a free, possibly buggy module

3) try to massage the data out of SQL, bit by bit.


I’ll start with option 2, and if that fails, go to option 3. Next post: how to fully export the catalog from Prestashop for free.

So I’m an obsessive information organizing freak. I’ve tried many programs over the years – Omni Focus, Outliner, (and many other outliners), Together.app, various desktop optimizers (Pathfinder, quicksilver) and while some have virtues that others do not, they all fall short of my insanely particular needs.

I want fast access to a large array of data. And while that is not exactly a unique request, it does expose the lack of a comprehensive application that can deliver. Specifically, I want to be able to:

1- invoke specific files with a keystroke, while all similar files (tagged, or in same folders, or behaviorally related) are available in an easily invokable (widget?) list nearby

2 – a variety of visual modes for mapping projects in relation to each other. spreadsheet form, outliner with easily collapsing nested layers, and diagram/3D visual forms

3 – the ability to selectively link documents across my desktop, and on the web without having to open other applications – previewing files, be they active websites, code under development, or open standards compliant publishing software files.

4 – the ability to assign contexts and priorities to todo lists across different projects, and be able to invoke them across all projects at will – the ability to configure and save these various configurations – high priority errands, medium priority research, etc. Did I say across multiple projects?

OK, so the closest I’ve gotten to this ideal is a combination of Open Office calc (for the sortable lists, and in *theory* programmable views using macros & buttons, although my attempts so far have been fruitless) along with OmniOutliner Pro, for the ability to handle larger amounts of text and a better row collapse function than Calc.

Today I’m going to document an attempt to create a sheet inside Calc that pulls to do items with a corresponding “ASAP” priority from another sheet, within the same workbook. I think this will involve the VLOOKUP function. Along with the idiot proof instructions on how to reference another sheet, I’m on my way…

So, I’ve gotten an error message, which is better than #N/A. it’s error 502. I still haven’t wrapped my head around what the last number means, either a 1 or a 0. I get that it’s about whether an exact match is desired, but the particulars are still hazy to me.

=VLOOKUP(“1.”; ‘mysheetname’.D1:D50; 2; 1)

“1.” is a string I am looking for

‘mysheetname’.    is, you guessed it, the name of the sheet

D1:D50 is the range I want the formula to look at

2 is the index number of the column of the corresponding row in a positive match for the desired value in the D column range, so that would be column “B”

1 – a partridge in a pear tree. No something to do with how precise the match needs to be.


So, what’s error 502? According to this, it’s when the range is blank. Hmm. OK, so removing the reference to the other sheet, and copying dummy data into the same sheet yields the same error. Maybe this is the issue – the data I have that I want to reference is selected from a pull down menu, created in tools->data validation (selecting the text option). Maybe this doesn’t actually input text the way the formula needs it to be? Testing… Nope. Copying the value into a blank cell, and then copying it back into the range I am doing the lookup on still yields a 502.

Hmm, still stumped, out of time to play with this. More soon, I guess sometime this weekend.

Installing PrestaShop and OpenCart were both very simple, the one thing I found interesting about PrestShop was their last install instruction – to rename the “admin” directory to a random string, effectively serving as a password. Smart! Since Open Cart did not make this suggestion, I wonder whether doing so would break the installation, ie are the paths in the files able to detect what directory they are inside of, and update themselves? I am going to guess not, but I will try it anyway and see.

Worryingly, I came across a really interesting blog post about Security with Open Cart. A security researcher named Ben Maynard found a vulnerability in Open Cart, which would allow an attacker to create an admin user account, if he was able to get the real admin to click on a link while logged in to his admin section.

He notified Daniel, the lead programmer/founder of OpenCart of the vulnerability, and the response demonstrated a concerning lack of interest for the possible compromise in security. The correspondence listed above is worth the read.

Daniel eventually fixed the security issue in the next release of OpenCart as detailed in the comments thread of this post, without ever thanking Ben for his analysis. Furthermore, a link posted to a thread in OpenCart’s forum from that same blog post comment thread shows Daniel absolutely belittling another programmer who reviewed Open Cart’s code and concluded that there was room for improvement.

That doesn’t sit well with me. If someone takes the time to evaluate your work, you owe them the minimum of respect for their time. Daniel calls this coder an idiot multiple times, it’s painful to read. OK, I get that you are stretched tight for time, you get criticism all the time, and you are uniquely situated wrt to the code to know when someone’s comments are not true, or are obsolete in terms of the roadmap/current betas, etc. But that doesn’t give you license to attack someone else. I guess the idea of “Open” hasn’t quite registered.

Speaking of criticism, that is something of a vulnerability for the Open Cart project as a whole – with one programmer who doesn’t exactly welcome feedback or collaboration, one has to wonder about the stability of the project. One cannot question the pace of releases, however, Daniel does seem to be very committed to improvements. I guess I will let the software speak for itself, even though I am probably a bad judge because I can’t even really understand the code itself, given my level of understanding. I’m still going to invest time in the app, even though I’m now concerned that I could be investing in a dead end. Why? An individual can only take a complex project so far. Daniel needs to branch out. If it’s control he seeks, then he needs to change his business model to increase revenue to hire coders, instead of collaborating with them, which he seems to be unwilling to do. That way, he will retain control over how the project is executed, but at least it’s no longer simply one individual, which does not inspire confidence. An individual can incubate, prove the concept, tinker, launch, and iterate. But real growth is beyond one person.


So, friends… I’ve ditched Magento, and I now begin, after another year-long hiatus, to document the installation and tinkering of a new ecommerce app. I’ll start with OpenCart.

Here are the download instructions, seems pretty straightforward…


///       OpenCart V1.5.x     ///
///    Install Instructions   ///
///  http://www.opencart.com  ///



1. Upload all the files and folders to your server from the “Upload” folder.
This can be to anywhere of your choice.

e.g. /public_html/store or /public_html

2. If you have a Linux/Unix make sure the following folders and files are writable.
chmod 0755 or 0777 image/
chmod 0755 or 0777 image/cache/
chmod 0755 or 0777 image/data/
chmod 0755 or 0777 system/cache/
chmod 0755 or 0777 system/logs/
chmod 0755 or 0777 download/
chmod 0755 or 0777 config.php
chmod 0755 or 0777 admin/config.php

3. Make sure you have installed a MySQL Database which has a user assigned to it

4. Visit the store homepage
e.g. http://www.example.com or http://www.example.com/store/

5. Follow the onscreen instructions.

6. Delete the install directory after install is complete.

For any support issues please visit: http://www.opencart.com




The only two files I had to change permissions on were the config.php and admin/config.php. I did this before visiting the install URL via browser, so the ensuing  install checklist came up clean. If I had missed these, the two files would have shown up here. So from what I can see thus far (as much as you can judge a piece of software based on the installation process :-) ) Open Cart seems idiot proof. I will test this theory shortly.

For those few souls who have found this blog on a google search about Magento, I’ve decided to uproot my posting in favor of a blog on the Magento Forum itself. I also created a resource site elsewhere, at PBWorks.com

Here are the URLs for those:

group/blog@ Magento: http://www.magentocommerce.com/group/view/450

wiki@ PBWorks: http://magento4noobs.pbworks.com

I *may* post here again about Magento, not sure how great the blog is over there (no categories, etc.) But feel free to join the group if you feel inclined.



OK, so after a month long hiatus (I work freelance, so I take gigs as they come) I’m back on Magento. So let’s see if I can’t get further along over the next few days. The goal for now is to populate the catalog with some new categories and products, and then export these via CSV file in order to be able to make updating the catalog easier.

More soon.

Heh. So, many hours later, what progress have I made? Well, I have progressed towards the opinion that Magento should do a better job marketing itself as a robust ecommerce application for businesses with web development budgets and/or developers. My initial opinion stands – Magento IS NOT for mom and pop web “tinkerer”. If you thought that figuring out how to install Magento would be the hardest part, look elsewhere.

Tomorrow I will document the IDIOCY that are the steps required to get a simple product to show up on the home page (a feat that I have not yet accomplished, BTW! But I did manage to get a category to show up, by accident.)

At any rate, before I forget, here is the link to a video that helped me get closer (I think). Hats off to Steve Warshaw:  http://vimeo.com/1070986?pg=embed&sec=1070986&hd=1

I’m currently leaning towards investigating other alternatives, maybe coming back to Magento one day when the information organization problem with this software has been resolved. So far, a complete waste of time.

*edit*:::  OK, I’ve calmed down. Magento doesn’t suck so much as it’s complex and like any large, complex piece of software, it will take a while until I get the hang of configuring it. I’m sure there is a reason for every seemingly IDIOTIC required step to make simple things happen, and this will only become apparent to me later in the process. May some higher power grant me the serenity to get to the point where I reap the benefit of sticking with this apparently robust application. Apologies to Magento developers who may have found this site. I don’t hate you, you’re not sadists, etc. Just venting. Hopefully I’ll get far enough along to fall in love with this thing and make it work for me. That higher power knows, I’m trying. :-|

My browser crashed just now, and in so doing wiped a particularly vitriolic post about the missed opportunity that is Magento’s position in the market. For all the talk of “Community”, Varien is not interested in small businesses with limited budgets, and has basically hung out to dry the long tail of budding entrepreneurs with limited financial as well as technical resources.

If you do not know how to code and do not have the budget to hire a pro, STAY AWAY FROM MAGENTO. I will continue for a few days more to see if any breakthrough changes my opinion, but thus far, I abhor the hoops required to do simple tasks. This makes me think of early versions of Drupal. A perfect storm of dozens of idiosyncratic little steps that leaves the user to wonder what sadist designed this software.

I don’t know enough about exactly what market Magento is trying to satisfy. Given their hosting plans (ie the way they actually make money, as the Community Edition is free) start at over $10,000 per year, I don’t think Magento really cares about individuals (ie small businesses).

Because their software seems well designed (thanks to Christian fundamentalists, I can no longer type the phrase “intelligent design” or its derivatives without gagging), I will give them the benefit of the doubt and say that the many FUCKED UP problems Magento has in terms of populating the database with catalog information are intentional, designed to shepherd those with the resources and on the fence between going solo vs a hosted plan, to quickly opt for the latter.

Three days into this Magento install, I am starting to think that this is a losing battle. Why else would a company design a product that gives you an option to duplicate a product in the catalog, in theory saving you time if the products share any similarities, only to have you manually update the inventory counts and in stock/out of stock fields? That’s just one example. I’m sure the Enterprise edition magically does not have these shortcomings.

Maybe it’s easier to do this via a CSV file. But so far, I am leaning to the verdict of leaving ZenCart or opting for another ecommerce app. Magento has already started to irritate me profoundly. Their whole approach to creating a complex product is insane! Why make the user create every single individual variant of a configurable product?! If I have a shirt on 5 colors, available on 4 sizes, that’s 20 individual entries, each of which needs to have the abovementioned characteristics messed with.

Instead, allow us to create a configurable product directly, specifying the attributes, and have the system populate the skus for the individual products automatically. I suspect this OBVIOUS design is available for $10,000/year, fuck the idiots who assumed they could get a decent piece of software for free if they put in the time to learn it. If this shit keeps up, I’m ditching Magento.

I understand Varien needs to make money, but then how about an unsupported version that you buy a license for? Like a 12 month subscription at $20 per month, or unlock features progressively. But why cut out the long tail? Why alienate the real small businesses that are just getting started and want to grow? LAME.

So I am on the fence whether I should use the existing sample products catalog that is already in Magento, or whether I should create another catalog, more or less of the style of the real one I am still creating (I am aiming for a tshirt shop with multiple slogans, shirt styles, colors, and sizes).

One of the main pieces of functionality I want is a color changer – I want people to be able to pick an option (red) and see a picture of a red shirt appear in the product page. Should I get started on implementing that first, using the sample data? Or should I spend the time to configure the catalog manually, being that my goal is to create a much bigger catalog by importing a CSV file later, essentially overwriting anything I create by hand?

I think I’ll create the catalog manually, if nothing else, it will help to create the CSV template that I will need to mimic in order to get the catalog imported properly.

Here goes…

© 2011 'Tis Educational Suffusion theme by Sayontan Sinha