Hi Paul,

I don't have an opinion on plugins so far as I didn't think enough
about it. I just thought since we centralized the entities in
"data-model" we might as well centralize the data itself. Hopefully
we'll discuss architectural proposals for plugins at some point but
I'm trying to focus on cleaning stuff from the inside out.

With that being said, I always welcome ideas to enrich this
discussion, and I hope more people find this thread interesting to
pitch in.

On Mon, Jul 17, 2017 at 9:00 AM, Paul Foxworthy <p...@cohsoft.com.au> wrote:
> Hi Taher,
>
> Makes sense to me.
>
> Would any plugin defining custom entities also have a similar /data tree?
>
> Cheers
>
> Paul
>
>
> On 14 July 2017 at 19:59, Taher Alkhateeb <slidingfilame...@gmail.com>
> wrote:
>
>>  Hello Everyone,
>>
>> Data loading in OFBiz is quite fragile. A small change could crash the
>> system and finding out the reason can be difficult. I really felt the
>> pain of this when trying to disentangle the framework from data
>> dependencies on plugins [1].
>>
>> I've been thinking about a solution to reduce fragility, and here are
>> my thoughts:
>> - The less data files the better.
>> - The less data the better.
>> - The less distance (e.g. same directory) between data files the better.
>> - No circular dependencies (file dependencies should be like a tree).
>> - Fail fast [2].
>>
>> Therefore, I suggest the following action points:
>> - Create a directory structure similar to [3] in the datamodel component.
>> - For any data that two or more files depend on, immediately move it
>> to the common-<reader>.xml file.
>> - For any data that does not belong to any domain (e.g. marketing,
>> content, etc ..) move it to the common-<reader>.xml.
>> - Maintain a strict dependency hierarchy of demo -> seed -> seed-initial.
>> - Gradually and carefully move data from all applications to the
>> datamodel component as per above guidelines.
>> - Cleanup and refactor the data as we move it including any tests that
>> depend on it.
>>
>> What do you think of this proposal? Does it sound reasonable? Also
>> given the size of what I'm proposing I think we need multiple people
>> to work on this. So is anyone interested in taking part in this
>> initiative?
>>
>> Cheers,
>>
>> Taher Alkhateeb
>>
>> [1] https://issues.apache.org/jira/browse/OFBIZ-9322
>> [2] https://lists.apache.org/thread.html/a18b5d4086a07ff34a0cb950999e8f
>> 8e869a6aa7efa2fc866a75a7b6@%3Cdev.ofbiz.apache.org%3E
>> [3] directory structure:
>> data/
>> ├── demo
>> │   ├── accounting-demo.xml
>> │   ├── common-demo.xml
>> │   ├── content-demo.xml
>> │   ├── humanres-demo.xml
>> │   ├── manufacturing-demo.xml
>> │   ├── marketing-demo.xml
>> │   ├── order-demo.xml
>> │   ├── party-demo.xml
>> │   ├── product-demo.xml
>> │   ├── shipment-demo.xml
>> │   └── workeffort-demo.xml
>> ├── seed
>> │   ├── accounting-seed.xml
>> │   ├── common-seed.xml
>> │   ├── content-seed.xml
>> │   ├── humanres-seed.xml
>> │   ├── manufacturing-seed.xml
>> │   ├── marketing-seed.xml
>> │   ├── order-seed.xml
>> │   ├── party-seed.xml
>> │   ├── product-seed.xml
>> │   ├── shipment-seed.xml
>> │   └── workeffort-seed.xml
>> └── seed-initial
>>     ├── accounting-seed-initial.xml
>>     ├── common-seed-initial.xml
>>     ├── content-seed-initial.xml
>>     ├── humanres-seed-initial.xml
>>     ├── manufacturing-seed-initial.xml
>>     ├── marketing-seed-initial.xml
>>     ├── order-seed-initial.xml
>>     ├── party-seed-initial.xml
>>     ├── product-seed-initial.xml
>>     ├── shipment-seed-initial.xml
>>     └── workeffort-seed-initial.xml
>>
>
>
>
> --
> 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