Please enable JavaScript to view this site.

Invantive Estate

Middels het bestand site.properties in de WEB-INF map van de webapplicatiemap kan de applicatie geconfigureerd worden:

De verbindingen met Oracle RDBMS en het ERP-systeem.

De meertaligheid.

De verbinding met de gebruikersgegevens (gebruikersnamen en wachtwoorden)

Andere kleine aanpassingen.

Deze aanpassingen mogen alleen door gekwalificeerde consultants van Invantive Software BV doorgevoerd worden, aangezien ze een directe invloed hebben op de kern van de applicatie.

De werkwijze voor aanpassingen bestaat uit:

Stoppen webserver.

Wijzigen site.properties.

Starten webserver.

De wijzigingen zijn direct effectief als een gebruiker zich aanmeldt.

Voor meer informatie over de functionaliteit kun je de onderstaande kopie raadplegen.

Voorbeeld

#logger properties @0-029F305D

logfile=c:\\temp\\bubs3.log

logpriority=debug

# Logsize in Kb. File is truncated and written after this size.

logsize=1024000

#End logger properties

 

#url properties @0-E8A730F5

serverUrl=http://localhost/bubs3

securedUrl=/bubs3

#End url properties

 

#localization properties @0-0D67F023

encoding=utf-8

language=Netherlands

defaultDateFormat=dd-MM-yyyy

defaultBooleanFormat=Y;N

requestEncoding=utf-8

#End localization properties

 

#messages bundle @0-77F70051

messagesBundle=MessagesBundle

#End messages bundle

 

#file upload @0-215C2A9B

com.codecharge.util.upload.storage=memory

#End file upload

 

#body post processor class name @0-C5219FBD

bodyPostProcessor.className=com.codecharge.util.CcsBodyPostProcessor

#End body post processor class name

 

#template class name @0-8EA332EE

template.class.name=com.codecharge.template.CCSTemplate

#End template class name

 

#templateSource class name @0-840DD0B6

templateSource.class.name=com.codecharge.template.FileTemplateSource

#End templateSource class name

 

#templateParser class name @0-7F4F85C9

templateParser.class.name=com.codecharge.template.TemplateParser

#End templateParser class name

 

#templateFolder @0-52356875

templateFolder=

#End templateFolder

 

#styles settings @0-27E71411

useDynamicStyles=True

defaultStyle=Apricot

SSEnableQueryString=True

SSQueryStringName=style

SSEnableSession=True

SSSessionName=style

SSEnableCookie=False

SSCookieName=style

SSCookieExpired=365

#End styles settings

 

#defaultLocale @0-45E529E7

defaultLocale=nl

#End defaultLocale

 

#localeSwitching @0-02E16A18

useI18nFeatures=True

enableQueryString=true

queryStringName=locale

enableSession=true

sessionName=locale

languageSessionName=lang

enableCookie=false

cookieName=locale

cookieExpired=365

enableHTTPHeader=false

httpHeaderName=

#End localeSwitching

 

#authentication properties @0-045E17BF

authenticator.securityType=CCS

authenticator.factoryClassName=com.codecharge.util.CCSAuthenticatorFactory

authenticator.securityStorage=session

authenticator.inheritanceRights=False

authenticator.userIdFieldName=GBR_ID

authenticator.userIdVarName=UserID

authenticator.loginFieldName=GBR_AANMELD_CODE

authenticator.loginVarName=UserLogin

authenticator.passwordFieldName=GBR_WACHTWOORD

authenticator.connectionName=bubs_tomcat

authenticator.tableName=BUBS_GEBRUIKERS_V

#End authentication properties

 

#tags to lower case @0-0649DE20

tags.toLowerCase=false

#End tags to lower case

 

#Connection 'bubs_tomcat' properties @1-28E264C0

bubs_tomcat.name=bubs_tomcat

bubs_tomcat.driver=oracle.jdbc.driver.OracleDriver

bubs_tomcat.dbType=Oracle

bubs_tomcat.url=jdbc:oracle:thin:@localhost:1521:ORCL

bubs_tomcat.maxconn=250

bubs_tomcat.user=bubs_tomcat

bubs_tomcat.password=bubs_tomcat

bubs_tomcat.timeout=3600

bubs_tomcat.fieldLeftDelim="

bubs_tomcat.fieldRightDelim="

bubs_tomcat.dateLeftDelim='

bubs_tomcat.dateRightDelim='

bubs_tomcat.dbNameUppercase=True

bubs_tomcat.dateFormat=dd-MM-yyyy HH:mm

bubs_tomcat.booleanFormat=Y;N

