# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0).

# The endpoint of the Vaadin UI
org.apache.ace.server.servlet.init.productionMode = true
org.apache.ace.server.servlet.endpoint = /ace
# Vaadin UI settings
ui.authentication.enabled = true
ui.authentication.user.name = dd
ui.authentication.user.password = ff
# ACE MS settings
ace.host = http://${org.apache.ace.server}/
# OBR settings
obr.url = http://${org.apache.ace.obr}/obr/
obr.xml = repository.xml
# Session timeout
session.timeout = 300
# Tuning of the artifacts column
artifacts.cache.rate = 0.1
artifacts.page.length = 50
