Forums / All Other Contributions/Addons / Windows Live Product Search Contribution Support Thread

Windows Live Product Search Contribution Support Thread

Locked
Results 1 to 20 of 210
This thread is locked. New replies are disabled.
08 Aug 2007, 22:25
#1
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Windows Live Product Search Contribution Support Thread

Thanks to the support of a few individual Zen Cart members, I've decided to write a script for Windows Live Product Search in XML 1.0.

I've currently written:

eBay Turbo Lister 2.0 Exporter in CSV format,
ePier Bulk File Generator in tab delimited format,
Google Base Feeder in RSS 2.0 format,
and other non-feed modules

This script will be very similar to the Google Base Feeder as it also supports automatic FTP to Live Product Search.

Once the script has been written, an official support thread will be created and link to from this thread.

For now, please use this thread for suggestions and questions regarding the script or information on how you can help to support its creation.
09 Aug 2007, 05:57
#2
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

The script is coming along quickly and smoothly. I spent the day writing it and am now in the testing phase. It outputs the file in XML 1.0 and I changed the FTP function to upload to Windows Live. It also includes most of the optional attributes.

A new feature is that if you aren't using the UPC/ISBN module, you will not receive SQL errors as I've added conditional statements to avoid this. This will be added to the next version of the Google Base Feeder as well since not everyone uses the UPC/ISBN mod.

Expect a working release within the next 24 hours!
09 Aug 2007, 20:10
#3
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

We are now beta testing the script on multiple Zen Cart installations.

If you would like to beta test as well, please contact [email protected]

The script will not interfere with your site and includes no core file modifications. The FTP function has been tested to work and uses port mode instead of pasv to connect to Live's FTP server. The timeout length has also been increased as the server is slower than Google Base's FTP. If you have issues with the FTP function of any of the feeders, please also report your PHP version number for your server.
12 Aug 2007, 00:46
#4
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

The beta tests have been successful and the feeds are accepted by Windows Live Product Upload. Once I've completed the documentation, I will start a support thread and provide a link to it from here.
12 Aug 2007, 01:17
#5
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

v1.0.1 WINDOWS LIVE PRODUCT SEARCH FEEDER

Windows Live Product Search is a free service similar to Google Base which allows store merchants to list their products in the marketplace and link customers to their stores.

This Script generates a Live Product Search data feed as described here: http://productupload.live.com

The main advantage of this script is that Zen Cart merchants can effortlessly add their products to Windows Live Product Search and have the products automatically updated through the use of cron jobs.

Affected files
==============
none

Affects DB
==========
Yes (creates new records into configuration_group, and configuration tables)

DISCLAIMER
==========
Installation of this contribution is done at your own risk.
Backup your Zen Cart database and any and all applicable files before proceeding.

Features:
=========
- supports Search-Engine Safe URLs
- could be accessed by http or command line
- auto-upload to Live Product Search FTP
- full zen-cart compatibility

Install:
========
1. Unzip and upload all files to your store directory (except .sql files);
2. Chmod feed directory to 777
3. Go to Admin->Tools->Install SQL Patches and install lps.sql by copying and pasting (do not upload);
4. Go to http://productupload.live.com and create/sign to your account. To use the FTP function select FTP as your method of upload and create an FTP account.
5. Go to Admin->Configuration->Live Product Search Feeder Configuration and setup all parameters;
6. Name your bulk upload .xml the same as in step 4.
7. Go to Admin->Tools>Live Product Search Feeder and follow instructions to create, view, and upload feed file.

Update:
=======
1. Upload/Overwrite all files;
2. Install current version update_#_#_#.sql by copying and pasting (do not upload);
3. If no update.sql file available, then no SQL updates required;

Tips
====
To have this update and automatically upload to Google Base, you
will need to set up a Cron job via your host's control panel.
To run it as a cron job (at 5:0am like you wanted), put something in your crontab like the
following:

