<?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" description="the default organizationPartyId for used in dropdowns and reports"/>
    <SystemProperty systemResourceId="general" systemPropertyId="VISUAL_THEME" 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" description="The default currency to use for prices, etc"/>
    <SystemProperty systemResourceId="general" systemPropertyId="country.geo.id.default" 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" description="general default 'fromEmailAddress' can be overridden in: EmailTemplateSetting"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.notifications.enabled" 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" description="Gmail smtp port can be either 465 or 587"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.starttls.enable" description="Gmail requires StartTLS"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.port" description="Port needs to be the same as mail.smtp.port"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.class" description="JSSE socket factory"/>
    <SystemProperty systemResourceId="general" systemPropertyId="mail.smtp.socketFactory.fallback" 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" description="setting this property to false will abort sending the message"/>
</entity-engine-xml>
