ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aditya Sharma <aditya.sha...@hotwaxsystems.com>
Subject Re: Difference between "id" and "id-ne" field type
Date Mon, 08 May 2017 06:32:44 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message