0 5 * * * GET http://your_http_catalog/lps.php?feed=yes&upload=yes
or
0 5 * * * wget http://your_http_catalog/lps.php?feed=yes&upload=yes
or
0 5 * * * curl -s http://your_http_catalog/lps.php?feed=yes&upload=yes
If your host has disabled cron jobs, try webcron services such as http://www.webcron.org/

Troubleshooting:
================
When I select FTP, it returns "Upload Failed" without any explanation.
- Please contact your host for possible solutions.

After uploading the file by FTP, I get "Post-processing failed. Upload failed."
- Your file name does not match the name registered with Windows Product Live. Login to your account and correct the file name.

When I try to send the file by FTP, it times out.
- Increase the timeout length in admin->googlefroogle.php near the beginning of the file.

When I create the feed file, the script stops in the middle of creating the script.
- Increase the script execution time in your stores ADMIN->CONFIGURATION->MY-STORE.
- Create/open a file called php.ini found in your server's root directory (not store root) and add/edit the following lines:
[PHP]max_execution_time = 300
max_input_time = 90
memory_limit = 32M[/PHP]

Constants (i.e. BOX_LPS) are appearing instead of definitions.
- You are missing the appropriate admin definition files. Please reupload ALL of the included files and overwrite any existing files.

History
=======
v 1.0.0 08/08/2007
1. Live Product Search Feeder beta version created for testing;
v 1.0.1 09/08/2007
1. Bug fix;

The current release is stable and is accepted by Windows Live Product Search within 36 hours.
12 Aug 2007, 01:33
#6
kim avatar

kim

Obaa-san

Join Date:
Jun 2003
Posts:
26,564
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Separate threads are not needed. The two threads have been merged.
12 Aug 2007, 03:15
#7
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

Please close the original thread or rename it to Support
12 Aug 2007, 09:00
#8
fastserv avatar

fastserv

New Zenner

Join Date:
Mar 2005
Posts:
22
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Hello Numix,

thank you for this great Script. I have same issues using it.

On a MySQL5 / PHP5 Server I get the following error:

Warning: chmod() [function.chmod]: Operation not permitted in lps.php on line 69
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY p.products_id ASC' at line 11
in:
[SELECT p.products_id, p.products_model, pd.products_name, pd.products_description, p.products_image, p.products_tax_class_id, p.products_price_sorter, s.specials_new_products_price, s.expires_date, GREATEST(p.products_date_added, p.products_last_modified, p.products_date_available) AS base_date, m.manufacturers_name, p.products_quantity, pt.type_handler FROM zen_products p LEFT JOIN zen_manufacturers m ON (p.manufacturers_id = m.manufacturers_id) LEFT JOIN zen_products_description pd ON (p.products_id = pd.products_id) LEFT JOIN zen_product_types pt ON (p.products_type=pt.type_id) LEFT JOIN zen_specials s ON (s.products_id = p.products_id) WHERE p.products_status = 1 AND p.product_is_call = 0 AND p.product_is_free = 0 AND pd.language_id = ORDER BY p.products_id ASC]


I am on a German Shop so it would be great to include the language_id to the configuartion_group statement in you lps.sql.

Anyway on a PHP4 / MySQL 4 Server it works perfect. Thank you.

Stefan

I´m not a native english speaker so apologize for mistakes.
12 Aug 2007, 12:36
#9
arrse avatar

arrse

New Zenner

Join Date:
Nov 2006
Posts:
42
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Numinix,
As with all your work, I've managed to get this up and running in moments and it seems to be working as advertised. Just got to wait those pesky 36 hours for MSN to make it go live .....
12 Aug 2007, 18:47
#10
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

Fastserv:

Hello Numix,

thank you for this great Script. I have same issues using it.

On a MySQL5 / PHP5 Server I get the following error:

