ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Le Roux <jacques.le.r...@les7arts.com>
Subject Re: Difference between "id" and "id-ne" field type
Date Mon, 08 May 2017 08:25:49 GMT
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 <
> jacques.le.roux@les7arts.com> 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 <slidingfilaments@gmail.com>
>>> 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" <scott.gray@hotwaxsystems.com>
>>>> 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 <aditya.sharma@hotwaxsystems.com>
>>>>> 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 <
>>>>>> aditya.sharma@hotwaxsystems.com> 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 <
>>>>>>>
>>>>>> scott.gray@hotwaxsystems.com>
>>>>>>
>>>>>>> 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" <slidingfilaments@gmail.com>
>>>>>>>>
>>>>>>> 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 <
>>>>>>>>> aditya.sharma@hotwaxsystems.com> 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/>
>>>>>>>>>>
>>>>>>>>>>


Mime
View raw message