# 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
context.path = /

vaadin.productionMode = true
vaadin.cache.time = 3600
# 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 = index.xml
# Session timeout; due to ACE-528 this is now set in ms! 
session.timeout = 300000
# Tuning of the artifacts column
artifacts.cache.rate = 3
artifacts.page.length = 50