Warning: chmod() [function.chmod]: Operation not permitted in lps.php on line 69
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY p.products_id ASC' at line 11
in:
[SELECT p.products_id, p.products_model, pd.products_name, pd.products_description, p.products_image, p.products_tax_class_id, p.products_price_sorter, s.specials_new_products_price, s.expires_date, GREATEST(p.products_date_added, p.products_last_modified, p.products_date_available) AS base_date, m.manufacturers_name, p.products_quantity, pt.type_handler FROM zen_products p LEFT JOIN zen_manufacturers m ON (p.manufacturers_id = m.manufacturers_id) LEFT JOIN zen_products_description pd ON (p.products_id = pd.products_id) LEFT JOIN zen_product_types pt ON (p.products_type=pt.type_id) LEFT JOIN zen_specials s ON (s.products_id = p.products_id) WHERE p.products_status = 1 AND p.product_is_call = 0 AND p.product_is_free = 0 AND pd.language_id = ORDER BY p.products_id ASC]


I am on a German Shop so it would be great to include the language_id to the configuartion_group statement in you lps.sql.

Anyway on a PHP4 / MySQL 4 Server it works perfect. Thank you.

Stefan

I´m not a native english speaker so apologize for mistakes.


Thank you for notifying me of this problem. I'll have to take a look at the differences between PHP4/5 and MySQL4/5.
12 Aug 2007, 18:50
#11
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

IMPORTANT NOTE:

Because it takes so long for Windows Live Product Search to process the list, and there are no product id's included in the XML file as WLPS doesn't support this attribute yet, if you reupload your file, the processing will start over! This is a huge setback in this marketplace and I will be writing to them immediately to resolve this issue.
12 Aug 2007, 18:55
#12
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Windows Live Product Search Contribution Support Thread

fastserv's note brings up a common mistake often only uncovered in non-english shops ... the language value in the query isn't sufficiently forced to proper datatype.

AND pd.language_id = ORDER BY p.products_id ASC


Note that the language_id is missing. This often occurs when the default language is being used and there hasn't been a need to explicitly set one.

It's usually best to at least use (int) before listing $_SESSION['language_id'] in the query parameters.

ie: (int)$_SESSION['language_id']
12 Aug 2007, 19:07
#13
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

I'll include that in all future updates of my feeders. It's strange because that portion of the code was written by a_berezin who's primary shop language is Russian :p

I've just written to WLPS and requested them to add a new attribute called <OfferID>.
12 Aug 2007, 19:42
#14
Join Date:
Jul 2005
Posts:
694
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Having problems with this contribution and your Google Base one as well...same issue actually...

When I click on Step 1 it throws the popup and then immediately stops. Nothing displayed in the window...nothing saved in the feed file.

Added the changes to my php.ini and changed the script execution time in Admin.

Still nothing.

Any ideas?

Is this a hosting issue? If it is what do I need to have my host change to allow this to work?

Thanks for providing such killer add-ons. :clap:
13 Aug 2007, 07:57
#15
dssprogrammer avatar

dssprogrammer

New Zenner

Join Date:
Mar 2007
Posts:
26
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

I get the following error while trying to run the .sql patch, Please advise:

