<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
    
    <!-- ========================================================= -->
    <!-- ======================== Defaults ======================= -->
    <!-- ========================================================= -->
    <title>Entity of an Open For Business Project Component</title>
    <description>None</description>
    <version>1.0</version>
    
    <!-- ========================================================= -->
    <!-- ======================== Data Model ===================== -->
    <!-- The modules in this file are as follows:                  -->
    <!--  - org.ofbiz.googlebase.config -->  
    <!-- ========================================================= -->
    
    <!-- ========================================================= -->
    <!-- org.ofbiz.googlebase.config -->
    <!-- ========================================================= -->

    <entity entity-name="GoogleBaseConfig"
            package-name="org.ofbiz.googlebase.config"
            title="Google Base Configuration">
        <field name="productStoreId" type="id-ne"></field>
        <field name="developerKey" type="value"><description>Developer Key that should be obtained from Google Base</description></field>
        <field name="authenticationUrl" type="value"><description>Authentication URL for Google Base</description></field>
        <field name="accountEmail" type="name"><description>Gmail Account for logging into Google Base</description></field>
        <field name="accountPassword" type="name" encrypt="true"></field>
        <field name="postItemsUrl" type="value"><description>All the items should be posted to this url</description></field>
        <field name="webSiteId" type="id-ne"></field>
        <field name="utmSource" type="id-ne"><description>Campaign Source (referrer: google, citysearch, newsletter4)</description></field>
        <field name="utmMedium" type="id-ne"><description>Campaign Medium (marketing medium: cpc, banner, email)</description></field>
        <field name="utmTerm" type="id-ne"><description>Campaign Term (identify the paid keywords)</description></field>
        <field name="utmContent" type="id-ne"><description>Campaign Content (use to differentiate ads)</description></field>
        <field name="utmCampaign" type="id-ne"><description>Campaign Name (product, promo code, or slogan)</description></field>
        <prim-key field="productStoreId"/>      
        <relation type="one" fk-name="GBS_PROD_STORE" rel-entity-name="ProductStore">
            <key-map field-name="productStoreId"/>
        </relation>
        <relation type="one" fk-name="GBS_WEBSITE" rel-entity-name="WebSite">
            <key-map field-name="webSiteId"/>
        </relation>
    </entity>
</entitymodel>    
    
