Deepak / Framework Gurus -
Sorry to dig this from the grave, we are upgrading to 17.12 and wanted to
leverage the *enabled="false" *attribute for disabling some OOTB eca rules,
and have run into a question, there are 4 OOTB eca rules in scrum that i
would like to disable, because they are configured for CustRequest >>
Status that is interfering with our custom workflow that is planning to
leverage CustRequest;
Below are the OOTB rules on *service=setCustRequestStatus and
event="commit"*; My understanding is that to disable all the rules with
same service and event i just have to create ONE overriding rule for
*service="setCustRequestStatus"
event="commit" *and do not have to override *each rule separately *pls can
you provide some insights
<eca service="setCustRequestStatus" event="commit">
<condition field-name="oldStatusId" operator="equals"
value="CRQ_REVIEWED"/>
<condition operator="equals" field-name="statusId"
value="CRQ_ACCEPTED"/>
<set field-name="custRequestStatusId" value="CRQ_ACCEPTED"/>
<set field-name="webSiteId" env-name="webSiteId"/>
<action service="autoScrumNotification" mode="sync"/>
</eca>
<eca service="setCustRequestStatus" event="commit">
<condition operator="equals" field-name="statusId"
value="CRQ_REVIEWED"/>
<set field-name="custRequestStatusId" value="CRQ_REVIEWED"/>
<set field-name="webSiteId" env-name="webSiteId"/>
<action service="autoScrumNotification" mode="sync"/>
</eca>
<eca service="setCustRequestStatus" event="commit">
<condition operator="equals" field-name="statusId"
value="CRQ_COMPLETED"/>
<set field-name="custRequestStatusId" value="CRQ_COMPLETED"/>
<set field-name="webSiteId" env-name="webSiteId"/>
<action service="autoScrumNotification" mode="sync"/>
</eca>
<eca service="setCustRequestStatus" event="commit">
<condition operator="equals" field-name="statusId"
value="CRQ_CANCELLED"/>
<set field-name="custRequestStatusId" value="CRQ_CANCELLED"/>
<set field-name="webSiteId" env-name="webSiteId"/>
<action service="autoScrumNotification" mode="sync"/>
</eca>
regards
Sakthi
On Tue, Jun 2, 2020 at 9:25 AM Sakthivel Vellingiri <[email protected]>
wrote:
> Great Deepak, thanks for the follow through, After your message i was able
> to locate the Jira -> https://issues.apache.org/jira/browse/OFBIZ-9826 and
> this is exactly the feature that i was looking for, We are scheduled to
> upgrade to 17.12 by the end of the year and we should be good by then,
> Appreciate your time & effort
>
> regards
> Sakthi
>
> On Tue, Jun 2, 2020 at 7:42 AM Deepak Dixit <[email protected]> wrote:
>
>> Hi Sakthi,
>>
>> Yes, disable seca feature added in 17.12 release.
>>
>> Thanks & Regards
>> --
>> Deepak Dixit
>> ofbiz.apache.org
>>
>>
>> On Tue, Jun 2, 2020 at 8:50 AM Sakthivel Vellingiri <
>> [email protected]>
>> wrote:
>>
>> > Thanks Deepak for your prompt response, that looked promising, however i
>> > could not get that to work when i copied the SECA to my customComponent
>> > (that extended order) and added enabled="false", but that did not
>> suppress
>> > the existing SECA, Just for verification i added enabled="false" in the
>> > original order component itself but for whatever reason that did not
>> work
>> > either, BTW, i'm still on 12.04.03, yea it is long due for upgrade :(;
>> it
>> > is possible it is fixed in a later version, but for now i have created a
>> > new SECA in my customComponent (that extended order) with a different
>> event
>> > i.e. event="return" instead of event="commit", that created an
>> additional
>> > event with the message that i need, however it did not suppress the
>> > original event/message, but i guess will have to live with that or
>> comment
>> > out the original SECA in the original order component. But i really
>> > appreciate your time to answer my question.
>> >
>> > Sakthi
>> >
>> >
>> >
>> >
>> > On Mon, Jun 1, 2020 at 1:52 AM Deepak Dixit <[email protected]> wrote:
>> >
>> > > Hi Sakthi,
>> > >
>> > > Which ofbiz version are you using?
>> > >
>> > > You can disable seca rule, copy seca rule in custom component and set
>> > > enabled="false"
>> > > it will disable the existing seca rule.
>> > > Please refer the [1] service-eca.xsd for reference
>> > >
>> > > [1] http://ofbiz.apache.org/dtds/service-eca.xsd
>> > > Thanks & Regards
>> > > --
>> > > Deepak Dixit
>> > > ofbiz.apache.org
>> > >
>> > >
>> > >
>> > > On Fri, May 29, 2020 at 9:24 PM Sakthivel Vellingiri <
>> > > [email protected]> wrote:
>> > >
>> > > > Thanks Jason for immediate response, yes we do have below in our
>> > extended
>> > > > component; i understood, we could have multiple SECAs, however in
>> this
>> > > > particular case we only want our custom SECA to fire and not the
>> > > original,
>> > > > as we want to change the message that is passed in the original SECA
>> > > > definition. hence wondering overriding the original SECA is possible
>> > > which
>> > > > will prevent original from running
>> > > > <service-resource type="eca" loader="main"
>> > > > location="servicedef/secas.xml"/>
>> > > >
>> > > > Sakthi
>> > > >
>> > > > On Fri, May 29, 2020 at 10:58 AM Jason RJ <[email protected]>
>> > wrote:
>> > > >
>> > > > >
>> > > > > On 29/05/2020 15:46, Sakthivel Vellingiri wrote:
>> > > > > > Hi All -
>> > > > > > *Summary:*
>> > > > > > Appreciate any pointers, Is it possible to override SECA
>> definition
>> > > by
>> > > > > > overriding the same definition in
>> > > > > > hot-deploy/<extended-component>/servicedef/secas.xml
>> > > > > >
>> > > > > > *Details:*
>> > > > > > There is a SECA definition in
>> > > applications/order/servicedef/secas.xml,
>> > > > as
>> > > > > > you can see noteInfo is hardcoded, and i want to replace wih my
>> > > > noteinfo
>> > > > > > without touching code under applications
>> > > > > > <!-- send a system note to all Customer request participants
>> > > > (excluding
>> > > > > > the originator)
>> > > > > > when a note is added to a particular customer
>> request.-->
>> > > > > > <eca service="createCustRequestItemNote" event="commit">
>> > > > > > <set field-name="noteParty" env-name="partyId"/>
>> > > > > > <set field-name="noteInfo" value="A note has been
>> added to
>> > > > > customer
>> > > > > > request"/>
>> > > > > > <set field-name="moreInfoItemName"
>> value="custRequestId"/>
>> > > > > > <set field-name="moreInfoItemId"
>> > env-name="custRequestId"/>
>> > > > > > <set field-name="moreInfoUrl"
>> > > > > > value="/ordermgr/control/ViewRequest"/>
>> > > > > > <action service="createSystemInfoNote" mode="sync"/>
>> > > > > > </eca>
>> > > > > > Is it possible to achieve this by overriding this in hot-deploy
>> > that
>> > > > has
>> > > > > > extended this component
>> > > > applications/order-extended/servicedef/secas.xml
>> > > > > > <!-- send a system note to all Customer request participants
>> > > (excluding
>> > > > > the
>> > > > > > originator)
>> > > > > > when a note is added to a particular customer
>> request.-->
>> > > > > > <eca service="createCustRequestItemNote" event="commit">
>> > > > > > <set field-name="noteParty" env-name="partyId"/>
>> > > > > > <set field-name="noteInfo" value="Custom Note"/>
>> > > > > > <set field-name="moreInfoItemName"
>> value="custRequestId"/>
>> > > > > > <set field-name="moreInfoItemId"
>> > env-name="custRequestId"/>
>> > > > > > <set field-name="moreInfoUrl"
>> > > > > > value="/ordermgr/control/ViewRequest"/>
>> > > > > > <action service="createSystemInfoNote" mode="sync"/>
>> > > > > > </eca>
>> > > > > >
>> > > > > > I had tried this without success, however i'm using this
>> approach
>> > for
>> > > > > > overriding services.
>> > > > > >
>> > > > > > regards
>> > > > > > Sakthi
>> > > > >
>> > > > >
>> > > > > Hi Sakthi,
>> > > > >
>> > > > > Do you have a reference to secas file in your ofbiz-component.xml:
>> > > > >
>> > > > > <!-- For Service Event Control Action files, use the following -->
>> > > > > <service-resource type="eca" loader="main"
>> > > > > location="servicedef/secas.xml"/>
>> > > > >
>> > > > > In theory multiple SECAs can be called so both the original and
>> yours
>> > > > > will be called, I'm not sure how the priority would be decided,
>> but
>> > > > > hopefully core SECAs will fire first.
>> > > > >
>> > > > > Jason
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>