### Common options
# read index from:
lucene.indexDir	=	/Users/hanl/Projects/prep_corpus2
## lucene.indexDir	=	/home/hanl/Projects/prep_corpus
## lucene.indexDir	=	/data/indices


# Lucene Backend properties
lucene.properties = true
lucene.index.commit.count = 134217000
lucene.index.commit.log = log/korap.commit.log

# Not active at the moment:
lucene.index.search.count.default = 25
lucene.index.search.count.max = 100
lucene.index.search.context.left.type = token
lucene.index.search.context.left.default = 6
lucene.index.search.context.left.max = 12
lucene.index.search.context.right.type = token
lucene.index.search.context.right.default = 6
lucene.index.search.context.right.max = 12


### Options for server mode ###
service.port	=	8070

## email configuration
mail.host = mail.ids-mannheim.de
mail.from = no-reply@korap.ids-mannheim.de

## frontend parameter  - deprecated
korap.frontend.url = http://localhost:8080
## korap.frontend.url = http://klinux10.ids-mannheim.de:8080/korap-frontend/app

korap.ql=Cosmas2, Poliqarp, CQL, ANNIS
korap.issuer=http://korap1:8080/api

## configuration options
log4jconfig     = ./config/log4j.properties

# directory to reference jsp and html files for static content
webapp.dir=webapp


## NEW!!
users.config=/Users/hanl/Projects/KorAP-project/KorAP-modules/KorAP-REST/config/users.c
policies.config=/Users/hanl/Projects/KorAP-project/KorAP-modules/KorAP-REST/config/policies.c

## options referring to the security module!

## token expiration time in minutes!
## decpricated, no function uses this anymore
security.absoluteTimeoutDuration = 45M

security.tokenTTL=72H
security.shortTokenTTL=12H

security.idleTimeoutDuration = 25M
security.multipleLogIn = true
security.loginAttemptNum = 3
security.authAttemptTTL = 45M

security.encryption.loadFactor = 8
security.validation.stringLength = 150
security.validation.emailLength = 50
security.encryption.algo=BCRYPT
security.sharedSecret=nHim5JB-YqkX7sS55jayGBnga8WmqgpkzieGe8UhojE
security.adminToken=f61d02c04a0f18d60172f7b990955824

# change to persistent id or create one (could be list of values, which would be joined!)
security.shibUserMapping=eppn

# specify a default client!

## applicable: rewrite, foundry, filter, deny
security.rewrite.strategies=filter, foundry, rewrite

## name of the policy condition that registering users can be added by default
## if none given, none is applied
security.group.public=public