You must have an account with ICEcat before you can access ICEcat data.
Setting up ICEcat
To be able to use CSVI with ICEcat, a few things need to be setup first. These things are:
- ICEcat account
- Index files need to be loaded
- Files index
- Manufacturer index
An ICEcat account can be requested at the ICEcat website.
There are two index files that need to be loaded:
- Files index
The files index is a list of URLs that are available on the ICEcat server. This file must be loaded into the
database as CSVI VirtueMart will check this list if product information is available. The default file index is
located at https://data.icecat.biz/export/freexml.int/INT/files.index.csv
- Manufacturer index
The manufacturer index is a list of manufacturers that are available on the ICEcat server. This file must be
loaded into the database as CSVI VirtueMart will check this list if product information is available. The
default file index is located at https://data.icecat.biz/export/freexml.int/INT/supplier_mapping.xml
The index files are increasingly getting bigger so it might not be possible to have RO CSVI download the files for you. In that case you need to prepare the files manually.
Manual loading of the index files
Use these steps to manually download the index files:
- Download the Files index from https://data.icecat.biz/export/freexml.int/INT/files.index.csv or if you have a paid account from https://data.icecat.biz/export/level4/INT/files.index.csv
- Upload the downloaded file to your server to the file /tmp/com_csvi/icecat_index
- Download the Manufacturer Index from https://data.icecat.biz/export/freexml.int/INT/supplier_mapping.xml or if you have a paid account from https://data.icecat.biz/export/level4/INT/supplier_mapping.xml
- Upload the downloaded file to your server to the file /tmp/com_csvi/icecat_supplier
You can replace INT with the language of your choice. The language codes can be found at the end of the document.
Once the ICEcat account has been created, on RO CSVI backend settings tab, Provide the user credentials used for creating the account and save it.
The index files are loaded via the Maintenance tab:
On loading the index files, CSVI follows this process:
- Check if the file icecat_index exists in the folder set by ICEcat indexes path
- If 1 does not exist, check if the file icecat_index.gzip exists in the folder set by ICEcat indexes path
- If 2 does not exist, check if the file icecat_index.zip exists in the folder set by ICEcat indexes path
- Check if the file icecat_supplier exists in the folder set by ICEcat indexes path
- If 4 does not exist, check if the file icecat_supplier.gzip exists in the folder set by ICEcat indexes path
- If 5 does not exist, check if the file icecat_supplier.zip exists in the folder set by ICEcat indexes path
If any of the above files are found, CSVI will use these local files to import the indexes. If none of the files are found, CSVI will try to download the files from the ICEcat server.
In case you have troubles loading the files index make sure the ICEcat indexes folder does not have any files in it.
This option is useful to download the large files index file as the size of this file is more than 100MB unpacked. The download is usually no problem but after the file is downloaded CSVI needs to unpack the zip file and can easily run out of memory. There are 3 solutions for this:
- Increase the available memory
- Download the unzipped file
- Unzip the file on your computer and upload it to the server
Once all the settings are done, Click on continue on the top corner and the file download process would start. Please note that this process would just look for the index files and would download. Actual import process would be done same as the Product Import .
The index file is a big file with over 500,000 entries. By default CSVI will load the files index in 1 step because this is the fastest and most efficient way of loading the files index.
To be able to load the file in 1 step the INFILE command needs to be enabled on the server. When the INFILE command is not enabled the error: Error occurred: The used command is not allowed with this MySQL version appears. To be able to load the index files, the MySQL needs to be configured to use the
INFILE command. This command can be enabled in the MySQL configuration file.
Add this line:
to the /etc/my.cnf in the [mysql] section.
This is most likely done by the webhost.
Once the files are downloaded, RO CSVI would notify the process is completed.
Load the files index in multiple steps
In case it is not possible to load the files index file in 1 step, it is possible to load it in multiple steps.
To load the file in multiple steps set the following options:
- Load type: Single
- Number of lines per import: 1000
This is the number of lines that is imported on each step.
- Wait time between imports: 5
This time is when the import pauses to reduce the load on the server
When performing the ICEcat index loading using cron, the 1 step import is used.
Manufacturer Part Number
ICEcat identifies products based on the MPN (Manufacturer Part Number) and manufacturer name. If your product SKU is not the same as the MPN you must add a field to the VirtueMart product table to store the MPN.
On import you must also set in your template settings to use the MPN column instead of the product SKU as shown below. In this example the database column is called product_mpn.
What happens now on import is that not the column product_sku is used as unique identifier but the column product_mpn.
In case the product_sku is the only column and contains the MPN value, the custom column name can be set to product_sku.
Enabling ICEcat Data
To tell CSVI that not the data in the import file needs to be used but to use ICEcat data instead, enable the ?Use ICEcat data? option as shown below.
Similar SKU search
The similar SKU search will search ICEcat for SKUs that are similar to the one being imported. This helps to find products that have an added identifier. For example the SKU A123 is imported but in ICEcat it is known as A123AA, CSVI will take the information from the A123AA ICEcat file.
Preparing the Import
CSVI will update the following fields with ICEcat data if found in the import file:
When importing ICEcat data only include the above fields you want updated with ICEcat information.
Import ICEcat Data
INT - International standardized version of a data-sheet
EN - Standard or UK English
US - US English
NL - Dutch
FR - French
DE - German
IT - Italian
ES - Spanish
DK - Danish
RU - Russian
PT - Portuguese
ZH - Chinese (simplified)
SE - Swedish
PL - Polish
CZ - Czech
HU - Hungarian
FI - Finnish
NO - Norwegian
TR - Turkish
BG - Bulgarian
KA - Georgian
RO - Romanian
SR - Serbian
JA - Japanese
UK - Ukrainian
CA - Catalan
HR - Croatian