On 14/06/2015 2:16 AM, Jacques Le Roux wrote:
Le 13/06/2015 14:12, Ron Wheeler a écrit :
a) I am not sure why applications/datamodel/entitidef/ could not be entitydef / since it is shorter and unambiguous and spells entity correctly.

Applications was suggested because there are underneath mechanisms to handle the specialised folders framework, applications, specialpurpose and hot-deploy (which is a confusing name, eg extensions would have been better) Datamodel is a real unambiguous name, while entitydef is less (HTML entities? etc.: https://en.wikipedia.org/wiki/Entity), this is a moot point.
I meant locally unambiguous within the OFBiz source structure.

b) I thought that hot-deploy was for local customizations. "entitydef/..." are user contributed libraries that are part of the standard OFBiz project to support industry-specific or locale-specific requirements.

Jacopo's suggestion is straightforward. It's the 1st move we are currently discussing to agree on. Your propositon is interesting but to avoid confusion should be discussed later, in another thread.
I am trying to avoid a short term solution that makes a long-term solution more difficult for no real reason. I am not sure how many specialized entity definitions are stting on shelves today that could be shared (either for free or as commercial offerings).

c) I am suggesting a structure that makes it easy for someone customizing their implementation. Take all the xml files under entitydef ( or entitydef/default or entity/basic) and overwrite them with the set of XML files suitable for the particular locale that you want such as entitydef/eCommerce/NAFTA to get the definitions that match an eCommerce site in North America US and Canada terminology and the extensions or modifications required to support an eCommerce-only OFBiz aimed at a North American clientele. If the system integrator does further customization and wants to put their branding or customer-specific overrides in hot-deploy at run-time to keep them separate from the XML files that come from OFBiz, that sounds like a good practice but is different from the

How to realise you idea needs to be discussed (again separately). A new mechanism might need to be created. In OFBiz a last read entity definition overrides the previous . How to separate/aggregate is not obvious to me in your proposition. Did you think about optional entity extensions (defined using the extend-entity mechanism) which would not be activated OOTB but could be loaded by users when needed (Oops, you see I'm already discussing your proposition)?
I was suggesting a scheme where the file names are identical but the files come from different paths so the run-time situation would have no duplication of file names but the files might come from different sources (accounting-entitymodel.xml from "entitydef/general/accounting-entitymodel.xml" being overwritten by "entitydef/general/UK/accounting-entitymodel.xml" in the case where the installation required the UK version of "accounting-entitymodel.xml" This implies that all of the definitions in entitydef/general/UK/accounting-entitymodel.xml are also in entitydef/general/accounting-entitymodel.xml.

Ron

Jacques

shared library structure we are discussing.

Does that clarify my points?

Ron



On 12/06/2015 9:51 AM, Nicolas Malin wrote:
Ron I didn't understand why you want adding specialization directory directly on main component (like entitydef/general/UK/).

For me this information need to be set on the dedicate component in hot-deploy.

Nicolas

Le 12/06/2015 13:17, Ron Wheeler a écrit :
It would be nice to get the philosophy of the structure agreed at the beginning even if there is only one variant of accounting-entitymodel.xml . It might prevent conflicts over the content of some of the files and encourage more contributors who are confident about how their definitions work but are unwilling to change someone else's working set of entities, to contribute their variants.

For example, I could supply my idea of what the Canadian accounting-entitymodel.xml should contain without breaking something that others are using.

An alternative scheme that might be easier to use would be to structure the files as
entitydef/accounting-entitymodel.xml
entitydef/ecommerce-entitymodel.xml
entitydef/general/UK/accounting-entitymodel.xml
entitydef/general/UK/ecommerce-entitymodel.xml

I am not sure that adding applications/datamodel to the front adds any value
entitydef is pretty unambiguous.

Putting the variants first would mean that all of the default entity definitions are in one folder and general/UK would all be in another. To get a complete set, copy everything from entitydef and then copy everything from entitydef/general/UK to get the overrides required t create the UK variant.

Ron

On 12/06/2015 2:39 AM, Jacques Le Roux wrote:
Le 11/06/2015 21:10, Ron Wheeler a écrit :
I would suggest adding other levels to the structure so that specializations are easy to add without creating conflicts or constant flux as people alter the accounting-entitymodel.xml to suit their needs and submit it as the "right" version".

applications/datamodel/entitidef/accounting-entitymodel.xml
might be better structured as
applications/datamodel/entitidef/demo/accounting-entitymodel.xml
applications/datamodel/entitidef/general/accounting-entitymodel.xml
applications/datamodel/entitidef/manufacturing/accounting-entitymodel.xml applications/datamodel/entitidef/professionalServices/accounting-entitymodel.xml applications/datamodel/entitidef/eCommerce/accounting-entitymodel.xml

It may be that the first specialization will be by country or region to get the vocabulary or regulatory compliance particularities separated

applications/datamodel/entitidef/general/UK/accounting-entitymodel.xml applications/datamodel/entitidef/general/NAFTA/accounting-entitymodel.xml applications/datamodel/entitidef/general/NAFTA_MX/accounting-entitymodel.xml applications/datamodel/entitidef/general/EU/accounting-entitymodel.xml

applications/datamodel/entitidef/demo/accounting-entitymodel.xml
applications/datamodel/entitidef/demo/EU/accounting-entitymodel.xml
applications/datamodel/entitidef/demo/NAFTA/accounting-entitymodel.xml applications/datamodel/entitidef/manufacturing/EU/accounting-entitymodel.xml applications/datamodel/entitidef/professionalServices/EU?accounting-entitymodel.xml applications/datamodel/entitidef/eCommerce/EU/accounting-entitymodel.xml

Clearly we would start out with only the demo set but I think that we could quickly get some of the other alternatives in place as people contribute versions that they want to be part of the basic set.

Would it make sense to break accounting-entitymodel.xml into separate files for mandatory and optional entities to make it clear the entities that can be modified or dropped without affecting OOB functionality?

I'm not against the idea, though it needs to be discussed more
Anyway it can be done later as we will go with baby steps as Jacopo suggested

Jacques


Ron


On 11/06/2015 10:18 AM, Jacopo Cappellato wrote:
On Jun 11, 2015, at 3:51 PM, Taher Alkhateeb <slidingfilame...@gmail.com> wrote:

I would like to help and I think we need to think carefully of the layout / structure though i.e. how to breakup the entities in files and/or directories.
I would suggest that, at least in the first step, we do it in a simple way like the following:

1) create the new component, named for example "datamodel" (please suggest a better name) 2) move all the entity xml files from the applications to the "datamodel" component keeping the files separated as they are, but adding a prefix; for example

applications/accounting/entitidef/entitymodel.xml

will be moved to:

applications/datamodel/entitidef/accounting-entitymodel.xml

The end result will be a "datamodel" component with an entitidef/ folder containing several files, approximately one per application component

3) similar approach for eeca files

4) add the relevant entries in

applications/datamodel/ofbiz-component.xml

Regards,

Jacopo















--
Ron Wheeler
President
Artifact Software Inc
email: rwhee...@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

Reply via email to