Easy Populate

From Zen Cart(tm) Wiki
Jump to: navigation, search

I'm going to attempt to create an "idiot's guide" to Easy Populate (Standard, (aimed at first-time users of Easypopulate), that is essentially NON-technical and that walks users through the module in step-by-step processes. (Schoolboy - Jan 2007).

This tutorial relates to EP and while there are newer versions, these have been shown to be problematic. Despite its own limitations, EP is arguably the more reliable version, and it works well with ZC 1.3.8a .

Version is available at: http://www.zen-cart.com/archived_contributions/admin-tools/ (click on ep_v1.2.5.4.zip).

Special Notices

Jan 19, 2009. In early January 2009, a number of Zencart forum members started looking at Easy Populate version and with a view to enhancing and improving the module. Forum member "phazei" in particular has been busy with polishing up the original code, and is developing a version of that works using CSV spreadsheets, instead of TAB-DELIMITED TXT files.

(NB: The CSV version, however, requires that PHP 5.2 is installed on your server.)

Before you proceed, please understand that the following tutorial (below) relates ONLY to EP1.2.5.4 and EP1.2.5.5, and NOT to the new CSV version being compiled by phazei and others.

Jan 19, 2009. Many users are also interested in the capacity for Easy Populate to administer ATTRIBUTES DATA. The standard version does not have a good track record of managing attributes, and this tutorial does not include advice on managing attribute data. The advanced version (commercially available), is reputed to be much more reliable for handling attributes, so if this is a key feature of your webshop, you may consider investing in the Advanced Version, available at modhole.com.

Jan 17, 2011. Two years since my last update... This is just to advise that I still use EP and am now on zencart 1.3.9h - and it works OK.

READING THROUGH THE FORUM over the last few months shows that MOST of the problems people have with Easy Populate seem to be because of SPREADSHEET PROBLEMS, or INCORRECTLY FORMATTED TXT FILES. If you read my article below - and manage to upload one TEST PRODUCT via Easy Populate, then you CAN BE SURE the program is functioning OK. If you have problems LATER, when trying to upload lots of products, then the problem can't be with Easy Populate (it worked perfectly earlier). The problem must then be quality of your data in the upload TXT file.

I hope to include a NEW SECTION to this wiki article later - showing how to overcome data issues, and to TEST whether your TXT file is properly configured. I will announce this on the forum when I have written the new section.

April 1, 2013. Two years since my last update... Version does work with Zencart 1.5.x. but should not be used if it's a new install. The version by CHADDERUSKI (VERSION 4) is preferable, and it has a LOT of new features that are extremely useful. IF you are considering EP and have ZC 1.5.x, then use EP version 4.

EP v4 SUPPORT THREAD: http://www.zen-cart.com/showthread.php?190417

EP v4 DOWNLOAD FROM GITHUB: https://github.com/chaddro/EasyPopulate-4.0

What does Easy Populate do?

Easy Populate has a two-way capability: to IMPORT product data into your zencart store, and to EXPORT product data from your zencart store.

Easy Populate does not have the capacity to add/update other data (eg: customer data, orders, etc). Easy Populate's capabiility is restricted to product data only.

When IMPORTING into your store, Easy Populate can both ADD NEW PRODUCT DATA, and UPDATE EXISTING PRODUCT DATA.

Easy Populate both imports and exports this data from a TAB-DELIMITED TEXT FILE (not from a "spreadsheet" as is sometimes believed).

The INITIAL composition of data IS, however, undertaken using spreadsheets, as these programs are the most effective ways of organising and managing large data sets in columns and rows. It is possible to create your tab-delimited files in other data editors - even MS Word - but the formatting is then up to the operator (you!) rather than the program itself.

So, when working with Easy Populate, your INITIAL DATA SETS are in the form of spreadsheets, and MS Excel and OpenOffice are both appropriate for this purpose.

These spreadsheets are then "SAVED AS" tab-delimited txt files, which are in turn used by Easy Populate.

