Hi Jacques,

I don't recall a conversation on the mailing list about breaking up
entityengine.xml, however Eugen did suggest creating some templates in the
context of the PR related to this thread (
https://github.com/apache/ofbiz-framework/pull/246) which I then
implemented for Postgres and Derby (in the PR).

On Thu, 14 Jan 2021 at 15:21, Jacques Le Roux <jacques.le.r...@les7arts.com>
wrote:

> Hi Daniel, James,
>
> Did we not recently discuss about splitting entityengine.xml and could not
> get a consensus? (I searched but did not find it)
>
> Thanks
>
> Jacques
>
> Le 14/01/2021 à 15:21, Daniel Watford a écrit :
> > Hi Eugen,
> >
> > I like the approach of a config directory which can be used to override
> > configuration files already compiled into a distribution
> (distTar/distZip).
> > It's probably worth opening a separate ticket for that since it would be
> > analogous to how the /lib directory is currently used for gradle builds.
> >
> > But my main question was intended to deal with how ofbiz administrators
> > identify and retrieve the database driver libraries for their
> deployments.
> >
> > In your case did you find a list of recommended versions for use with
> Ofbiz
> > or did you have a driver that you often use with your DBMS? Did it take
> > much time to choose the driver?
> >
> > Even if it was easy for you to figure out the driver version, do you
> think
> > other less experienced ofbiz administrators would struggle? Having the
> > ofbiz project declare, in code, what library versions are known to work
> > with various DBMS would reduce the effort required for all
> administrators.
> >
> > I agree that we probably don't want to change the content of
> configurations
> > at build time, but it might be appropriate to break entityengine.xml into
> > smaller DBMS specific files and then only include one of those files in a
> > binary distribution specific to a particular DBMS, hopefully making it a
> > bit easier for ofbiz administrators to get started.
> >
> > My overall aim is to reduce the amount of additional library downloads
> and
> > configuration an ofbiz administrator needs to perform in order to get
> > started. Every step should help get closer to externalising
> configuration,
> > as I believe you are already working towards, which should make deploying
> > and upgrading ofbiz running in containers a bit easier.
> >
> > Thanks,
> >
> > Dan.
> >
> > On Tue, 12 Jan 2021 at 12:21, Eugen Stan <eugen.s...@netdava.com> wrote:
> >
> >> Hello Daniel,
> >>
> >> I'll re-post with updates my github comment here since I imagine not
> >> everyone will read the PR comments.
> >>
> >>
> >> I think trying to meddle with those configs at build time is brittle and
> >> would complicate the build.
> >>
> >> It would help to have the ability to add jars and configuration files to
> >> the classpath - since that is where ofbiz looks for.
> >>
> >> So the idea is to make it easy for people to add things at the BEGINING
> >> of the classpath so they can override ofbiz configurations (and / or
> >> libraries ?!)
> >>
> >> I believe this can achieved for both gradle deploy and binary
> >> (ofbiz.tar) deploy with minimal changes.
> >>
> >> If you could add the code snippet bellow to build.gradle then people can
> >> add files to config/ and lib-extra/ directories and they will be
> >> available for ofbiz when it starts.
> >>
> >> I've tested this and it works for my ofbiz docker build (I'm planning an
> >> article these next 2 days and will share it. Spoiler: it works on ARM -
> >> raspberry pi 4 ;) ).
> >>
> >> I'm also adding the database drivers post build to lib-extra .
> >>
> >> That way I can keep the ofbiz source unchanged and still get what I
> need.
> >>
> >> (I don't have windows to test the classpath ).
> >>
> >> tasks.startScripts {
> >>       doLast {
> >>           // Alter the start script for Unix systems.
> >>           unixScript.text =
> >>                   unixScript.text.replace('CLASSPATH=$APP_HOME/lib',
> >>
> >> 'CLASSPATH=$APP_HOME/config/:$APP_HOME/lib-extra/*:$APP_HOME/lib')
> >>
> >>           // Alter the start script for Windows systems.
> >> //        windowsScript.text =
> >> //                windowsScript.text.replace('CLASSPATH=$APP_HOME/lib',
> >> //
> >> 'CLASSPATH=$APP_HOME\\conf\\:$APP_HOME/lib-extra/*:$APP_HOME/lib')
> >>       }
> >> }
> >>
> >>
> >> For adding things to the classpath when running gradle there is
> >> something in place:
> >>
> >> // Libraries downloaded manually
> >>       implementation fileTree(dir: file("${rootDir}/lib"), include:
> >> '**/*.jar')
> >>
> >>
> >>
> >> --
> >> Eugen Stan
> >> +40720 898 747 / netdava.com
> >>
> >
>


-- 
Daniel Watford

Reply via email to