1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'true', 'false'),'), (NULL, 'Uploaded date', 'LPS_UPLOADED_DATE', '', 'Date and t' at line 1
in:
[INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, use_function, set_function) VALUES (NULL, 'Live FTP Username', 'LPS_USERNAME', 'ftp_username', 'Enter your LPS FTP username', @configuration_group_id, 1, NOW(), NULL, NULL), (NULL, 'Live FTP Password', 'LPS_PASSWORD', 'ftp_password', 'Enter your LPS FTP password', @configuration_group_id, 2, NOW(), NULL, NULL), (NULL, 'LPS Server', 'LPS_SERVER', 'ftp.productupload.live.com ', 'Enter Live Product Search server
default: ftp.productupload.live.com', @configuration_group_id, 3, NOW(), NULL, NULL), (NULL, 'Default Currency', 'LPS_CURRENCY', 'USD', 'Only USD currently supported', @configuration_group_id, 5, NOW(), NULL, 'zen_cfg_pull_down_currencies('), (NULL, 'Output File Name', 'LPS_OUTPUT_FILENAME', 'lps.xml', 'Set the name of your Live output file', @configuration_group_id, 19, NOW(), NULL, NULL), (NULL, 'Compress Feed File', 'LPS_COMPRESS', 'false', 'Compress Live Product Search file?', @configuration_group_id, 20, NOW(), NULL, 'zen_cfg_select_option(array('true', 'false'),'), (NULL, 'Uploaded date', 'LPS_UPLOADED_DATE', '', 'Date and time of the last upload', @configuration_group_id, 21, NOW(), NULL, NULL), (NULL, 'Output Directory', 'LPS_DIRECTORY', 'feed/', 'Set the name of your feeds output directory', @configuration_group_id, 20, NOW(), NULL, NULL), (NULL, 'Use cPath in url', 'LPS_USE_CPATH', 'false', 'Use cPath in product info url', @configuration_group_id, 20, NOW(), NULL, 'zen_cfg_select_option(array('true', 'false'),'), (NULL, 'Max products', 'LPS_MAX_PRODUCTS', '0', 'Default = 0 for infinite # of products', @configuration_group_id, 24, NOW(), NULL, NULL), (NULL, 'Included Categories', 'LPS_POS_CATEGORIES', '', 'Enter category names separated by commas
(i.e. computers,software,televisions)
Leave blank to allow all categories', @configuration_group_id, 30, NOW(), NULL, NULL), (NULL, 'Excluded Categories', 'LPS_NEG_CATEGORIES', '', 'Enter category names separated by commas
(i.e. computers,software,televisions)
Leave blank to deactivate', @configuration_group_id, 30, NOW(), NULL, NULL), (NULL, 'UPC', 'LPS_UPC', 'false', 'Include products UPC?', @configuration_group_id, 32, NOW(), NULL, 'zen_cfg_select_option(array('true', 'false'),'), (NULL, 'ISBN', 'LPS_ISBN', 'false', 'Include products ISBN?', @configuration_group_id, 32, NOW(), NULL, 'zen_cfg_select_option(array('true', 'false'),');]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
13 Aug 2007, 08:51
#16
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Windows Live Product Search Contribution Support Thread

Try copy-and-paste the file contents into the SQL Patch window instead of simply browsing for the file.
13 Aug 2007, 09:04
#17
numinix avatar

numinix

Totally Zenned

Join Date:
Apr 2007
Posts:
1,562
Plugin Contributions:
47

Re: Windows Live Product Search Contribution Support Thread

DrByte:

Try copy-and-paste the file contents into the SQL Patch window instead of simply browsing for the file.


Yes, please read the included readme.txt file for instructions on how to properly install and use this script.
13 Aug 2007, 10:40
#18
dssprogrammer avatar

dssprogrammer

New Zenner

Join Date:
Mar 2007
Posts:
26
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Doh, thanks numinix for reminding me what readme files are for. ;)

It took this time.
13 Aug 2007, 11:05
#19
dssprogrammer avatar

dssprogrammer

New Zenner

Join Date:
Mar 2007
Posts:
26
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

One more little snag.
All went well up to step 7.
"7. Go to Admin->Tools>Live Product Search Feeder and follow instructions to create, view, and upload feed file."

I don't see the Live Product Search Feeder link it the Tools list
(strange, because step 5. was OK)

Am I doing something stupid again?
13 Aug 2007, 19:09
#20
batteryman avatar

batteryman

Zen Follower

Join Date:
Jul 2004
Posts:
327
Plugin Contributions:
0

Re: Windows Live Product Search Contribution Support Thread

Hello,

I am glad to see that you made the MSN Product Live. I was manually having to modify the output of your Google Feeder to get the correct feed style for MSN.

I really appreciate it. I made a small contribution for your efforts. Its all I could afford at the the moment.

Thank you
avel