Thanks, Jacques :) That elucidates it quite well now.
Thanks & Regards, Aditya Sharma Enterprise Software Engineer HotWax Systems Pvt. Ltd. http://www.hotwaxsystems.com/ <https://www.linkedin.com/in/aditya-sharma-78291810a/> On Mon, May 8, 2017 at 6:15 PM, Jacques Le Roux < [email protected]> wrote: > Hi Aditya, > > Done, please check > > Jacques > > > Le 08/05/2017 à 11:49, Aditya Sharma a écrit : > >> I have created the ticket for it OFBIZ-9351 >> <https://issues.apache.org/jira/browse/OFBIZ-9351>. >> >> Jacques, Can you please elaborate some more on it. >> >> When replacing id-ne alike fields by id alike we should add the >> "not-null" >> >>> attribute. >>> >> >> For those fields where it requires not-empty fields values, we will be >> implementing a new not-null attribute. >> >> Thanks & Regards, >> Aditya Sharma >> Enterprise Software Engineer >> HotWax Systems Pvt. Ltd. >> http://www.hotwaxsystems.com/ >> >> <https://www.linkedin.com/in/aditya-sharma-78291810a/> >> >> >> On Mon, May 8, 2017 at 1:55 PM, Jacques Le Roux < >> [email protected]> wrote: >> >> Please Aditya create a Jira for that. >>> >>> Something I forgot to clearly mention. When replacing id-ne alike fields >>> by id alike we should add the "not-null" attribute. >>> >>> Jacques >>> >>> >>> Le 08/05/2017 à 08:32, Aditya Sharma a écrit : >>> >>> Thanks Scott for the link :) >>>> >>>> It completely makes sense to me now with what David said there. >>>> >>>> They are intentionally not used in other parts of the project as >>>> validation >>>> >>>> is >>>>> best in the logic layer, and not in the data layer >>>>> >>>>> If those field types serve no purpose then it is better to remove them >>>>> >>>> to avoid any future confusions. >>>> >>>> Can I start working towards it then? >>>> >>>> >>>> Thanks & Regards, >>>> Aditya Sharma >>>> Enterprise Software Engineer >>>> HotWax Systems Pvt. Ltd. >>>> http://www.hotwaxsystems.com/ >>>> >>>> <https://www.linkedin.com/in/aditya-sharma-78291810a/> >>>> >>>> >>>> On Sat, May 6, 2017 at 7:45 PM, Jacques Le Roux < >>>> [email protected]> wrote: >>>> >>>> Thanks Guys for the links, >>>> >>>>> I also agree we can now remove the useless id-ne, id-long-ne and >>>>> id-vlong-ne field-types (ie replace by corresponding id field-types) >>>>> We also need to clean the related embedded documentation. Like for >>>>> instance for "not-null" in fieldtypemodel.xsd >>>>> For the rest let it be, I don't think there is much more documentation >>>>> about that anyway. >>>>> >>>>> Jacques >>>>> >>>>> >>>>> >>>>> Le 04/05/2017 à 06:20, Scott Gray a écrit : >>>>> >>>>> Chances are the field type was left for backwards compatibility. I'm >>>>> ok >>>>> >>>>>> with it being removed though. >>>>>> >>>>>> Regards >>>>>> Scott >>>>>> >>>>>> On 4 May 2017 at 15:32, Taher Alkhateeb <[email protected]> >>>>>> wrote: >>>>>> >>>>>> Hmmm I was actually rethinking about this, and this reminds me >>>>>> somewhat >>>>>> of >>>>>> >>>>>> the "Bounded context" concept from DDD. Some services might want to >>>>>>> validate while others don't on certain fields depending on context, >>>>>>> and >>>>>>> hence delegating that validation to services makes sense (no domain >>>>>>> exists >>>>>>> in OFBiz). >>>>>>> >>>>>>> The problem of the existence of id-ne lingers though. It's putting >>>>>>> unneceasary cognitive strain on users to figure out what is it and >>>>>>> what >>>>>>> to >>>>>>> do with it. Also, this means no validation can happen for entity-auto >>>>>>> CRUD >>>>>>> services. >>>>>>> >>>>>>> So, I'm a bit on the fence, leaning slightly towards removing id-ne, >>>>>>> but >>>>>>> I >>>>>>> think we must choose one of: >>>>>>> 1- removing id-ne >>>>>>> 2- reintroducing validation >>>>>>> >>>>>>> On May 4, 2017 3:10 AM, "Scott Gray" <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> Took a while to dig it out but here it is: >>>>>>> >>>>>>> http://ofbiz.markmail.org/thread/c6ee3ewyo6jpik7k >>>>>>>> >>>>>>>> It's not as in-depth as I'd hoped, but it was purposefully removed >>>>>>>> all >>>>>>>> >>>>>>>> the >>>>>>>> >>>>>>> same. >>>>>>> >>>>>>>> Regards >>>>>>>> Scott >>>>>>>> >>>>>>>> On 3 May 2017 at 17:42, Aditya Sharma <[email protected] >>>>>>>> om> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hi Scott, >>>>>>>> >>>>>>>> As there is very less information available with the commit I found >>>>>>>>> it >>>>>>>>> quite difficult to find that discussion. Maybe I just missed out >>>>>>>>> >>>>>>>>> something. >>>>>>>>> >>>>>>>> Could you please just help me trace that out to understand it well? >>>>>>>> >>>>>>>>> Thanks & Regards, >>>>>>>>> Aditya Sharma >>>>>>>>> Enterprise Software Engineer >>>>>>>>> HotWax Systems Pvt. Ltd. >>>>>>>>> http://www.hotwaxsystems.com/ >>>>>>>>> >>>>>>>>> <https://www.linkedin.com/in/aditya-sharma-78291810a/> >>>>>>>>> >>>>>>>>> On Wed, May 3, 2017 at 11:03 AM, Aditya Sharma < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>> Hi Taher, >>>>>>>>> >>>>>>>>> Totally agreed to that it should be at entity engine level and >>>>>>>>>> >>>>>>>>>> default >>>>>>>>>> >>>>>>>>> to >>>>>>>> >>>>>>>> false as that way it will not affect the current implementations and >>>>>>>> >>>>>>>>> will >>>>>>>>> give more scope for its enhancements to cater specific needs. >>>>>>>>> >>>>>>>>> My recommendation is to reintroduce the validation attribute. >>>>>>>>>> However! >>>>>>>>>> >>>>>>>>>> the >>>>>>>>> >>>>>>>>> validation IMO should happen at the entity engine level, not the >>>>>>>>>> >>>>>>>>>>> database >>>>>>>>>>> >>>>>>>>>> level (for not null), and also the default value should be false >>>>>>>>>> if >>>>>>>>>> >>>>>>>>>> omitted. We also need to think of the design in respect of the >>>>>>>>>>> >>>>>>>>>>> validation >>>>>>>>>>> >>>>>>>>>> attributes and how they apply. >>>>>>>>>> >>>>>>>>>> Thanks & Regards, >>>>>>>>>>> >>>>>>>>>> Aditya Sharma >>>>>>>>>> Enterprise Software Engineer >>>>>>>>>> HotWax Systems Pvt. Ltd. >>>>>>>>>> http://www.hotwaxsystems.com/ >>>>>>>>>> >>>>>>>>>> <https://www.linkedin.com/in/aditya-sharma-78291810a/> >>>>>>>>>> >>>>>>>>>> On Tue, May 2, 2017 at 12:11 AM, Scott Gray < >>>>>>>>>> >>>>>>>>>> [email protected]> >>>>>>>>>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> It was removed purposefully and there was a discussion about it. >>>>>>>>>> I'd >>>>>>>>>> >>>>>>>>>> suggest we all need to go back and look at that discussion before >>>>>>>>>>> >>>>>>>>>>> deciding >>>>>>>>>>> >>>>>>>>>> how to proceed. >>>>>>>>>> >>>>>>>>>> Regards >>>>>>>>>>> Scott >>>>>>>>>>> >>>>>>>>>>> On 1/05/2017 19:03, "Taher Alkhateeb" < >>>>>>>>>>> [email protected]> >>>>>>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>> I don't have the historical context, so please excuse if I'm off. >>>>>>>>>> >>>>>>>>>> My recommendation is to reintroduce the validation attribute. >>>>>>>>>>> >>>>>>>>>>>> However! >>>>>>>>>>>> >>>>>>>>>>> the >>>>>>>>>> validation IMO should happen at the entity engine level, not the >>>>>>>>>> >>>>>>>>>>> database >>>>>>>>>>>> >>>>>>>>>>> level (for not null), and also the default value should be false >>>>>>>>>>> >>>>>>>>>>>> if >>>>>>>>>>>> >>>>>>>>>>> omitted. We also need to think of the design in respect of the >>>>>>>>>> >>>>>>>>> validation >>>>>>>>> >>>>>>>>>> attributes and how they apply. >>>>>>>>>>> >>>>>>>>>>>> On Sun, Apr 30, 2017 at 8:07 PM, Aditya Sharma < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> While creating an entity I was in ambiguity whether to go for >>>>>>>>>>>>> >>>>>>>>>>>>> "*id*" >>>>>>>>>>>>> >>>>>>>>>>>> or " >>>>>>>>>>> >>>>>>>>>> *id-ne*" field type. When I googled it I came across this very >>>>>>>>>> >>>>>>>>>>> enriching >>>>>>>>>>>> discussion. >>>>>>>>>>>> >>>>>>>>>>>> http://ofbiz.135035.n4.nabble.com/EntityEngine-field-types- >>>>>>>>>>>>> >>>>>>>>>>>>> td2251546.html >>>>>>>>>>>>> >>>>>>>>>>>> As stated, an "id-ne" field can only have a *non-empty* value. >>>>>>>>>>>> >>>>>>>>>>>>> I was very curious to know how it is implemented in OFBiz. I >>>>>>>>>>>>> >>>>>>>>>>>>> found >>>>>>>>>>>>> >>>>>>>>>>>> that >>>>>>>>>>> >>>>>>>>>> almost all the *fieldtype*.xml* files have *same* *sql-type* and >>>>>>>>> >>>>>>>>>> *java-type* >>>>>>>>>>>>> for these 2 field types but I couldn't get any trace of how >>>>>>>>>>>>> that >>>>>>>>>>>>> >>>>>>>>>>>>> not-empty >>>>>>>>>>>>> >>>>>>>>>>>> constraint is levied upon "id-ne" fields. >>>>>>>>>>>> >>>>>>>>>>>>> I even looked at table structure for those fields having >>>>>>>>>>>>> "id-ne" >>>>>>>>>>>>> >>>>>>>>>>>>> field >>>>>>>>>>>>> >>>>>>>>>>>> type >>>>>>>>>>> but there was no "not-null" constraint at even the database >>>>>>>>>>> >>>>>>>>>>>> level. >>>>>>>>>>>>> >>>>>>>>>>>> When dug into it further I can across this commit where validate >>>>>>>>>>> >>>>>>>>>> elements >>>>>>>>> >>>>>>>>>> were removed from fieldtype*.xml files. >>>>>>>>>>>> >>>>>>>>>>>> http://markmail.org/message/otec62xiwkpjttkq >>>>>>>>>>>>> >>>>>>>>>>>>> http://svn.apache.org/viewvc?view=revision&revision=959708 >>>>>>>>>>>>> >>>>>>>>>>>>> But I can't get why it was removed and when it was removed >>>>>>>>>>>>> >>>>>>>>>>>>> whether >>>>>>>>>>>>> >>>>>>>>>>>> there >>>>>>>>>>> >>>>>>>>>> was some implementation that took its place for those >>>>>>>>> >>>>>>>>>> validations. >>>>>>>>>>>> >>>>>>>>>>>> To further check if it even works I found an OOTB entity having >>>>>>>>>>>>> >>>>>>>>>>>>> a >>>>>>>>>>>>> >>>>>>>>>>>> non-primary key "id-ne" field. I found that "*Picklist*" entity >>>>>>>>>>> >>>>>>>>>> has >>>>>>>>> >>>>>>>>>> a >>>>>>>>>>> >>>>>>>>>> field >>>>>>>>> >>>>>>>>>> *shipmentMethodTypeId* as "id- ne" type. When we *create a >>>>>>>>>>> >>>>>>>>>>>> picklist* >>>>>>>>>>>>> >>>>>>>>>>>> for >>>>>>>>>>> >>>>>>>>>> an >>>>>>>>>> >>>>>>>>>>> order from Facility Manager, *shipmentMethodTypeId* can be >>>>>>>>>>>> >>>>>>>>>>>>> *empty*. >>>>>>>>>>>>> If my explorations are correct currently there is no difference >>>>>>>>>>>>> >>>>>>>>>>>>> between >>>>>>>>>>>>> >>>>>>>>>>>> "id" and "id-ne" at the implementation level and there should >>>>>>>>>>>> be a >>>>>>>>>>>> >>>>>>>>>>>> Jira >>>>>>>>>>> >>>>>>>>>> for >>>>>>>>> >>>>>>>>>> it. >>>>>>>>>>>> >>>>>>>>>>>>> If I missed out something, can someone please enlighten me with >>>>>>>>>>>>> >>>>>>>>>>>>> that >>>>>>>>>>>>> >>>>>>>>>>>> and >>>>>>>>>>> >>>>>>>>>> help me understanding it well. >>>>>>>>>> >>>>>>>>>>> Thanks & Regards, >>>>>>>>>>>>> Aditya Sharma >>>>>>>>>>>>> Enterprise Software Engineer >>>>>>>>>>>>> HotWax Systems Pvt. Ltd. >>>>>>>>>>>>> http://www.hotwaxsystems.com/ >>>>>>>>>>>>> >>>>>>>>>>>>> <https://www.linkedin.com/in/aditya-sharma-78291810a/ >>>>>>>>>>>>> > >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >
