#####################################################################
# 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.
#####################################################################
Template: ofbiz/admin-user
Type: string
_Description: Enter the username for ofbiz admin account:
 If this is the first time installing ofbiz, you can leave this
 blank, and the default of 'admin' will be choosen.  The initial
 password will be 'ofbiz', and you will be prompted to change it
 after you log in the first time.

Template: ofbiz/admin-port
Type: string
Default: 10523
_Description: Admin port for status queries:
 This is the port used to communicate with a running ofbiz instance, to
 see if it is starting, running, or stopping.

Template: ofbiz/fieldtype/postgres
Type: select
Choices: exact, text
Default: text
_Description: Which field type mapping to use?
 Postgresql 8.1 or later has no speed differences when using TEXT, or
 using a blank-padded field type mapping.  New installs should prefer
 the TEXT variant.

Template: ofbiz/database-type
Type: string
Description: internal

Template: ofbiz/_dbmethod
Type: string
Description: internal