bubs_tomcat.optimizeSQL=True

bubs_tomcat.sessionCommand0=ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI'

#End Connection 'bubs_tomcat' properties

 

#Connection 'bubs_exact' properties @2-444594F2

bubs_exact.name=bubs_exact

bubs_exact.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver

bubs_exact.dbType=MSSQLServer

bubs_exact.url=jdbc:microsoft:sqlserver://localhost:21433

bubs_exact.maxconn=10

bubs_exact.user=bubs

bubs_exact.password=expbubs

bubs_exact.timeout=300

bubs_exact.fieldLeftDelim=[

bubs_exact.fieldRightDelim=]

bubs_exact.dateLeftDelim='

bubs_exact.dateRightDelim='

bubs_exact.dbNameUppercase=True

bubs_exact.dateFormat=yyyy-MM-dd HH:mm:ss

bubs_exact.booleanFormat=Y;N

bubs_exact.optimizeSQL=True

#End Connection 'bubs_exact' properties

Betekenis

De betekenis van de relevante instellingen is:

logfile: via logfile kun je instellen op welke plek het logbestand aangemaakt moet worden. De gebruiker van het besturingssysteem waaronder de webserver uitgevoerd wordt, dient hier schrijfrechten te hebben.

logpriority: via logpriority kun je instellen hoe gedetailleerd de webapplicatie zijn activiteiten moet vastleggen in het logbestand. Mogelijke waardes zijn ̒error̓, ̒warn̓, ̒info̓ en ̒debug̓. ̒Error̓ legt alleen foutmeldingen vast, terwijl de andere instellingen meer informatie vastleggen.

logsize: de maximale omvang van het logbestand. Als deze grootte in Kb wordt overschreden, dan wordt het bestand verwijderd en opnieuw aangemaakt voor schrijven.

serverUrl: de URL die de basis vormt voor normaal gebruik via http van de webapplicatie. Een scherm-URL wordt samengesteld door de waarde van ‘serverUrl’ plus bijvoorbeeld ‘bubs_odt_all.do’ voor het opdrachten scherm.

securedUrl: de Url die de basis vormt voor het aanmelden via https op de webapplicatie.

encoding: de tekenset die gebruikt wordt om de gegevens weer te geven in de browser. ‘Utf-8’ is de meest flexibele tekenset, waarin voor alle voorkomende talen alle tekens gelijktijdig aanwezig zijn.

requestEncoding: de tekenset die gebruikt wordt om de gegevens te verwerken die van de browser ontvangen zijn.

language: de taal die gebruikt wordt indien er geen gebruikers-specifieke taal opgegeven is. Deze taal wordt dus normaliter gebruikt voor bijvoorbeeld het aanmeldscherm.

defaultLocale: de geografische regio-instelling die gebruikt wordt indien er geen gebruikers-specifieke regio opgegeven is. Deze regio-instelling wordt dus normaliter gebruikt voor bijvoorbeeld het aanmeldscherm.

De zogenaamde ‘authenticator’ is de module die valideert of gebruikers daadwerkelijk de persoon zijn die ze pretenderen te zijn. Standaard wordt gebruik gemaakt van de gebruikersnamen en wachtwoorden zoals ze vastgelegd zijn in de applicatie zelf (zie Personen). Er kan ook gekozen worden voor een afwijkend authenticatiemechanisme, bijvoorbeeld door het gebruik van LDAP of Microsoft Active Directory.

De betekenis van de instellingen die beginnen met ‘authenticator.’ is:

authenticator.securityType: moet altijd op ‘CCS’ staan.

authenticator.factoryClassName: de Java component die gebruikt wordt om de authenticatie uit te voeren. Voor de ingebouwde authenticatie op basis van de gebruikersnamen in het scherm Personen moet de waarde ‘com.codecharge.util.CCSAuthenticatorFactory’ ingevuld worden. Voor LDAP moet de waarde ‘com.codecharge.util.LDAPAuthenticatorFactory’ ingevuld worden.

authenticator.userIdVarName: de naam van de sessievariabele die de unieke ID van de gebruiker vasthoudt zoals vastgelegd in ‘authenticator.userIdFieldName’. Altijd ‘UserID’.

authenticator.loginVarName: de naam van de sessievariabele die de gebruikersnaam van de gebruiker vasthoudt zoals vastgelegd in ‘authenticator.loginFieldName’. Altijd ‘UserLogin’.

authenticator.securityStorage: de locatie waar de beveiligingscredentials worden vastgehouden. Altijd ‘session’.