It is also important to understand that programs like Easy Populate have certain limitations with regard to how product data is managed and assimilated once it is in the database.

You may need to run a variety of "Tools" after using EP to populate (or update) your product data.

An example of this is the potential need to re-set Master Category ID in instances where EP is used to create linked product associations. But there are other occasions when the Store Manager (under Tools menu) features may be needed to re-organize product data after an EP upload. The forum has a number of posts about this... Here's one, for starters: Click here


1. Readers know how to INSTALL modules on their zencarts. 2. Readers have FULLY READ the README.TXT and INSTALL.TXT files that accompany Easy Populate Module. 3. Readers have installed the CORRECT VERSION of EasyPopulate for their zenshop, and there are no reported errors in its functionality with their sites. 4. Readers have an above-average knowledge of working with spreadsheet programs such as MS Excel and OpenOffice. 5. Readers know the limitations of principal fields in the database (eg: varchar lengths).

For the STANDARD version of Easy Populate (and for ZC 1.3.x), I recommend you use the EP STANDARD version available at http://www.zen-cart.com/index.php?main_page=product_contrib_info&products_id=1633.

Installation Complete... Now, configuration of Easy Populate Standard via the Admin Panel.

In Configuration, you will now see a feature (probably at the bottom of the drop-down menu), called Easypopulate. Open up the link and examine the settings. Click on each setting - there is a brief explanation of each setting in the "edit" block on the right of the page.

Configure the settings to suit your preferences.

Pay particular attention to

a. the name of the UPLOADS DIRECTORY (make sure the filename specified here exists in the root of your store)

b. your preferred DATE FORMAT (later, you may want to upload date-sensitive data against a product, and the format you choose must match!)

c. don't enable smart-tags unless you are skilled at using them.

Configuration Complete... Now, lets look at the SAMPLE FILE included with the install.

In the "TEMP" folder that accompanies EP, you'll see several sample files. Using MS Excel, or OpenOffice, import this one (Full-EP2005Aug31-0404.txt) into a clean spreadsheet pane, using the spreadsheet's "data import" feature. You must use the DATA IMPORT feature, as this is NOT a spreadsheet file, it is a TAB-DELIMITED TEXT FILE.

In MS Excel, you will be prompted to verify the type of file and perhaps also to assign some formatting to the columns (General, Text, Date). I advise that you assign GENERAL formatting to all columns.

At this stage, it's useful to give the column headers a unique color, and to "freeze panes" at cell A2, to keep the headers visible.

[1](Click to see Reference Image ONE - use browser BACK button to return).

What do the Column Headings mean?

v_products_model The SKU of the product. This HAS TO BE UNIQUE (See note 1*** below). Preferably a alphanumeric string, not a "summary" of your product title.

