<?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.
-->
<entity-engine-xml>
    <SystemProperty systemResourceId="general" systemPropertyId="ORGANIZATION_PARTY" systemPropertyValue="Company" description="the default organizationPartyId for used in dropdowns and reports"/>
    <SystemProperty systemResourceId="general" systemPropertyId="VISUAL_THEME" systemPropertyValue="RAINBOWSTONE_SAPHIR" description="ID of the VisualTheme to use if there is no VISUAL_THEME UserPreference record for the current user (ie default value)"/>
    <SystemProperty systemResourceId="general" systemPropertyId="currency.uom.id.default" systemPropertyValue="USD" description="The default currency to use for prices, etc"/>
    <SystemProperty systemResourceId="general" systemPropertyId="country.geo.id.default" systemPropertyValue="USA" description="the default country for drop downs"/>
    <SystemProperty systemResourceId="general" systemPropertyId="partner.trackingCodeId.default" description="the default trackingCodeId to use for Partner Managed Tracking Codes"/>
    <SystemProperty systemResourceId="general" systemPropertyId="defaultFromEmailAddress" systemPropertyValue="ofbiztest@example.com" description="general default 'fromEmailAddress' can be overridden in: EmailTemplateSetting"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.notifications.enabled" systemPropertyValue="N" description="mail notifications enabled (Y|N)"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.relay.host" description="the default mail server to use"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.auth.user" description="SMTP Auth username setting"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.auth.password" description="SMTP Auth password setting"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.port" systemPropertyValue="465" description="Gmail smtp port can be either 465 or 587"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.starttls.enable" systemPropertyValue="true" description="Gmail requires StartTLS"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.port" systemPropertyValue="465" description="Port needs to be the same as mail.smtp.port"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.class" systemPropertyValue="javax.net.ssl.SSLSocketFactory" description="JSSE socket factory"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.fallback" systemPropertyValue="false" description="Fallback [true|false] determines whether you will allow a non secure connection if you are unable to get a secure one"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.sendpartial" systemPropertyValue="true" description="setting this property to false will abort sending the message"/>
    <SystemProperty systemResourceId="general" systemPropertyId="telecom.notifications.enabled" systemPropertyValue="N" description="Telecom notifications enabled (Y|N)"/>

    <SystemProperty systemResourceId="general" systemPropertyId="CustomTimePeriod.create" systemPropertyValue="Y" 
    description="Whether CustomTimePeriod records are created automatically. Options: Y, N"
    />

    <SystemProperty systemResourceId="general" systemPropertyId="CustomTimePeriod.applType" systemPropertyValue="FISCAL" 
    description="list of one or more period application types"
    />

    <SystemProperty systemResourceId="general" systemPropertyId="CustomTimePeriod.FISCAL.grain" systemPropertyValue="MONTH" 
    description="Lowest granularity of fiscal CustomTimePeriod records to be created. Options: See PeriodType records"
    />

    <SystemProperty systemResourceId="general" systemPropertyId="CustomTimePeriod.FISCAL.intermediate" systemPropertyValue="N" 
    description="Whether intermediate between highest (YEAR) and lowest must be recreated for the type. Options: Y, N"
    />

</entity-engine-xml>