authenticator.inheritanceRights: een verwijzing of rechten overgeërfd moeten worden van lagere autorisatieniveaus of niet. Deze instelling moet altijd de waarde ‘False’ hebben.

authenticator.ldap.external.suffix: alleen voor LDAP. De tak waar de organisatie zijn authenticatiegegevens onder registreert en waar onder gezocht wordt, bijvoorbeeld ‘OU=MyBusiness,DC=invantive,DC=local’.

authenticator.ldap.external.server: alleen voor LDAP. Het adres van de LDAP-server, bijvoorbeeld ‘192.168.172.11’.

authenticator.ldap.external.protocol: alleen voor LDAP. Het gebruikte LDAP-protocol, bijvoorbeeld ‘ldap’ of ‘ldaps’.

authenticator.ldap.external.useruniqueattribute: alleen voor LDAP. Het attribuut dat over de hele organisatie uniek aangeeft welke gebruiker het is. De waarde hiervan moet ook staan in de gebruikersregistratie van Invantive Estate in het veld ‘Aanmeld Code’. Een voorbeeld is ‘userPrincipalName’.

authenticator.ldap.external.port: alleen voor LDAP. Het poortnummer op de LDAP-server, bijvoorbeeld 389 voor LDAP of 636 voor LDAPS.

authenticator.ldap.external.fillinpatternlogin: alleen voor LDAP. Het LDAP-querypatroon waar de gebruikersnaam in wordt ingevuld om een gebruiker aan te melden bij LDAP, als er tenminste geen van de karakters in ‘fullrecognition’ voorkomt in de gebruikersnaam. De tekst ‘:account’ wordt vervangen door de ingegeven gebruikersnaam. Een voorbeeld is ‘cn=:account,OU=SBSUsers,OU=Users,OU=MyBusiness,DN=invantive,DN=local’.

authenticator.ldap.external.fullrecognition: alleen voor LDAP. De waarde in ‘authenticator.ldap.fillinpatternlogin’ wordt gebruikt in combinatie met de waarde die staat in het LDAP-attribuut zoals ingevuld in ‘authenticator.ldap.useruniqueattribute’. Echter, indien de waarde in het LDAP-attribuut zoals ingevuld in ‘authenticator.ldap.useruniqueattribute’ een van de tekens bevat die in deze tekenreeks ingevuld is, wordt uitsluitend de waarde van het LDAP-attribuut verstuurd naar de server en wordt de waarde in ‘authenticator.ldap.fillinpatternlogin’ niet gebruikt. Een voorbeeld is het karakter ‘@’.

authenticator.ldap.external.fillinpatternuniqueattribute: alleen voor LDAP. Het patroon waar de gebruikersnaam in wordt ingevuld om te zoeken naar gegevens van de gebruiker zoals het e-mailadres, als er tenminste geen van de karakters in fullrecognition voorkomt in de gebruikersnaam. De tekst ‘:account’ wordt vervangen door de ingegeven gebruikersnaam. Een voorbeeld is ‘:account@invantive.local

.authenticator.ldap.external.systemaccount: alleen voor LDAP. Het account waar de gebruiker ‘system’ mee geauthenticeerd moet worden. Een voorbeeld is ‘Administrator’. Let op: dit account wordt alleen gebruikt voor de authenticatie binnen de LDAP gateway. Je dient je altijd als gebruiker ‘system’ aan te melden.

authenticator.ldap.local.try: indicator of - als de LDAP-authenticatie niet geslaagd is - zal ook een poging gedaan moeten worden om de gebruiker met het ingevoerde wachtwoord te authenticeren tegen de lokale gebruikersgegevens (identiek aan ‘com.codecharge.util.CCSAuthenticatorFactory’). Dit wordt incidenteel gebruikt om snel complexe testscenario's voor werkstromen te realiseren.

authenticator.ldap.local.validationSql: SQL-statement om de lokale authenticatie te controleren. De query moet een rij teruggeven als gevonden en anders niks. Het wachtwoord wordt ingevuld voor alle voorkomens van :password en de gebruikersnaam voor alle voorkomens van :account.

authenticator.ldap.local.regexFilter: reguliere expressie om te bepalen voor welke gebruikeraanmeldcodes lokale authenticatie is toegestaan, bijvoorbeeld ‘.*’ om dit toe te staan voor alle gebruikers.

authenticator.tableName: alleen voor ingebouwde gebruikersauthenticatie. De naam van de tabel of views die de gebruikersgegevens bevat die gebruikt worden voor authenticatie. Altijd ‘BUBS_GEBRUIKERS_V’.

