There is also this wiki page for Component and Component Set *Dependencies* <https://cwiki.apache.org/confluence/display/OFBIZ/Component+and+Component+Set+Dependencies?src=search>

I'm not sure it's totally up to date but I guess can help

Jacques

Le 28/01/2018 à 03:24, Paul Foxworthy a écrit :
Hi stimits,

Can you contribute the results of your research?

There are data model diagrams at
https://cwiki.apache.org/confluence/display/OFBIZ/Data+Model+Diagrams, but
AFAIK they don't give chains of foreign key dependencies.

Some entities have self-related parent-child relationships, so you need to
load parents before children within the data for one entity.

Cheers

Paul Foxworthy


On 24 January 2018 at 11:37, <stim...@comcast.net> wrote:

Hi,

Thanks, I think this is what I need. I wrote an application which diagrams
PostgreSQL databases and creates SVG maps of table pk and fk
dependencies...it graphically shows what needs to be modified in which
order versus primary/foreign key dependencies. I'm thinking of ways to
extend it to basically click on a table or key icon and have it locate not
only the key dependencies of the database, but also the XML file providing
that data. Not sure yet I can do it, but this is promising. I'll try to use
the hot-deploy with various versions of the component-loader XML files to
test.

----- Original Message -----From: Mike <mz4whee...@gmail.com>To: user <
user@ofbiz.apache.org>Sent: Wed, 17 Jan 2018 07:39:02 -0000 (UTC)Subject:
Re: loadDefault Source Code

Here is the sequence as I understand it.

Ofbiz first loads: ./framework/base/config/component-load.xml, which has:

<load-components parent-directory="framework"/> <load-components
parent-directory="themes"/> <load-components parent-directory="applications"/>
<load-components parent-directory="specialpurpose"/> <load-components
parent-directory="hot-deploy"/>

That is the INITIAL sequence. It takes the first one (framework), andlooks
for component-load.xml... i.e:

./framework/component-load.xml

Reads it, gets the "order" for all framework items... Example:

<load-component component-location="base"/> <load-component
component-location="entity"/> <load-component component-location="security"/>
<load-component component-location="datafile"/> <load-component
component-location="minilang"/> <load-component
component-location="common"/> <load-component
component-location="service"/> <load-component
component-location="catalina"/> <load-component
component-location="entityext"/> <load-component
component-location="webapp"/> <load-component component-location="widget"/>
<load-component component-location="testtools"/> <load-component
component-location="webtools"/> <load-component
component-location="images"/>

THAT is the order, in framework, that data is loaded.

