May I add request here?  I think it's also need to add the status changed
history automatically, we can see how the status changed from the history
recorder.



2009/5/7 Jacques Le Roux <jacques.le.r...@les7arts.com>

> From: "Scott Gray" <scott.g...@hotwaxmedia.com>
>
>> No need to apologize Hans, comments were exactly what I was after so
>>  thank you for taking the time.
>>
>> Based on your input and David's, I'm not going to worry about  automating
>> the checks as the current approach doesn't really seem to  bother anyone.
>>
>> I am still a little concerned about us not checking the validity of
>>  statuses for newly created records, does it bother anyone else?
>>
>
> Hi Scott,
>
> Yes, this is annoying and your examples prove that not only some exist but
> almost surely some new examples will be commited :/
> Having something keeping this clean automatically would be not only cool
> for developpers but also for code quality.
>
> Jacques
>
>
> Thanks
>> Scott
>>
>> On 7/05/2009, at 6:36 PM, Hans Bakker wrote:
>>
>> Hi Scott,
>>>
>>> sorry to jump in.
>>> In general i tried to concentrate the setting of the statusId in a
>>> single service which is used for EVERY status change. examples are in
>>> invoice and customerRequest and other places.
>>>
>>> is that a possible solution?
>>>
>>> Regards,
>>> Hans
>>>
>>> On Thu, 2009-05-07 at 18:24 +1200, Scott Gray wrote:
>>>
>>>> Hi David
>>>>
>>>> Thanks for the feedback, here are the main issues as I see it with  the
>>>> way things are now:
>>>> 1.  The developer has to know/remember to check for a valid status
>>>> change, I'm willing to bet that there are numerous places where it
>>>> isn't checked at the moment but should be.
>>>> 2.  While generally the check is only around 8-12 lines of code, the
>>>> developer has to either remember how to write the query and what  error
>>>> message should be displayed or find some existing code to copy/paste
>>>> (is the status set, has the status changed, do the lookup, report an
>>>> error).
>>>>
>>>> I don't think options #2 and #3 below cover problem #1 above but they
>>>> may help with #2.
>>>>
>>>> Also another issue with StatusValidChange is that there is currently
>>>> no way to make sure when creating a new record that the initial  status
>>>> is valid, I stumbled across this while fixing the test cases where a
>>>> Shipment was being created in the SHIPMENT_PACKED status and it was
>>>> subsequent ECA code that was failing.  To solve that I would like to
>>>> remove the not empty constraint on StatusValidChange.statusId so that
>>>> we can use the entity to indicate valid status entry points and start
>>>> checking for them during record creation.
>>>>
>>>> My only goal with these suggestions is to try and lighten the load on
>>>> the developer and this seems like a good opportunity for the  framework
>>>> to step in because the checks are very generic anyway.
>>>>
>>>> Regards
>>>> Scott
>>>>
>>>> On 7/05/2009, at 4:56 PM, David E Jones wrote:
>>>>
>>>>
>>>>> A couple of notes:
>>>>>
>>>>> 1. if we add something to the entity engine to check this we would
>>>>> need to move the Status* entities from the common component to the
>>>>> entity component
>>>>>
>>>>> 2. I played with doing a separate method that genericized checking
>>>>> the StatusValidChange, but it made the code bigger and (IMO) more
>>>>> difficult to follow and customize, especially since the
>>>>> StatusValidChange checking is pretty simple in the first place.
>>>>> However, the code would be more generic and perhaps slightly more
>>>>> simply (ie maybe not fewer lines, but some of the lines would be
>>>>> less complex), so there might be some merit in it...
>>>>>
>>>>> 3. related to #1, but a variation on that approach: we could perhaps
>>>>> have a service that checks this generically that is called through
>>>>> an EECA or SECA rule, and then all we have to do is setup that ECA
>>>>> rule for each entity we want checked
>>>>>
>>>>> -David
>>>>>
>>>>>
>>>>> On May 6, 2009, at 9:29 PM, Scott Gray wrote:
>>>>>
>>>>> Hi All
>>>>>>
>>>>>> Currently there is a ton of code in various places that checks to
>>>>>> make sure a status change is valid using the StatusValidChange
>>>>>> entity, and there are also places where there is no check even
>>>>>> though records exist (createShipment for example).  I'm wondering
>>>>>> we couldn't add support for this to the entity engine itself so
>>>>>> that it doesn't have to be done manually, we could add some sort of
>>>>>> flag to the entity field def and then GenericEntity could perform
>>>>>> the check when setting the field.  Thoughts?
>>>>>>
>>>>>> The only thing I'm not too sure on is the purpose of the condition
>>>>>> field on StatusValidChange and how it is intended to be used, there
>>>>>> are no examples of its use in the existing data.
>>>>>>
>>>>>> Failing that I'd at least like to add a utility method and a simple
>>>>>> method operation to simplify the task.
>>>>>>
>>>>>> Thanks
>>>>>> Scott
>>>>>>
>>>>>> HotWax Media
>>>>>> http://www.hotwaxmedia.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>> --
>>> Antwebsystems.com: Quality OFBiz services for competitive rates
>>>
>>>
>>
>>
>

Reply via email to