How To Quickly Get Your Products Into ShopSite – Part 3: XML Upload

In Parts one and two of this series, we examined how to get products into ShopSite® via the backoffice and with a database upload file (either tab delimited or an actual Excel file). Today we’ll take a quick look at using an XML file upload to help automate changes.

What is XML?

XML stands for Extensible Markup Language. It is a way to put data into a customizable format that is easy to move between different types of systems. XML is simply a format for a text file. It has some special rules for how data should be stored.

ShopSite’s use of XML is governed by a Document Type Definition (DTD). This file explains the format of the XML file that ShopSite expects when it imports an XML file. You may view ShopSite’s DTD for products to see what it contains.

Do you need to know anything about DTDs or the ins and outs of XML to use it? Not really. The best thing to do is download your products from ShopSite in XML format, open the file in a text editor like Notepad or Word, and see the format. You can then “mimic” this format for future XML uploads.

A few “gotchas”

1. Format is important
XML is pretty strict when it comes to syntax. You have to be careful with the tags and make sure they are opened and closed correctly. For fields with data in them, the format is usually:

<SaleAmount>4.99</SaleAmount>

If a field is empty, then format changes to:

<SaleAmount />

2. Watch out for “<” and “>” characters
XML files uses the <> characters for their tags. If your data contains these characters, you have to use the HTML entity reference (fancy term for replacement string) of &lt; for the “<” character and &gt; for the “>” character:

<Description>1 -&gt; 2 -&gt; 3</Description>

Another option is to use a CDATA section, where any characters can be used:

<Description><![CDATA[
1 -> 2 -> 3
]]>
</Description>

Why use XML?

  • With XML, you can export data from various software programs and applications into a universally accepted format. This makes it easy to move data between applications that are not compatible.
  • ShopSite allows you to automate an XML file import, thereby bypassing the need to go into the backoffice and upload the file manually. This can be handy for programs that need to update inventory levels often.
  • XML is often preferred by developers whose programs can easily generate valid XML files based off of ShopSite’s DTD format.

How to upload an XML file in ShopSite

ShopSite’s documentation is quite thorough in explaining how to upload an XML file. The easiest thing to do is use FTP to transfer your XML file to your store’s output directory (If you do not know your store’s output directory, which is where ShopSite creates its catalog pages, you can see this setting under: Preferences -> Hosting Service in the backoffice).

Once your XML file is uploaded, you can instruct ShopSite to import it via a simple URL that can be called from a program or even your web browser. The format would be:

dbupload.cgi?clientApp=1&dbname=products&filename=file.xml

You can even tell ShopSite to publish its files after the upload:

generate.cgi?clientApp=1

The documentation lists all the various options and methods you can choose for uploads and publishes.

Bonus tip: Variable price, name, SKU

One unique way to have a “wildcard” product in ShopSite is to create a product that is a variable price, name, and SKU product. This means that you (or the customer) can define what the name, price, and SKU of this product will be before it is placed in the cart.

There are numerous ways to use this type of product to achieve custom products in ShopSite:

  • Handful of products whose weights are set to desired values. Dynamic pages that set price/name/sku for the appropriate weighted product in ShopSite
  • Custom pricing based on type of customer
  • SKU/Price automatically set based on dropdown selections from custom menus
  • Auction payment system where customer enters price they paid for product
  • Accept donations in any amount as determined by the customer
  • Personalized products that contain customer’s name in the actual name of the product

With a little creativity and programming, this can be quite a powerful feature to customize your store.

Hopefully this three part series helped you see the various ways to get products into ShopSite. If I missed anything, or you have any feedback or questions about this topic, please say so in the comments below.  :)

Looking for a web host that understands ecommerce and business hosting?
Check us out today!

One Comment

Leave a Reply