Then, for EACH of the above items in framework (i.e. "base), in
sequence,reads "ofbiz-component.xml"... Example:

framework/common/ofbiz-component.xml

Then, if ofbiz-component.xml has "reader-name(s)" entries, as below:

<entity-resource type="model" reader-name="main" 
loader="main"location="entitydef/entitymodel.xml"/>
<entity-resource type="data" reader-name="seed" loader="main"location="data/
CommonSecurityPermissionSeedData.xml"/>

Ofbiz will load the data, as specified by the reader-name, as specified
onyour ant/gradlew command line. By default, the reader-name(s) are
"demo","main", "seed", and "seed-initial".

You can (and should) create your OWN "reader-name(s)" for your
ownparticular purpose, but that should ONLY be done in "hot-deploy", which
isthe absolute LAST item in:

./framework/base/config/component-load.xml

Don't try to mess with ANY of these default ordered items. There
aredependencies to be followed, and errors will surely follow.

What you probably want to do (like everyone else does), is load:

./ant load-readers "-Ddata-readers=seed,seed-initial" (or the
equivalentgradlew command)

Which creates a boot-strapped ofbiz... Operational, but empty...
Waitingfor customization.

Create a sub-directory in "hot-deploy", place your custom data there,
andload in YOUR sequence, as defined in:

hot-deploy/mydata/ofbiz-component.xml

That is how everyone loads custom data after seed,seed-initial.



On Tue, Jan 16, 2018 at 12:17 PM, Taher Alkhateeb <
slidingfilame...@gmail.com> wrote:

Okay so the order of loading data is by component and reader type.>
Component loading order is determined in the related XML files and reader>
loading is defined as per the entityengine configuration loading order>
which goes from seed all the way to ext-demo as I remember it. Now if you>
want to go beyond that (it would be strange if you want to know the exact>
file-by-file sequence) then you'll need to investigate.>> You know it would
be easier instead of me answering you piece by piece to> actually explain
your problem because there might be solutions. If not,> then please go
ahead and read the code at the EntityDataLoadContainer.java> and best of
luck.>> On Jan 16, 2018 10:20 PM, <stim...@comcast.net> wrote:>> The
trouble with that is I'm interested in dumping the logic of how the> load
order is determined specifically with the loadDefault. If there were a>
command such as "./gradlew --explain loadDefault", where it verbosely
named> which file is chosen, what kind of sorting is used, and what it was
doing> with each, then this would work. This is why I wanted to see the
code> actually step through loadDefault...I want to know how it actually
makes> the choices, and perhaps write something to help with
generation/load of my> own test cases (I'm hoping to actually learn
something).>> ----- Original Message -----From: Taher Alkhateeb <>
slidingfilame...@gmail.com>To: user@ofbiz.apache.orgSent: Tue, 16 Jan
2018> 18:50:59 -0000 (UTC)Subject: Re: loadDefault Source Code>> Okay so in
this case my recommendation is to skip looking at the sourcecode> and
instead learn the syntax for loading data. ./gradlew "ofbiz--help" and>
README.md are good sources for that. There you will find plentyof options>
for loading data including specifying readers, components,files,>
directories etc ...>> On Jan 16, 2018 9:15 PM, <stim...@comcast.net>
wrote:>> > I am interested in how the list of files is chosen, along with
the rules>> for order of choosing. I am thinking of custom loading for my
own testing,>> but mostly I just feel I need to better understand what the
"All" of>> "loadAll" is.>> ----- Original Message -----From: Jacques Le
Roux <>> jacques.le.r...@les7arts.com>To: user@ofbiz.apache.orgSent: Tue,
16 Jan>> 2018 07:11:45 -0000 (UTC)Subject: Re: loadDefault Source Code>> I
agree,> maybe you can try starting from ContainerLoader.java>> Jacques>>
Le> 16/01/2018 &agrave; 07:48, Taher Alkhateeb a &eacute;crit :>>
loadDefault> translates to loading all data sets (seed,seed-initial,>>
demo,ext, etc> ...)>> The code for that is big and scattered in many>
different places> because a> lot of things happen during data load (SAX>
parser, DOM> modeling, DB> translations, and a lot more). So it depends on>
what you are> looking for> and perhaps more importantly, why>> On Jan 16,>
2018 4:05 AM,> <> stim...@comcast.net> wrote:>>> Hi,>>>> I guess what I>
should do is> rephrase...if I wanted to run this under a>> debugger and
get> a stack> frame (which I'm not actually set up to do), where>> would I
find> the> source code which specifically understands which XML files>> to
read> and> load for loadDefault? The build.gradle is more of a
declaration>> and> not> so much the actual source code, and I'm more of a
C++ guy (I do ok>>> with> Java, but I don't know the web toolkits and
APIs).>>>> ----- Original>> Message -----From: gil portenseigne <>>
gil.portensei...@nereide.fr>To:>> user@ofbiz.apache.orgSent: Mon, 15
Jan>> 2018 08:10:30 -0000>> (UTC)Subject:> Re: loadDefault Source Code>>>>
Hello,>>>> You will find> loadDefault task> implementation within the file
build.gradle>> at OFBiz> root directory.> (see line 320)>>>> Regards,>>>>
Gil>>>> On 14/01/2018> 22:18,> stim...@comcast.net wrote:> This is
probably a naive>> question,> but on> 16.11.04 I am searching for the
actual code which runs for>> the>> "loadDefault" part of:> ./gradlew
loadDefault> > I'm looking for what I>>>> might edit to create my own
version of loadDefault after observing what>> the>> existing loadDefault
actually executes. I see some shell scripts>> passing>> this on, and
suspect this is part of one of the jar files, but>> was unable>> to find
the actual code.> > Thanks!>>>>>>>




Reply via email to