ilscipio/scipio-erp

View on GitHub
framework/webapp/entitydef/entitymodel.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->

<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
  <!-- ========================================================= -->
  <!-- ======================== Defaults ======================= -->
  <!-- ========================================================= -->
    <title>Entity of an Apache OFBiz Component</title>
    <description>None</description>
    <version>1.0</version>

  <!-- ========================================================= -->
  <!-- ======================== Data Model ===================== -->
  <!-- The modules in this file are as follows:                  -->
  <!--  - org.ofbiz.webapp.visit -->
  <!--  - org.ofbiz.webapp.website -->
  <!-- ========================================================= -->


  <!-- ========================================================= -->
  <!-- org.ofbiz.webapp.visit -->
  <!-- ========================================================= -->

    <entity entity-name="BrowserType"
            package-name="org.ofbiz.webapp.visit"
            title="Browser Type">
      <field name="browserTypeId" type="id-ne"></field>
      <field name="browserName" type="name"></field>
      <field name="browserVersion" type="very-short"></field>
      <prim-key field="browserTypeId"/>
    </entity>
    <entity entity-name="PlatformType"
            package-name="org.ofbiz.webapp.visit"
            title="Platform Type">
      <field name="platformTypeId" type="id-ne"></field>
      <field name="platformName" type="name"></field>
      <field name="platformVersion" type="very-short"></field>
      <prim-key field="platformTypeId"/>
    </entity>
    <entity entity-name="ProtocolType"
            package-name="org.ofbiz.webapp.visit"
            title="Protocol Type">
      <field name="protocolTypeId" type="id-ne"></field>
      <field name="protocolName" type="name"></field>
      <prim-key field="protocolTypeId"/>
    </entity>
    <entity entity-name="ServerHit"
            package-name="org.ofbiz.webapp.visit"
            never-cache="true"
            title="Server Hit">
      <field name="visitId" type="id-ne"></field>
      <field name="contentId" type="id-vlong-ne"><!-- This is called contentId but has nothing to do with the Content entity in many cases. The value can vary. For example for the ControlServlet request it is "${webapp-name}.${request-map-name}" --></field>
      <field name="hitStartDateTime" type="date-time"></field>
      <field name="hitTypeId" type="id-ne"></field>
      <field name="numOfBytes" type="numeric"></field>
      <field name="runningTimeMillis" type="numeric"></field>
      <field name="userLoginId" type="id-vlong"></field>
      <field name="statusId" type="id"></field>
      <field name="requestUrl" type="url"></field>
      <field name="referrerUrl" type="url"></field>
      <field name="serverIpAddress" type="id"></field>
      <field name="serverHostName" type="long-varchar"></field>
      <prim-key field="visitId"/>
      <prim-key field="contentId"/>
      <prim-key field="hitStartDateTime"/>
      <prim-key field="hitTypeId"/>
      <relation type="one" fk-name="SERVER_HIT_SHTYP" rel-entity-name="ServerHitType">
        <key-map field-name="hitTypeId"/>
      </relation>
      <relation type="one" fk-name="SERVER_HIT_VISIT" rel-entity-name="Visit">
        <key-map field-name="visitId"/>
      </relation>
      <index name="SERVER_HIT_STRTIDX" unique="false"><!-- SCIPIO: 2018-08-28: name shortened to 18 char (NOTE: this index not in stock ofbiz) -->
        <index-field name="hitTypeId"/>
        <index-field name="hitStartDateTime"/>
      </index>
    </entity>
    <entity entity-name="ServerHitBin" package-name="org.ofbiz.webapp.visit" never-cache="true" title="Server Hit Bin">
      <field name="serverHitBinId" type="id-ne"></field>
      <field name="contentId" type="id-vlong-ne"></field>
      <field name="hitTypeId" type="id-ne"></field>
      <field name="serverIpAddress" type="id"></field>
      <field name="serverHostName" type="long-varchar"></field>
      <field name="binStartDateTime" type="date-time"></field>
      <field name="binEndDateTime" type="date-time"></field>
      <field name="numberHits" type="numeric"></field>
      <field name="totalTimeMillis" type="numeric"></field>
      <field name="minTimeMillis" type="numeric"></field>
      <field name="maxTimeMillis" type="numeric"></field>
      <prim-key field="serverHitBinId"/>
      <relation type="one" fk-name="SERVER_HBIN_TYPE" rel-entity-name="ServerHitType">
        <key-map field-name="hitTypeId"/>
      </relation>
        <index name="HITBIN_DATE_HITS">
            <index-field name="numberHits" />
            <index-field name="binStartDateTime" />
            <index-field name="binEndDateTime"/>
        </index>
    </entity>
    <entity entity-name="ServerHitType"
            package-name="org.ofbiz.webapp.visit"
                        default-resource-name="WebappEntityLabels"
            title="Server Hit Bin">
      <field name="hitTypeId" type="id"></field>
      <field name="description" type="description"></field>
      <prim-key field="hitTypeId"/>
    </entity>
    <entity entity-name="UserAgent"
            package-name="org.ofbiz.webapp.visit"
            title="User Agent">
      <field name="userAgentId" type="id-ne"></field>
      <field name="browserTypeId" type="id"></field>
      <field name="platformTypeId" type="id"></field>
      <field name="protocolTypeId" type="id"></field>
      <field name="userAgentTypeId" type="id"></field>
      <field name="userAgentMethodTypeId" type="id"></field>
      <prim-key field="userAgentId"/>
      <relation type="one" fk-name="UAGENT_BROWSER" rel-entity-name="BrowserType">
        <key-map field-name="browserTypeId"/>
      </relation>
      <relation type="one" fk-name="UAGENT_PLATFORM" rel-entity-name="PlatformType">
        <key-map field-name="platformTypeId"/>
      </relation>
      <relation type="one" fk-name="UAGENT_PROTOCOL" rel-entity-name="ProtocolType">
        <key-map field-name="protocolTypeId"/>
      </relation>
      <relation type="one" fk-name="UAGENT_TYPE" rel-entity-name="UserAgentType">
        <key-map field-name="userAgentTypeId"/>
      </relation>
      <relation type="one" fk-name="UAGENT_METHOD" rel-entity-name="UserAgentMethodType">
        <key-map field-name="userAgentMethodTypeId"/>
      </relation>
    </entity>
    <entity entity-name="UserAgentMethodType"
            package-name="org.ofbiz.webapp.visit"
            title="User Agent Method Type">
      <field name="userAgentMethodTypeId" type="id-ne"></field>
      <field name="description" type="description"></field>
      <prim-key field="userAgentMethodTypeId"/>
    </entity>
    <entity entity-name="UserAgentType"
            package-name="org.ofbiz.webapp.visit"
            title="User Agent Type">
      <field name="userAgentTypeId" type="id-ne"></field>
      <field name="description" type="description"></field>
      <prim-key field="userAgentTypeId"/>
    </entity>
    <entity entity-name="Visit" package-name="org.ofbiz.webapp.visit" never-cache="true" title="Visit"
        sequence-bank-size="100">
        <field name="visitId" type="id-ne"></field>
        <field name="visitorId" type="id"></field>
        <field name="userLoginId" type="id-vlong"></field>
        <field name="userCreated" type="indicator"></field>
        <field name="sessionId" type="id-vlong"></field>
        <field name="serverIpAddress" type="id"></field>
        <field name="serverHostName" type="long-varchar"></field>
        <field name="webappName" type="short-varchar"></field>
        <field name="initialLocale" type="short-varchar"></field>
        <field name="initialRequest" type="url"></field>
        <field name="initialReferrer" type="url"></field>
        <field name="initialUserAgent" type="long-varchar"></field>
        <field name="userAgentId" type="id"></field>
        <field name="clientIpAddress" type="short-varchar"></field>
        <field name="clientHostName" type="long-varchar"></field>
        <field name="clientUser" type="short-varchar"></field>
        <field name="clientIpIspName" type="short-varchar"></field>
        <field name="clientIpPostalCode" type="short-varchar"></field>
        <field name="cookie" type="short-varchar"></field>
        <field name="fromDate" type="date-time"></field>
        <field name="thruDate" type="date-time"></field>
        <prim-key field="visitId"/>
        <relation type="one" fk-name="VISIT_VISITOR" rel-entity-name="Visitor">
            <key-map field-name="visitorId"/>
        </relation>
        <relation type="one" fk-name="VISIT_USER_AGNT" rel-entity-name="UserAgent">
            <key-map field-name="userAgentId"/>
        </relation>
        <index name="VISIT_THRU_IDX" unique="true">
            <index-field name="thruDate"/>
            <index-field name="visitId"/>
        </index>
        <index name="VISIT_FROM_DATE" unique="true">
            <index-field name="fromDate"/>
            <index-field name="visitId"/>
        </index>
    </entity>
    <entity entity-name="Visitor" package-name="org.ofbiz.webapp.visit" title="Visitor"
        sequence-bank-size="100">
        <field name="visitorId" type="id-ne"></field>
        <field name="userLoginId" type="id-vlong"></field>
        <prim-key field="visitorId"/>
        <relation type="one" fk-name="VISITOR_USRLGN" rel-entity-name="UserLogin">
            <key-map field-name="userLoginId"/>
        </relation>
    </entity>

  <!-- ========================================================= -->
  <!-- org.ofbiz.webapp.website -->
  <!-- ========================================================= -->

    <entity entity-name="WebPage"
            package-name="org.ofbiz.webapp.website"
            title="Web Page">
      <field name="webPageId" type="id-ne"></field>
      <field name="pageName" type="name"></field>
      <field name="webSiteId" type="id"></field>
      <prim-key field="webPageId"/>
      <relation type="one" fk-name="WEB_PAGE_SITE" rel-entity-name="WebSite">
        <key-map field-name="webSiteId"/>
      </relation>
    </entity>
    <entity entity-name="WebSite"
            package-name="org.ofbiz.webapp.website"
            title="Web Site">
      <field name="webSiteId" type="id-ne"></field>
      <field name="siteName" type="name"></field>
      <field name="httpHost" type="long-varchar"></field>
      <field name="httpPort" type="very-short"></field>
      <field name="httpsHost" type="long-varchar"></field>
      <field name="httpsPort" type="very-short"></field>
      <field name="enableHttps" type="indicator"></field>
      <field name="standardContentPrefix" type="url"></field>
      <field name="secureContentPrefix" type="url"></field>
      <field name="cookieDomain" type="long-varchar"></field>
      <field name="visualThemeSetId" type="id"></field>
      <field name="visualThemeSelectorScript" type="long-varchar">
        <description>SCIPIO: Location of a script tasked with selecting a visual theme at every new render</description>
      </field>
      <field name="visualThemeId" type="id">
        <description>SCIPIO: Specific visual theme ID override; may be used to override the product store 
            visualThemeId when set (and WebSite is available)</description>
      </field>
      <field name="webappPathPrefix" type="url">
        <description>SCIPIO: URL path prefix appended between the domain/port and the webapp context path in generated links,
            for webapp and navigation links (@pageUrl); must start with slash but end with no slash. (added 2018-07-27)</description>
      </field>
      <field name="redirects" type="very-long"><description>A field for redirect data</description></field>
      <field name="robots" type="very-long"><description>A field for robots.txt data</description></field>
      <field name="prewarmcache" type="very-long"><description>A field for prewarm cache urls, line separated</description></field>
      <prim-key field="webSiteId"/>
      <relation type="one" fk-name="WEB_SITE_THEME_SET" rel-entity-name="VisualThemeSet">
        <key-map field-name="visualThemeSetId"/>
      </relation>
    </entity>
</entitymodel>