authenticator.connectionName: alleen voor ingebouwde gebruikersauthenticatie. De naam van de verbinding die gebruikt wordt om de tabel te lezen. Altijd ‘bubs_tomcat’.

authenticator.userIdFieldName: alleen voor ingebouwde gebruikersauthenticatie. De naam van de kolom die de unieke ID van de gebruiker vasthoudt. Altijd ‘GBR_ID’.

authenticator.loginFieldName: alleen voor ingebouwde gebruikersauthenticatie. De naam van de kolom waarin de gebruikersnaam van de gebruiker staat. Altijd ‘GBR_AANMELD_CODE’.

authenticator.passwordFieldName: alleen voor ingebouwde gebruikersauthenticatie. De naam van de kolom waarin het wachtwoord van de gebruiker staat. Altijd ‘GBR_WACHTWOORD’.

Om authenticatieproblemen met LDAP op te lossen verdient het aanbeveling gebruik te maken van LDAP-hulpmiddelen zoals ldapsearch (UNIX/Linux), dsquery (Microsoft Windows Server 2003) of LdapSearch van Novell (http://www.novell.com/coolsolutions/tools/17350.html):

ldapsearch -x \

-h 192.168.172.11 \

-w secret \

-D 'cn=UW NAAM IN WOORDEN,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=invantive,DC=local' \

-b OU=MyBusiness,DC=invantive,DC=local \

userPrincipalName=USER@invantive.local mail

In de reeks van instellingen die beginnen met ‘bubs_tomcat.’ wordt vastgelegd via welke verbinding de gegevens van de applicatie benaderd kunnen worden. De betekenis van de instellingen is:

bubs_tomcat.name: de naam van de verbinding. Altijd ‘bubs_tomcat’.

bubs_tomcat.driver: de naam van de Java class die gebruikt wordt om de verbinding conform JDBC op te bouwen. Altijd ‘oracle.jdbc.driver.OracleDriver’.

bubs_tomcat.dbType: het type van de onderliggende database. Altijd ‘Oracle’.

bubs_tomcat.url: de JDBC URL die gebruikt wordt om de verbinding mee op te bouwen. Deze heeft het formaat ‘jdbc:oracle:thin:@’, gevolgd door de naam of adres van de server, het teken ‘:’, de poort waar de databaselistener op luistert (vaak 1521), weer het teken ‘:’ en tenslotte de naam van de instance. Een voorbeeld is ‘jdbc:oracle:think:@localhost:1521:ORCL’.

bubs_tomcat.maxconn: het maximum aantal gelijktijdige verbindingen met de Oracle-database. Dit is normaliter circa 20% van het maximaal aantal gelijktijdige gebruikers. Een hogere waarde kan echter geen kwaad, anders dat er per verbinding die echt gebruikt wordt circa 10 Mb extra aan intern geheugen nodig is op piekmomenten. Voor ontwikkelomgevingen is het soms handig om het aantal op ‘0’ in te stellen. Dit betekent dat de verbinding meteen na gebruik weer gesloten wordt. Dit kost prestaties, maar maakt het wel eenvoudiger om problemen door het vasthouden van ‘state’ te voorkomen (bijvoorbeeld ORA-04061 meldingen) als een ontwikkelaar code wijzigt terwijl het systeem draait. In de meeste gevallen zal het verwijderen van een Oracle-sessie automatisch gerepareerd worden door de webinterface.

bubs_tomcat.user: de Oracle-gebruiker waarmee de verbinding gelegd wordt. Bijvoorbeeld ‘bubs_tomcat’.

bubs_tomcat.password: het wachtwoord van de Oracle-gebruiker zoals vastgelegd in ‘bubs_tomcat.user’.

bubs_tomcat.timeout: de webapplicatie beschouwt een gebruiker na een bepaalde tijd als niet meer actief en meld hem af. De waarde van ‘bubs_tomcat.timeout’ bepaalt na hoeveel seconden de gebruiker automatisch afgemeld wordt.

bubs_tomcat.fieldLeftDelim: het teken dat gebruik wordt om veldnamen in databaseopvragingen te quoten aan de linkerzijde. Altijd ‘"’.

bubs_tomcat.fieldRightDelim: het teken dat gebruik wordt om veldnamen in databaseopvragingen te quoten aan de rechterzijde. Altijd ‘"’.

bubs_tomcat.dateLeftDelim: het teken dat gebruik wordt om datumconstanten in databaseopvragingen te quoten aan de linkerzijde. Altijd ‘'’.

bubs_tomcat.dateRightDelim: het teken dat gebruik wordt om datumconstanten in databaseopvragingen te quoten aan de rechterzijde. Altijd ‘'’.

bubs_tomcat.dBNameUppercase: altijd ‘True’.

bubs_tomcat.dateFormat: het gehanteerde databaseformaat voor datums, altijd ‘dd-MM-yyyy HH:mm’.

bubs_tomcat.booleanFormat: het gehanteerde databaseformaat voor velden die een booleanvlag bevatten (‘waar’ of ‘onwaar’). Altijd ‘Y;N’.

bubs_tomcat.optimizeSql: altijd ‘True’.

bubs_tomcat.sessionCommand0: het statement dat na het opbouwen van een nieuwe sessie altijd uitgevoerd wordt. Altijd ‘alter session set nls_date_format = ‘DD-MM-YYYY HH24:MI’’.

In de reeks van instellingen die beginnen met ‘bubs_exact.’ wordt vastgelegd via welke verbinding de gegevens voor de ERP-interface opgehaald worden. De betekenis van de instellingen is:

bubs_exact.name: de naam van de verbinding. Altijd ‘bubs_exact’.

bubs_exact.driver: de naam van de Java class die gebruikt wordt om de verbinding conform JDBC op te bouwen. Bijvoorbeeld ‘oracle.jdbc.driver.OracleDriver’ voor een Oracle RDBMS en ‘com.microsoft.jdbc.sqlserver.SQLServerDriver’ voor Microsoft SQL Server.

bubs_exact.dbType: het type van de onderliggende database. Bijvoorbeeld ‘Oracle’ voor een Oracle RDBMS en ‘MSSQLServer’ voor Microsoft SQL Server.

bubs_exact.url: de JDBC URL die gebruikt wordt om de verbinding mee op te bouwen. Voor Oracle RDBMS heeft deze het formaat ‘jdbc:oracle:thin:@’, gevolgd door de naam of adres van de server, het teken ‘:’, de poort waar de databaselistenener op luistert (vaak 1521), weer het teken ‘:’ en tenslotte de naam van de instance. Een voorbeeld is ‘jdbc:oracle:think:@localhost:1521:ORCL’. Voor Microsoft SQL Server heeft deze het formaat ‘jdbc:microsoft:sqlserver://’, gevolgd door de naam of adres van de server, het teken ‘:’ en de poort waar de databaselistener op luistert (vaak 1433). Een voorbeeld is ‘jdbc:microsoft:sqlserver://localhost:1433’.

bubs_exact.maxconn: het maximum aantal gelijktijdig verbindingen met de ERP-database. Dit is normaliter circa 20% van het maximaal aantal gelijktijdige gebruikers. Meer dan 1 heeft normaal geen zin, omdat de ERP-interface maximaal eenmaal gelijktijdig uitgevoerd kan worden.

bubs_exact.user: de gebruiker waarmee de verbinding gelegd wordt. Bijvoorbeeld ‘exact’.

bubs_exact.password: het wachtwoord van de gebruiker zoals vastgelegd in ‘bubs_exact.user’.

bubs_exact.timeout: de webapplicatie beschouwt een gebruiker na een bepaalde tijd als niet meer actief en meld hem af. De waarde van ‘bubs_exact.timeout’ bepaalt na hoeveel seconden de gebruiker automatisch afgemeld wordt.

bubs_exact.fieldLeftDelim: het teken dat gebruik wordt om veldnamen in database opvragingen te quoten aan de linkerzijde. Altijd ‘"’ voor Oracle en ‘[’ voor Microsoft SQL Server.

bubs_exact.fieldRightDelim: het teken dat gebruik wordt om veldnamen in databaseopvragingen te quoten aan de rechterzijde. Altijd ‘"’ voor Oracle en ‘]’ voor Microsoft SQL Server.

bubs_exact.dateLeftDelim: het teken dat gebruik wordt om datumconstanten in databaseopvragingen te quoten aan de linkerzijde. Altijd ‘'’.

bubs_exact.dateRightDelim: het teken dat gebruik wordt om datumconstanten in databaseopvragingen te quoten aan de rechterzijde. Altijd ‘'’.

bubs_exact.dBNameUppercase: altijd ‘True’.

bubs_exact.dateFormat: het gehanteerde databaseformaat voor datums, altijd ‘dd-MM-yyyy HH:mm’ voor Oracle en ‘yyyy-MM-dd HH:mm:ss’ voor Microsoft SQL Server.

bubs_exact.booleanFormat: het gehanteerde databaseformaat voor velden die een booleanvlag bevatten (‘waar’ of ‘onwaar’). Altijd ‘Y;N’.

bubs_exact.optimizeSql: altijd ‘True’.