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!>>>>>>>
>



-- 
Coherent Software Australia Pty Ltd
PO Box 2773
Cheltenham Vic 3192
Australia

Phone: +61 3 9585 6788
Web: http://www.coherentsoftware.com.au/
Email: i...@coherentsoftware.com.au

Reply via email to