v_products_image The name of the PRIMARY image, associated with the product, eg book.jpg . (Do Not use additional images here - eg "book_01.jpg). Also, if your images are in a SUB directory of the images folder, then you will need to designate the PATH using a slash: eg dvd/under_siege2.gif (where dvd is the sub-folder in the main images directory).

v_products_name_1 Must be 64 characters or less. (The "1" assigns it to your Principal Language). AVOID using special characters and backslashes in names!

v_products_description_1 Can include basic HTML tags (see the image ONE, above). (The "1" assigns it to your Principal Language).

v_products_url_1 If you have an external link for the product, it goes here... (NB, NO "http://" prefix). (The "1" assigns it to your Principal Language).

v_products_price Just enter a numeric value (NO CURRENCY SYMBOL, NO SPACES! Use the decimal delimiter you selected in your primary currency settings).

v_products_weight Again, just a NUMERIC VALUE (NO LABELS such as "lbs, kg").

v_date_avail If you want to set a date that the product is available, enter here - observe date & time formats!

v_date_added If you want to set a date that the product was added, enter here - observe date & time formats!

v_products_quantity The amount of STOCK you have. This is important, and relates to STOCK SETTINGS in your store.

v_manufacturers_name Insert if applicable, and if you want to make use of "manufacturer" features in zencart.

v_categories_name_1 This is your PRIMARY CATEGORY NAME. AVOID using special characters and backslashes in names!

v_categories_name_2 This is your SUB CATEGORY NAME. (Used if you have a sub category layer under primary). AVOID using special characters and backslashes in names!

v_categories_name_3 This is your SUB SUB CATEGORY NAME. (Used if you have a sub category layer under previous sub). AVOID using special characters and backslashes in names!

v_categories_name_4 This is your SUB SUB SUB CATEGORY NAME. (Used if you have a sub category layer under previous sub). AVOID using special characters and backslashes in names!

v_categories_name_5, v_categories_name_6, v_categories_name_7 (etc, above. See Note 2*** below). AVOID using special characters and backslashes in names!

NOTE: In Easy Populate Version 4, by chadderuski, there are NO LONGER separate columns for categories and sub-categories. The categories "tree" is delimited by CARET SYMBOLS, and the reference is under a single categories column. EG: Shirts^T-Shirts^Short Sleeved

v_tax_class_title The TAX CLASS you have assigned to the product (possibly "Taxable Goods") (NB: Must be EXACTLY as it is in your tax settings... Taxable Goods is not the same as taxable goods - ie: it's case sensitive!)

v_status Is the product ACTIVE, in which the value is "1". If inactive, value is "0". (You can later use "9" to delete a product that exists in the dbase - related image(s) in image folder(s), WILL ALSO BE DELETED - so make a backup of the images folder before changing the status to 9 to delete product data).

EOREOR Means "End Of Record" and MUST be in the final column to indicate to Easypopulate where the data for a product stops.

What does the "v_" mean before a field name? (This is of no significance to the user - just make sure your heading are EXACTLY as they are above.)

Note 1*** ABOUT UNIQUE v_products_model. In zencart, you have the ability to DUPLICATE a product (either by LINKING or by actual DUPLICATION, to another category. When TWO copies of a product exist (in different categories) they will SHARE the same model number.

So you could have:-

Model Number 50001 featuring in SHIRTS category, and...

Model Number 50001 featuring in SPORTSWEAR category.

When you have such duplications on your spreadsheet, Easy Populate will work, IF you have assigned different categories to each reference of the same Model Number.

[2] See the screenshot of a successful EP Update, where duplicate Model Numbers are used in different categories.

Note 2*** ABOUT CATEGORIES: In your zencart Admin Panel...Configuration...EasyPopulate settings, the Maximum Category Depth is defaulted to "7". You can adjust this to your needs. If, for example, your store only works to 3 categories deep (Primary Category... Sub Category... Sub Sub Category), then you can set the Max Category Depth to "3". If you do not need the additional "layers" of sub categories, you can remove them from your spreadsheet by deleting the unwanted columns. If you leave them, it does not matter - as long as there are BLANK cells under them.

Using Spreadsheets that are NOT formatted in Easy Populate Style

If your product data exists in a spreadsheet that is NOT formatted according to Easy Populate, (eg: it has different column headings) you will have to "re-arrange" your spreadsheet so that it is consistent with Easy Populate's Structure, Format and Column Heading Titles.

You cannot use Column Headings that are named differently to those described above. Before you convert your spreadsheet to a tab-delimited TXT file, the Column Headings must be those that EP uses.

Essential Data in the spreadsheet


With Easy Populate Standard, the key identifier of a product data-set is the MODEL NUMBER (Product code, SKU), and whenever you use Easy Populate (to ADD or UPDATE data), there has to be a value in the v_products_model field.

If you do not have Model Numbers inserted under this column, Easy Populate (Standard) will not work.

Many small stores do not work with industry-standard SKU systems - usually creating a unique model number from the Product Name - but this is not good business practice. When configuring your product set, it is a good idea to establish a SKU system that works on AlphaNumeric codes that utilize digits 0 - 9 and letters A - Z only. Avoid using slashes, periods, spaces, commas and other special characters that may interfere with computer code. (A back-slash, for example, is generally used to designate a PATH in a directory tree. By incorporating back-slashes in your Model Numbers, you may later have difficulty in referencing their location in your website.)

You should therefore develop a system that allows you to identify and classify your product sets with relative ease.

For example...

Let's say you have a clothing store selling menswear. You could apply the following designations to classify your stock:

10 = men's trousers

20 = men's shirts

30 = men's underwear

40 = men's shoes

50 = men's accessories

In "Shirts" you have:

01 = long-sleeved

02 = short-sleeved

03 = t-shirts

These are further broken down by SIZE:

01 = small

02 = medium

03 = large

04 = extra large

So, to create a SKU for a "man's long-sleeved, large shirt, you would sequence the code as follows:-

20 (men's shirts) + 01 (long sleeved) + 03 (large) + unique unit ID number... (2001031000)

(It is not a good idea to have a leading ZERO in your SKU, as this can present frustrating challenges when working in spreadsheets! So, 02134537 is not advized!)

Having a good, easy-to-understand SKU system will not only help you manage your store, but will help to minimize errors when using Easy Populate.

So, as was mentioned, The v_products_model is a required input - and for Easy Populate (and your webshop) to function, these codes must be UNIQUE.

(By the way . . . another good reason to incorporate SKU's into your zenshop is the GoogleBase will require these too... If you intend to submit product data to GoogleBase, then this characteristic is required.)

SPECIAL NOTE: v_products_name_1

When you are UPDATING your product description (ie: text that is inserted under v_products_description_1), you are required to also have a value in the v_products_name_1 field, and it MUST BE the Product Name that currently exists in your database. (So, you must not change the values in this column when UPDATING product descriptions in an existing data-set.)

Other REQUIRED data - and related common problems

Adding New Data

NOTE: A common reason for EP failure is that people have installed an incompatible version of EP into their zenshop.

When ADDING NEW product data, you are going to want as much of the relevant data to be uploaded in one go, so you would probably make sure that there is something entered into all fields that reference and describe the product - eg: model number, product name, image name, product description, price, stock quantity, primary category, sub-category(ies) (if and when applicable), status (active or inactive), tax class.

You ought to have data in the above fields (when ADDING NEW DATA)

In addition to the v_products_model, You MUST have a value in:- v_products_name_1, v_categories_name_1 (and if/when applicable, the sub-categories), v_status, v_tax_class, and finally in ALL cases, EOREOR.

Updating Existing Data

- - - - - - - - - -

Here is clip of text from the Module's INSTALL.TXT file.

Things you should know about uploads:

* Each time you update a product (any product in an upload) the last_updated field is set to now.
* When deleting products using v_status = 9, All products with the exact model number of the flagged product are deleted (no duplicate product model names in EP!)
* Changing the category of a product will create a linked product in the new category (same product, just a navigation link)
* NOTE: THE PRODUCT MODEL IS THE INDEX! All product updates are done using the products model as the index.
* Any fields left blank (NULL) will not always retain the current data in your store. Best to delete unneeded columns, and use original store data as updates template
* The categories are the category levels, and not multiple categories: Category1 -> Category2 (sub-cat) -> Category3 (sub-sub-cat) etc..
* Specials - To delete a special, make the price zero (0) in your upload file. To add, simply put a price in. All blank specials price fields are ignored by Easy Populate.

- - - - - - - - - -

When UPDATING EXISTING product data, Easy Populate is very clever in determining what to modify, but it is in this area (updating) that many people have problems and things go pear-shaped.

Don't forget that Easy Populate (Standard) uses the v_products_model reference to identify an existing product in the database. You should therefore never alter these. (If you have a discontinued product, it's SKU should also be discontinued).

Most problems occur because people don't pay attention to detail, ignore category tree structure, input typo's and spelling errors, try to use "special characters", put a currency symbol or weight symbol into the price and weight columns, etc.

Remember... the slightest difference in a data reference will probably be understood by Easy Populate to be NEW data, or will result in an ERROR.

So, for example, if you have a category in your d-base called "Shirts", and you type "shirts", Easy Populate WILL create a new category for the affected product called "shirts" (as it has a lower case "s", it is therefore different from "Shirts").

The advantage of working in a spreadsheet, is that you can spot such errors more easily.

Another common problem is when people try to add a product into a category, that already has sub-categories.

If you have a PRIMARY category called "Shirts", with SUB categories "Sports Shirts, Formal Shirts, T-Shirts", you MUST make sure that any new product added here HAS TO HAVE the relevant sub-category(ies) defined as well.

[3](Click to see Reference Image TWO - use browser BACK button to return).

Special Characters

Try, wherever possible, to avoid the use of special characters. Earlier versions of EP struggled with the SINGLE QUOTE mark - ` - because it is used in PHP, and if you had, for example, something like "Men's Shirts", the apostrophe in "Men's" would result in an error!

The incorporation of Smart Tags in EP does alleviate this problem to a great extent, but you should use single quotes and apostrophes only in the v_products_name_1 and v_products_description_1 fields... nowhere else!

DO NOT name your model numbers, product descriptions or categories with text that incorporates BACKSLASHES or FORWARDSLASHES. Again, these are SPECIAL CHARACTERS and designate a DIRECTORY PATH. Use plain ALPHA-NUMERIC characters only - A to Z, a to z, 0 to 9.

Problems with images

It is important to understand that Easy Populate DOES NOT upload images.

Easy Populate just creates the essential reference in the database, linking the product data to its PRIMARY image. This image (typically a JPG) resides in the relevant images directory in your store, and it gets into this directory either by you FTP-ing up to that directory, or by using the image upload feature in the product's edit screen in the Admin Panel. (If you use IH2, you can also upload the jpg's this way).

If you enter an incorrect image name in the spreadsheet, that does not match the image's name on the server, no image will display in your zenshop - not even the "no_picture.gif" that is sometimes used as a default if no image is found. The reason for this is that the d-base HAS a reference to an image - only that you've entered one with a mistake in it!

If you don't have an image for your product - and you want the default "no_image.gif" to display, then when you ADD a product, leave this cell BLANK.

Some useful "tips" to manage images

I have found that in large stores, the easiest way of managing images is to give them the SAME NAME as the Product Code (Model Number or SKU).

Take a look at Reference Image TWO again. You will see that my SKU's follow the convention I described earlier, and that my PRIMARY IMAGE NAME is the relevant SKU with ".jpg" tagged onto it...

[4](Click to see Reference Image TWO again - use browser BACK button to return).

I have found that the convenience of this method allows me to immediately see when an IMAGE is relevant to a PRODUCT - just by looking at the SKU and the Image Name.

Furthermore, if you intend to take advantage of zencart's "Additional Images" feature, then the process is simple:-

2004560001.jpg = Primary Image

2004560001_01.jpg = Additional Image One

2004560001_02.jpg = Additional Image Two

2004560001_03.jpg = Additional Image Three

I can now see at a glance, that these images are all related to product with the SKU of 2004560001 .

(Remember - all images are sent to their folder using FTP, or the Upload functions within zencart admin panel. Easy Populate does not upload the image files).

Understanding the "v_categories_name_X" structure

Some people get confused here - so let's make sure you understand what is meant by:-





Let's go back to our Men's Clothing Store example...

You sell Trousers, Shirts, Underwear, Shoes, Accesories.

These are all PRIMARY CATEGORY names, so they will all be listed under v_categories_name_1 column in your spreadsheet.

Then, under each Primary Category of clothing, you could have SUB-Categories, such as:-

Trousers (Primary Category - so goes under v_categories_name_1)

- Formal (First Sub-Category - so goes under v_categories_name_2)

- Informal (First Sub-Category - so goes under v_categories_name_2)

Shirts (Primary Category - so goes under v_categories_name_1)

- Sports Shirts (First Level Sub-Category - so goes under v_categories_name_2)

- Formal Shirts (First Level Sub-Category - so goes under v_categories_name_2)

- T-Shirts (First Level Sub-Category - so goes under v_categories_name_2)

- - V-neck T-Shirts (Second Level Sub-Category - so goes under v_categories_name_3)

- - Polo-neck T-Shirts (Second Level Sub-Category - so goes under v_categories_name_3)

- - Casual T-Shirts (Second Level Sub-Category - so goes under v_categories_name_3)

Take a look at the Reference Image:-

[5](Click to see Reference Image THREE - use browser BACK button to return).

Now take a look at this Reference Image to see how it all appears in your Category Sidebox in Zencart.

[6](Click to see Reference Image FOUR - use browser BACK button to return).

Uploading some TEST products into an empty store

Before you do a "Bull in a china shop", tread cautiously with your FIRST upload of real products to a new store.

If you have installed zencart with the demo product set, it's okay to leave all those demo products there for the time being. In fact, I advocate that demo products are left in the store for as long as it takes to learn how to use the features that are attached to them. You can always "disable" demo products by rendering their category(ies) inactive.

Let's assume then, that you have your first spreadsheet ready. It contains about 20 to 25 different products, across several different categories and/or sub-categories.

You have made sure that the above advice has largely been adhered to, and you now want to put these test products into your shop.

STEP ONE is to save your spreadsheet as a tab-delimited text file, on your own computer. MSExcel can be confusing here, because it puts up (what I find) are some confusing alert windows during this "save as" process. In any event, the file MUST be a tab-delimited text file, that has the file extension "txt".

As a quick test, you could try opening your txt file in a program such as Crimson Editor (or, better still, Notepad++), to see if it is in fact saved in the correct format. (Crimson and Notepad++ are freeware on the WWW. Zenshop managers ought to have such an editor anyway).

Assuming all is correct with your txt file, open your webshop admin panel and under "Tools", navigate to the Easy Populate administration page.

Use the Upload EP File option, by browsing to your txt file, selecting the file, and clicking Insert into db.

As you have only a relative handful of products, this upload should take no longer than a couple of seconds - 15 secs at most on a broadband connection.

Easy Populate will show successful data uploads in green text.

If there are errors, it will tell you. If you are not seeing errors, but errors occur, it's probably because you have set Debug Logging to false in the Easy Populate configuration settings.

If Easy Populate successfully uploads SOME of your products, but not all of them, see where it is breaking down by looking at the LAST successful product it uploaded. The problem it encountered is probably with the one immediately following this successfully uploaded product. Go back to your spreadsheet (or txt file) and see what may be causing EP to fall over with this problem product.

Sometimes the fault is not obvious, but look initially for special characters (back-slashes in the text, single quote marks, etc).

Then see if you had EOREOR at the end of the line.

The simple rule is this... a PARTIAL upload meant that EP IS WORKING - only that the "input clerk" (you) snagged it somehow!

Find the error, fix it, and try the upload again. (Don't worry about re-uploading data that went through successfully the first time. Easy Populate will recognise this and change only what's been fixed.)

Adding large quantities of data

Assuming you've had a successful "test" upload, you're now ready to upload a larger quantity of data into your zenshop.

BEFORE YOU PROCEED, you may wish to ensure that your IMAGES have been uploaded to the relevant image directory on your server. I believe it's better to have the images uploaded before you populate the store with product data, because errors with images are then easier to spot when you do the manual inspection after the data upload.

(Have a notepad and pen handy to write down problems, if these occur!)

Your first upload of a large number of products should also be a cautious one. After all, this is your first attempt at getting "working" data into the store that your customers will see. If you have 10,000 products, it's easier to spot problems if you upload only 300 of them at this attempt - rather than all 10,000 !

So, this txt file should have about 300 products in it.

If there are errors in the EP upload report (on-screen in the EP admin panel), note these down, fix them in your txt file, then go through your entire product set (the complete list which should now exist as a spreadsheet) to see if you have made similar errors elsewhere.

Note: Significant errors at this stage are often caused by CATEGORY STRUCTURE problems, where you have not followed the v_categories_name_X procedures.

Other common errors are caused by EOREOR not appearing at the end of each line.

Fix all errors, and as with the test upload (see section above), re-try.

Again, if EP is working for SOME products, then its errors are NOT EP's but the "input clerk" !

Limitations with uploading large quantities of data

Like any computer program, EP's behaviour is influenced by a wide variety of factors that are often "beyond its control".

The single most influencing factor when uploading large data sets are "time-outs", so EP has taken the cautious route of suggesting that either you upload smaller data sets, or use the "Split File" facility inherent in the program.

There is evidence that for many people, EP's inherent "Split File" capability is a little "shaky" at times, and users I have spoken to tend not to use it.

They "split" their large spreadsheet manually into data-sets of about 500 products each, then upload each in turn.

(I have personally uploaded a data-set successfully of more than 3,000 products in one pass on EP, using the "browse" option off my own computer, but it maust be added here that the Product Description text was minimal. This suggests that product description text that is generally extensive across the spreadsheet, may influence EP's success rate.)

The most reliable option for uploading large data-sets is to first FTP the txt file to the /temp/ folder, and to select the "Import from Temp Dir" option in EP's control panel. I know of zenshop owners who have managed to get 8,000+ products successfully uploaded with this method.

I still believe, however, that EP behaves best when it is not "over-stretched".

I would also strongly recommend that loading from a txt file in the /temp/ folder is by far and away the best option as it's not happening over the WWW, where so much can go wrong with data transfer.

Using Easy Populate for the first time on an EXISTING store

Okay, so you heard that EP can save hours of time, but for the last 2 years you've just added your products manually, and now your shop has 1,000 products, and everything's working fine.

However, you now need to do both an UPDATE of existing products (all your prices have increased by 5%), and you've introduced a new line of 300 products that need to be ADDED to your store.


This back-up should be the entire database. It's not sufficient to do an EP download only, as this just ports your product data. It does not safeguard other data (customers, orders, payment systems...).

So, if you're reading (and acting on my advice) from this point, I presume you've followed the First and Most Important Rule!

Downloading the existing data-sets

This is step one. Use the EP download feature to grab tab-delimited txt files of your product data. The only two that you need are the: Download Complete tab-delimited .txt file to edit (Attributes Not Included) and the Download Model/Attributes tab-delimited .txt file.

SAVE these files to an appropriate directory on your own computer. (It's advisable to repeat this process, and save similar copies in your server's /temp/ folder - use the EP "Create..." feature in the EP control panel).

If your current product-set is greater than 1,000 products, I advocate using the "Create..." feature, then FTP the txt files back to your own machine. This minimizes the chance of errors.

Perform a preliminary Dip-Stick test

(Best done when your webshop is not busy - like 03H00 !!)

On your hard drive, make a COPY of the main EP download.txt file that you've just brought in.

Import it into a spreadsheet.

Delete ALL BUT FIVE products. Choose 5 products that DON'T HAVE ATTRIBUTES ATTACHED at random... in different categories.

Log into your shop ADMIN PANEL, and (optional, but advised) put your store "Down for maintenance".

MANUALLY DELETE the five products from your webstore, that are in your modified txt copy, above. (Yes, remove them completely!)

Now, using EP's Product Upload system, RE-UPLOAD the five, using the .txt file you've saved on your hard drive.

Check to see if the products have re-appeared in your store, in the places they were in before you deleted them earlier.

If EP is working properly, and you followed the processes correctly, then the 5 products should re-appear without blemish.

If you have errors, then establish what you did wrong, fix this, and try again.

If you get consistent errors, put your 5 products back MANUALLY, and deactivate "Down for Maintenance". You're now going to have to do some work to find out why EP isn't behaving. It's probably NOT an EP problem if you are getting errors with such a small sample. Afterall, EP DOWNloaded your data set correctly. So, eat humble pie and accept that the error is likely to be that "input clerk" again.