Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Guide

...

to

...

building

...

Kuali

...

OLE

...

  1. Make

...

  1. sure

...

  1. ~/ole-build.properties

...

  1. and

...

  1. ~/impex-build.properties

...

  1. ,

...

  1. have

...

  1. been

...

  1. deleted

...

  1. from

...

  1. $

...

  1. {user.home}

...

  1. Full

...

  1. build

...

  1. Info

...

  1. Run

...

  1. this

...

  1. from

...

  1. the

...

  1. root

...

  1. folder

...

  1. anytime

...

  1. anything

...

  1. (including

...

  1. the

...

  1. pom's)

...

  1. in

...

  1. ole-common

...

  1. changes.

...

  1. For

...

  1. example,

...

  1. each

...

  1. iteration.

...

  1. No Format
    mvn clean install -DskipTests=true

...

  1. Info

    CD into ole-app/ole-fs

...

  1. folder

...

  1. and

...

  1. run

...

  1. the

...

  1. subsequent

...

  1. commands

...

  1. from

...

  1. within.

...

  1. Generate the local configuration file configured with default values
    No Format
    mvn generate-resources -Plocal

...

    1. The above command generates the file
      No Format
      ~/.kuali/ole/ole-fs.properties

...

    1. By default,

...

    1. the

...

    1. database

...

    1. vendor

...

    1. is

...

    1. MySQL

...

    1. with

...

    1. the

...

    1. root

...

    1. password

...

    1. set

...

    1. to

...

    1. NONE

...

    1. .

...

    1. You

...

    1. will

...

    1. need

...

    1. to

...

    1. update

...

    1. this

...

    1. file

...

    1. with

...

    1. the

...

    1. password

...

    1. for

...

    1. the

...

    1. MySQL

...

    1. root

...

    1. user

...

    1. on

...

    1. your

...

    1. system

...

  1. Reset

...

  1. an

...

  1. OLE

...

  1. FS

...

  1. database

Property Loading

Info
titleProperty Loading Order

Order of property loading
1. the properties generated by the ant script (the old way and its still gets run as part of the ant script) - again not to be touched.
2. olefs-default.properties

-

Within

the

codebase

and

should

not

be

touched

as

it

is

checked

into

SVN.


3.

configuration.properties

(~/.kuali/ole/fs/configuration.properties)

-

present

on

the

local

machine

and

generated

during

the

{{

generate-resources

}}

phase

when

the

{{

local

}}

profile

is

active.

Can

be

modified.


4.

If

an

external

configuration

file

is

present.

-

local

to

the

developer

and

doesn't

get

checked

in

to

SVN.

So

can

point

to

anywhere

in

the

local

system

where

you

hava

a

valid

configuration.properties

file.

{info} # Runtime property resolution is now possible for OLE FS\! # This means the exact same war file can be used for development as well as deployment without altering the binary # Automatically loaded external configuration files are used to reconfigure the binary with machine specific configuration # The default external directory used by OLE FS is now based on the system property {{user.home}} # To change this you only have to override one property - {{ole.fs.home}} ## Properties pointing to other directories needed by OLE FS are expanded into their absolute path at runtime ## This way only a single property needs to be overridden (instead of all of them) # The following external property locations are automatically checked and loaded, in this order, if they exist ## {noformat}

  1. Runtime property resolution is now possible for OLE FS!
  2. This means the exact same war file can be used for development as well as deployment without altering the binary
  3. Automatically loaded external configuration files are used to reconfigure the binary with machine specific configuration
  4. The default external directory used by OLE FS is now based on the system property user.home
  5. To change this you only have to override one property - ole.fs.home
    1. Properties pointing to other directories needed by OLE FS are expanded into their absolute path at runtime
    2. This way only a single property needs to be overridden (instead of all of them)
  6. The following external property locations are automatically checked and loaded, in this order, if they exist
    1. No Format
      ~/.kuali/ole/fs/configuration.properties

...

    1. If the system property olefs.configuration

...

    1. is

...

    1. set,

...

    1. the

...

    1. properties

...

    1. file

...

    1. it

...

    1. points

...

    1. to

...

    1. is

...

    1. automatically

...

    1. loaded

...

  1. If

...

  1. the

...

  1. property

...

  1. ole.fs.runtime.property.expansion=true

...

  1. the

...

  1. following

...

  1. actions

...

  1. are

...

  1. also

...

  1. taken

...

    1. After

...

    1. loading

...

    1. classpath:configuration.properties

...

    1. load

...

    1. classpath:olefs-default.properties

...

    1. Expand

...

    1. any

...

    1. properties

...

    1. containing

...

    1. placeholders

...

    1. into

...

    1. their

...

    1. fully

...

    1. resolved

...

    1. equivalents

...

Logging

  1. A default logging configuration is now bundled into OLE FS
  2. This means logging will work out of the box without requiring you to point OLE FS at an external log4j.properties file
  3. You can still override the default log4j configuration if desired
    1. set the property
      No Format
      ole.fs.log4j.override=true

...

      1. This can be set as a system property
      2. Or as a property in one of the configuration files that gets automatically loaded
    1. create a log4j.properties containing your custom settings at
      No Format
      ~/.kuali/ole/fs/log4j.properties

...

    1. OLE FS will use settings from the custom log4j.properties
    2. The custom properties file is also monitored by a background thread and reloaded if changes are made
  1. Going forward, any new logging statements added to OLE FS should use the SLF4J logging api
  2. If existing code is modified, log4j logging calls should be replaced by SLF4J logging calls

Properties 

Info

System properties are set by specifying the -D parameter in the VM arguments.

Ex. -Dolefs.configuration=~/.kuali/ole/fs/custom-configuration.properties

-

This

will

tell

the

app

to

pick

the

properties

from

the

above

specified

location{info} || Property || Default Value || Description || | olefs.configuration | None | If this system property is set, properties are loaded from the location it points to. Properties supplied here, override internal properties | |

location

Property

Default Value

Description

olefs.configuration

None

If this system property is set, properties are loaded from the location it points to. Properties supplied here, override internal properties

ole.fs.runtime.property.expansion=true/false

...

false

If true,

...

property

...

expansion

...

is

...

performed

...

at

...

runtime

...

instead

...

of

...

at

...

build

...

time.

...

The

...

resource

...

classpath:olefs-default.properties

...

is

...

loaded

...

if

...

this

...

property

...

is

...

set

...

to

...

true

...

ole.fs.log4j.override=true/false

...

false

Set this to true if you want to override the default log4j.properties supplied with the application. This also allows you to alter the log4j configuration at runtime without restarting the application. The log4j.properties file supplied here is monitored by a background thread. It is automatically reloaded when changes are detected.