Important Notice from AspDotNetStorefront
It is with dismay that we report that we have been forced, through the action of hackers, to shut off write-access to this forum. We are keen to leave the wealth of material available to you for research. We have opened a new forum from which our community of users can seek help, support and advice from us and from each other. To post a new question to our community, please visit: http://forums.vortx.com
Results 1 to 6 of 6

Thread: Create Googlebase feed - mines not working

  1. #1
    joecalardo is offline Member
    Join Date
    May 2011
    Posts
    61

    Default Create Googlebase feed - mines not working

    Hello, I have a googlebase feed, but when I execute, it tells me my file was uploaded, with only 0 of 1 inserted, I did the FTP information all correctly, but however, I think theres something wrong with my xml package, if someone could evaluate for me on what the problem may be ? I'm also using ML v7

    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <!-- ###################################################################################################### -->
    <!-- Copyright AspDotNetStorefront.com, 1995-2008.  All Rights Reserved.					                -->
    <!-- http://www.aspdotnetstorefront.com														                -->
    <!-- For details on this license please visit  the product homepage at the URL above.		                -->
    <!-- THE ABOVE NOTICE MUST REMAIN INTACT.                                                                   -->
    <!-- ###################################################################################################### -->
    <package displayname="Google Base RSS 2.0 Feed" version="2.1" debug="false" includeentityhelper="false">
        <query name="Products" rowElementName="Product">
            <sql>
            <![CDATA[
                select p.productid, p.name, isnull(pv.name, '') VariantName, p.description, p.sename, p.ImageFileNameOverride, p.SKU, isnull(p.FroogleDescription, '') ProductFroogleDescription, p.SEKeywords,
                    p.ManufacturerPartNumber, pv.price, isnull(pv.saleprice, 0) saleprice, isnull(pv.FroogleDescription, '') VariantFroogleDescription, isnull(pv.description, '') VariantDescr
                from dbo.product p 
                    join dbo.productvariant pv on p.productid = pv.productid
                    left join (select variantid, sum(quan) inventory from dbo.inventory group by variantid) i on pv.variantid = i.variantid
                where p.IsSystem=0 
                    and p.deleted = 0 
                    and p.published = 1 
                    and p.ExcludeFromPriceFeeds = 0 
                    and pv.isdefault = 1
                    and case p.TrackInventoryBySizeAndColor when 1 then isnull(i.inventory, 0) else pv.inventory end >= @HideProductsWithLessThanThisInventoryLevel
            ]]>
            </sql>
            <queryparam paramname="@HideProductsWithLessThanThisInventoryLevel" paramtype="appconfig" requestparamname="HideProductsWithLessThanThisInventoryLevel" sqlDataType="int" defvalue="0"  validationpattern="" />
      </query>
      <PackageTransform>
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aspdnsf="urn:aspdnsf"   xmlns:g="http://base.google.com/ns/1.0" exclude-result-prefixes="aspdnsf">
          <xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8" indent="no" />
    
          <xsl:param name="EntityName">
            <xsl:value-of select="/root/QueryString/entity" />
          </xsl:param>
    
          <xsl:param name="ShowInGrid">true</xsl:param>
          <xsl:param name="GridCols">4</xsl:param>
          <xsl:param name="UseDescr" select="aspdnsf:AppConfig('Froogle_UseDescriptionsIfFroogleDescEmpty')" />
    
          <xsl:param name="LocaleSetting" select="/root/Runtime/LocaleSetting" />
          <xsl:param name="WebConfigLocaleSetting" select="/root/Runtime/WebConfigLocaleSetting" />
    
          <xsl:template match="/">
            <rss version="2.0">
              <channel>
                <title>
                  <xsl:value-of select="aspdnsf:AppConfig('StoreName')" />
                </title>
                <link>
                  <xsl:value-of select="/root/System/StoreUrl" />
                </link>
                <description>
                  <xsl:value-of select="aspdnsf:AppConfig('RSSChannelDescr')" />
                </description>
                <language>
                  <xsl:value-of select="$WebConfigLocaleSetting" />
                </language>
                <pubDate>
                  <xsl:value-of select="/root/System/CurrentDateTime" />
                </pubDate>
                <lastBuildDate>
                  <xsl:value-of select="/root/System/CurrentDateTime" />
                </lastBuildDate>
                <xsl:apply-templates select="/root/Products/Product" />
              </channel>
            </rss>
          </xsl:template>
    
          <xsl:template match="Product">
            <xsl:param name="ProductName" select="aspdnsf:GetMLValue(name)"></xsl:param>
            <xsl:param name="ProductVariantName" select="aspdnsf:GetMLValue(VariantName)"></xsl:param>
            <xsl:param name="ProductDescr" select="aspdnsf:GetMLValue(description)"></xsl:param>
            <xsl:param name="VariantDescr" select="aspdnsf:GetMLValue(VariantDescr)"></xsl:param>
            <xsl:param name="ProductFroogleDescription" select="aspdnsf:GetMLValue(ProductFroogleDescription)"></xsl:param>
            <xsl:param name="VariantFroogleDescription" select="aspdnsf:GetMLValue(VariantFroogleDescription)"></xsl:param>
            <xsl:param name="ItemImage" select="aspdnsf:ProductImageUrl(productid, ImageFileNameOverride, SKU, 'medium', 1)"></xsl:param>
            <xsl:param name="ManufacturerPartNumber" select="aspdnsf:GetMLValue(ManufacturerPartNumber)"></xsl:param>
            
            <item>
              <title>
                <xsl:value-of select="$ProductName" />
              </title>
              <link>
                <xsl:value-of select="/root/System/StoreUrl" />
                <xsl:value-of select="aspdnsf:ProductLink(productid, sename, 0, '')" />
              </link>
              <description>
                <xsl:choose>
                  <xsl:when test="$VariantFroogleDescription!=''">
                    <xsl:value-of select="$VariantFroogleDescription" />
                  </xsl:when>
                  <xsl:when test="$ProductFroogleDescription!=''">
                    <xsl:value-of select="$ProductFroogleDescription" />
                  </xsl:when>
                  <xsl:when test="$VariantDescr!=''">
                    <xsl:value-of select="$VariantDescr" />
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:value-of select="$ProductDescr" />
                  </xsl:otherwise>
                </xsl:choose>
              </description>
              <g:image_link>
                <xsl:if test="not(contains($ItemImage, 'nopicture'))">
                  <xsl:value-of select="$ItemImage" />
                </xsl:if>
              </g:image_link>
              <g:price>
                <xsl:choose>
                  <xsl:when test="number(saleprice)=0">
                    <xsl:value-of select="format-number(price, '###0.00')" />
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:value-of select="format-number(saleprice, '###0.00')" />
                  </xsl:otherwise>
                </xsl:choose>
              </g:price>
              <g:mpn>
                <xsl:value-of select="$ManufacturerPartNumber" />
              </g:mpn>
              <!--<g:payment_notes>GoogleCheckout</g:payment_notes>-->
            </item>
          </xsl:template>
        </xsl:stylesheet>
      </PackageTransform>
    </package>
    Any help would be great - thank you !

  2. #2
    shark92651 is offline Member
    Join Date
    Jan 2006
    Posts
    81

    Default

    The Google feed that ships with the product is woefully outdated and will not work with the current requirements imposed by Google. Vortex/aspdotnetstorefront.com is offering an updated feed, but they want $200 for it. It's probably worth the $200 just to avoid all the pain of trying to code/test this yourself. I don't understand why they can't at least include a basic feed that works with the current Google requirements.

  3. #3
    Hondo69 is offline Member
    Join Date
    Apr 2011
    Location
    Austin, TX
    Posts
    44

    Default

    For $200 I'll delete the antique file that comes loaded out of the box. Then I'll have some spare change to pay for a real file.
    Version ML 8.0.1.4/8.0.1.4

  4. #4
    webopius is offline Senior Member
    Join Date
    Nov 2008
    Location
    London, UK
    Posts
    440

    Default

    Based on the latest GoogleBase spec that I could find, I think Google is now asking for Barcode (EAN/UPC), Brand and the Manufacturer product number for products that are not apparel or custom made goods.

    http://googlebase.blogspot.com/2007/...n-upc-and.html

    In addition, the following fields are now needed that are not in the original ASPDNSF XML feed:

    id (e.g. <g:id>ProductSKU</g:id>)
    condition (e.g. <g:condition>new</g:condition>)

    Everything except the barcode info is easy to add to the feed. The barcode data of course needs to be imported into one of the 'spare' product fields such as ExtensionData.

    Not sure how the Vortx module supports barcodes, but the others are straightforward.

    Adam

  5. #5
    DotNetDevelopments is offline Senior Member
    Join Date
    Jul 2008
    Location
    Harlow / Essex / UK
    Posts
    619

    Default

    http://www.google.com/support/mercha...88494&hl=en_GB (UK)
    http://www.google.com/support/mercha...n_GB&expand=US (USA)

    Always have it bookmarked!

    Use this <g:mpn>SKU or MPN</g:mpn> and if you have a barcode use this <g:gtin>BARCODE</g:gtin>

    All your products should already have a SKU or MPN and as long as you include that your feed should be OK, however the more information you add to your feed the higher chance at being accepted even with slight errors.

    As long as you always use g:mpn on your products you will be fine.

    As all our goods are new we can hardcode <g:condition>new</g:condition> for all products.
    =====
    Version (Code/DB): AspDotNetStorefront MSx 9.1.0.1/9.1.0.0
    Execution Mode: 64 Bit
    Dot Net Developments - E-commerce By Experience

  6. #6
    Alkaline is offline Senior Member
    Join Date
    May 2006
    Posts
    459

    Default

    http://www.aspdotnetstorefront.com/p...commander.aspx

    Note commander has support for the Updated Google Feed plus a lot more features, for the price of the Google Feed you could get a nice upload / export utility as well.
    Simrun AspDotNetStoreFront Development
    Preferred AspDotnetStorefront Development Partner
    ahsan[@]simrun[.]com
    remove the "[]" for email

    Have a Nice Day