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

Reply via email to