replace bsh: to groovy: in all xml files

git-svn-id: https://svn.apache.org/repos/asf/ofbiz/branches/20120209RemoveBsh@1242884 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml b/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml
index 1d4386d..5160858 100644
--- a/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml
+++ b/applications/accounting/script/org/ofbiz/accounting/fixedasset/FixedAssetServices.xml
@@ -366,7 +366,7 @@
                 </if-compare-field>
                 </if-not-empty>
             </iterate>
-            <set field="nextIntervalQty" value="${bsh:maxIntervalQty.add(productMaintValue.getBigDecimal(&quot;intervalQuantity&quot;));}" type="BigDecimal"/>
+            <set field="nextIntervalQty" value="${groovy:maxIntervalQty.add(productMaintValue.getBigDecimal(&quot;intervalQuantity&quot;));}" type="BigDecimal"/>
             <if-not-empty field="meterValue.meterValue">
             <if-compare-field field="nextIntervalQty" operator="less-equals" to-field="meterValue.meterValue" type="BigDecimal">
                 <set field="maintDue" value="false"/>
diff --git a/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml b/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml
index 26140cc..2b827a4 100644
--- a/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml
+++ b/applications/accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml
@@ -480,7 +480,7 @@
             <else>
                 <!-- if new status is paid check if the complete invoice is applied. -->
                 <if-compare field="parameters.statusId" operator="equals" value="INVOICE_PAID">
-                    <set field="notApplied" type="BigDecimal" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}"/>
+                    <set field="notApplied" type="BigDecimal" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}"/>
                     <if-compare field="notApplied" operator="not-equals" value="0.00" type="BigDecimal">
                         <add-error>
                             <fail-property resource="AccountingUiLabels" property="AccountingInvoiceCannotChangeStatusToPaid"/>
diff --git a/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml b/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
index 866d7fb..cdc4f96 100644
--- a/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
+++ b/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
@@ -385,7 +385,7 @@
                 <get-related-one relation-name="GlAccountClass" value-field="glAccount" to-value-field="glAccountClass"/>
                 <get-related-one relation-name="ParentGlAccountClass" value-field="glAccountClass" to-value-field="parentGlAccountClass"/>
                 <!-- test if the account is a DEBIT account -->
-                <set field="isDebit" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.isDebitAccount(glAccount)}"/>
+                <set field="isDebit" value="${groovy:org.ofbiz.accounting.util.UtilAccounting.isDebitAccount(glAccount)}"/>
                 <if-compare field="isDebit" operator="equals" value="true">
                         <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="D">
                             <set from-field="acctgTransEntry.amount" field="postingAmount"/>
@@ -399,7 +399,7 @@
                         </if-compare>
                     <else>
                         <!-- otherwise, test if the account is credit -->
-                        <set field="isCredit" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.isCreditAccount(glAccount)}"/>
+                        <set field="isCredit" value="${groovy:org.ofbiz.accounting.util.UtilAccounting.isCreditAccount(glAccount)}"/>
                         <if-compare field="isCredit" operator="equals" value="true">
                             <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="C">
                                 <set from-field="acctgTransEntry.amount" field="postingAmount"/>
diff --git a/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml b/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
index d5fdf22..7d26c46 100644
--- a/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
+++ b/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
@@ -309,7 +309,7 @@
 
                     <!-- check if the payment fully applied when set to confirmed-->
                     <if-compare field="parameters.statusId" operator="equals" value="PMNT_CONFIRMED">
-                        <set field="notYetApplied" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment)}"/>
+                        <set field="notYetApplied" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment)}"/>
                         <if-compare field="notYetApplied" operator="greater" value="0.00" type="BigDecimal">
                             <add-error>
                                 <fail-property resource="AccountingUiLabels" property="AccountingPSNotConfirmedNotFullyApplied"/>
diff --git a/applications/accounting/widget/AccountingMenus.xml b/applications/accounting/widget/AccountingMenus.xml
index fe56247..3bae886 100644
--- a/applications/accounting/widget/AccountingMenus.xml
+++ b/applications/accounting/widget/AccountingMenus.xml
@@ -400,7 +400,7 @@
     <menu name="PaymentSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
           menu-container-style="button-bar button-style-2">
         <actions>
-            <set field="isDisbursement" value="${bsh:if(payment!=void)return org.ofbiz.accounting.util.UtilAccounting.isDisbursement(payment)}"/>
+            <set field="isDisbursement" value="${groovy:if(payment!=void)return org.ofbiz.accounting.util.UtilAccounting.isDisbursement(payment)}"/>
         </actions>
         <menu-item name="createNew" title="${uiLabelMap.CommonCreateNew}" widget-style="buttontext create" >
             <condition>
diff --git a/applications/accounting/widget/BillingAccountForms.xml b/applications/accounting/widget/BillingAccountForms.xml
index 59b9b4d..8b7c2a9 100644
--- a/applications/accounting/widget/BillingAccountForms.xml
+++ b/applications/accounting/widget/BillingAccountForms.xml
@@ -84,11 +84,11 @@
                 <field-map field-name="compareDate" from-field="invoiceDate"/>
                 <field-map field-name="lastNameFirst" value="Y"/>
             </service>
-            <set field="paidInvoice" value="${bsh: org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).compareTo(java.math.BigDecimal.ZERO)==0}" type="Boolean"/>
-            <set field="amountToApply" value="${bsh:
+            <set field="paidInvoice" value="${groovy: org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).compareTo(java.math.BigDecimal.ZERO)==0}" type="Boolean"/>
+            <set field="amountToApply" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/>
-            <set field="total" value="${bsh:
+            <set field="total" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/>
         </row-actions>
@@ -104,22 +104,22 @@
         <field name="description"><display/></field>
         <field name="partyIdFrom"><display description="${partyNameResultFrom.fullName} [${partyIdFrom}]"/></field>
         <field name="partyIdTo" parameter-name="partyId"><display description="${partyNameResultTo.fullName} [${partyId}]"/></field>
-        <field name="invoiceDate"><display description="${bsh:invoiceDate.toString().substring(0,10)}"/></field>
+        <field name="invoiceDate"><display description="${groovy:invoiceDate.toString().substring(0,10)}"/></field>
         <field name="total" widget-area-style="align-text"><display type="currency" currency="${currencyUomId}"/></field>
         <field name="amountToApply" widget-area-style="align-text"><display type="currency" currency="${currencyUomId}"/></field>
-        <field name="capture" use-when="${bsh:!paidInvoice}" widget-style="buttontext">
+        <field name="capture" use-when="${groovy:!paidInvoice}" widget-style="buttontext">
             <hyperlink target="capturePaymentsByInvoice" description="${uiLabelMap.AccountingCapture}">
                 <parameter param-name="invoiceId"/>
                 <parameter param-name="billingAccountId"/>
             </hyperlink>
         </field>
-        <field name="capture" use-when="${bsh:paidInvoice}"><display/></field>
+        <field name="capture" use-when="${groovy:paidInvoice}"><display/></field>
     </form>
 
     <form name="EditBillingAccount" type="single" target="updateBillingAccount" title=""
         header-row-style="header-row" default-table-style="basic-table">
         <actions>
-            <set field="availableBalance" value="${bsh:billingAccount != null ? org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/>
+            <set field="availableBalance" value="${groovy:billingAccount != null ? org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/>
         </actions>
         <alt-target use-when="billingAccount==null" target="createBillingAccount"/>
         <auto-fields-service service-name="updateBillingAccount" map-name="billingAccount"/>
@@ -152,7 +152,7 @@
         </field>
         <!--
         <field name="netBalance" title="${uiLabelMap.AccountingBillingNetBalance}" tooltip="${uiLabelMap.AccountingBillingNetBalanceMessage}">
-            <display description="${bsh:org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountNetBalance(delegator, billingAccountId)}" type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
+            <display description="${groovy:org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountNetBalance(delegator, billingAccountId)}" type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
         </field>
         -->
         <field name="availableBalance" title="${uiLabelMap.AccountingBillingAvailableBalance}" tooltip="${uiLabelMap.AccountingBillingAvailableBalanceMessage}">
diff --git a/applications/accounting/widget/GlForms.xml b/applications/accounting/widget/GlForms.xml
index a820b09..26e1980 100644
--- a/applications/accounting/widget/GlForms.xml
+++ b/applications/accounting/widget/GlForms.xml
@@ -275,7 +275,7 @@
             </entity-condition>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;glAccountId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(glAccountId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;glAccountId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(glAccountId)));}" type="Boolean"/>
         </row-actions>
         <field name="glAccountId" position="1" use-when="showPosition1"><display/></field>
         <field name="glAccountDescription" title="${uiLabelMap.CommonDescription}" position="1" use-when="showPosition1">
diff --git a/applications/accounting/widget/GlSetupForms.xml b/applications/accounting/widget/GlSetupForms.xml
index 28e983d..28b13a9 100644
--- a/applications/accounting/widget/GlSetupForms.xml
+++ b/applications/accounting/widget/GlSetupForms.xml
@@ -427,7 +427,7 @@
             <entity-one entity-name="GlAccountClass" value-field="revenueGlAccountClass">
                 <field-map field-name="glAccountClassId" value="REVENUE"/>
             </entity-one>
-            <set field="revenueAccountClassIds" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(revenueGlAccountClass)}" type="List"/>
+            <set field="revenueAccountClassIds" value="${groovy:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(revenueGlAccountClass)}" type="List"/>
         </actions>
         <auto-fields-service service-name="addInvoiceItemTypeGlAssignment"/>
         <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
@@ -481,7 +481,7 @@
             <entity-one entity-name="GlAccountClass" value-field="expenseGlAccountClass">
                 <field-map field-name="glAccountClassId" value="EXPENSE"/>
             </entity-one>
-            <set field="expenseAccountClassIds" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(expenseGlAccountClass)}" type="List"/>
+            <set field="expenseAccountClassIds" value="${groovy:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(expenseGlAccountClass)}" type="List"/>
         </actions>
         <auto-fields-service service-name="addInvoiceItemTypeGlAssignment"/>
         <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
diff --git a/applications/accounting/widget/InvoiceForms.xml b/applications/accounting/widget/InvoiceForms.xml
index 24142cb..1abd9ea 100644
--- a/applications/accounting/widget/InvoiceForms.xml
+++ b/applications/accounting/widget/InvoiceForms.xml
@@ -69,9 +69,9 @@
                 <field-map field-name="compareDate" from-field="invoiceDate"/>
                 <field-map field-name="lastNameFirst" value="Y"/>
             </service>
-            <set field="amountToApply" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)
+            <set field="amountToApply" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)
                 .multiply(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceCurrencyConversionRate(delegator,invoiceId))}"/>
-            <set field="total" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)
+            <set field="total" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)
                 .multiply(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceCurrencyConversionRate(delegator,invoiceId))}"/>
             <set field="currencyUomId" from-field="defaultOrganizationPartyCurrencyUomId"/>
         </row-actions>
@@ -102,7 +102,7 @@
     <form name="invoiceHeader" type="single" title="Invoice header information" default-map-name="invoice"
         header-row-style="header-row" default-table-style="basic-table">
         <actions>
-            <set field="total" value="${bsh:return(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice));}"/>
+            <set field="total" value="${groovy:return(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice));}"/>
             <service service-name="getPartyNameForDate" result-map="partyNameResultFrom">
                 <field-map field-name="partyId" from-field="invoice.partyIdFrom"/>
                 <field-map field-name="compareDate" from-field="invoice.invoiceDate"/>
@@ -131,17 +131,17 @@
         </field>
         <field position="1" name="roleTypeId"><display/></field>
         <field position="2" name="billingAccountId"><display/></field>
-        <field position="1" name="invoiceDate"><display description="${bsh:if(invoice.get(&quot;invoiceDate&quot;)!=null)return(invoice.getString(&quot;invoiceDate&quot;).substring(0,10));}"/></field>
-        <field position="2" name="dueDate"><display description="${bsh:if(invoice.get(&quot;dueDate&quot;)!=null)return(invoice.getString(&quot;dueDate&quot;).substring(0,10));}"/></field>
+        <field position="1" name="invoiceDate"><display description="${groovy:if(invoice.get(&quot;invoiceDate&quot;)!=null)return(invoice.getString(&quot;invoiceDate&quot;).substring(0,10));}"/></field>
+        <field position="2" name="dueDate"><display description="${groovy:if(invoice.get(&quot;dueDate&quot;)!=null)return(invoice.getString(&quot;dueDate&quot;).substring(0,10));}"/></field>
         <field position="1" name="total"><display description="${total}" type="currency" currency="${invoice.currencyUomId}"/></field>
-        <field position="2" name="paidDate"><display description="${bsh:if(invoice.get(&quot;paidDate&quot;)!=null)return(invoice.getString(&quot;paidDate&quot;).substring(0,10));}"/></field>
+        <field position="2" name="paidDate"><display description="${groovy:if(invoice.get(&quot;paidDate&quot;)!=null)return(invoice.getString(&quot;paidDate&quot;).substring(0,10));}"/></field>
         <field position="1" name="referenceNumber" title="${uiLabelMap.FormFieldTitle_referenceNum}"><display/></field>
         <field name="currencyUomId"><hidden/></field>
     </form>
 
 <form name="invoiceItems" list-name="invoiceItems" target="" title="" type="list" separate-columns="true" paginate-target="invoiceOverview"        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <row-actions>
-            <set field="total" value="${bsh:
+            <set field="total" value="${groovy:
                 import java.math.BigDecimal;
                 if(quantity==null) quantity = BigDecimal.ONE;
                 if(amount==null) amount = BigDecimal.ZERO;
@@ -349,7 +349,7 @@
    <form name="EditInvoiceItems" type="multi"  list-name="invoiceItems" default-entity-name="InvoiceItem" target="updateInvoiceItem?invoiceId=${invoiceId}&amp;viewSize=${viewSize}&amp;viewIndex=${viewIndex}" title="Edit Invoice Items" paginate-target="listInvoiceItems"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <row-actions>
-           <set field="total" value="${bsh:
+           <set field="total" value="${groovy:
                import java.math.BigDecimal;
                if(quantity == null || quantity.compareTo(BigDecimal.ZERO) == 0) quantity = BigDecimal.ONE;
                return(quantity.multiply(amount));}"/>
@@ -439,7 +439,7 @@
     <form name="ListInvoiceStatus" list-name="invoiceStatus" target="" title="" type="list" paginate-target="ListInvoiceStatus"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <field name="invoiceId"><hidden/></field>
-        <field name="statusDate"><display description="${bsh:statusDate.toString().substring(0,10)}"/></field>
+        <field name="statusDate"><display description="${groovy:statusDate.toString().substring(0,10)}"/></field>
         <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem"/></field>
     </form>
 
diff --git a/applications/accounting/widget/InvoiceScreens.xml b/applications/accounting/widget/InvoiceScreens.xml
index c04ecce..6aa85c8 100644
--- a/applications/accounting/widget/InvoiceScreens.xml
+++ b/applications/accounting/widget/InvoiceScreens.xml
@@ -189,9 +189,9 @@
                 </entity-and>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/CreateApplicationList.groovy"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy"/>
-                <set field="invoiceAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice)}" type="BigDecimal"/>
-                <set field="notAppliedAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="BigDecimal"/>
-                <set field="appliedAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(invoice)}" type="BigDecimal"/>
+                <set field="invoiceAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice)}" type="BigDecimal"/>
+                <set field="notAppliedAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="BigDecimal"/>
+                <set field="appliedAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(invoice)}" type="BigDecimal"/>
                 <entity-condition entity-name="AcctgTransAndEntries" list="AcctgTransAndEntries">
                     <condition-expr field-name="invoiceId"  operator="equals" from-field="invoiceId"/>
                     <order-by field-name="acctgTransId"/>
@@ -343,9 +343,9 @@
                 <entity-one entity-name="Invoice" value-field="invoice"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/CreateApplicationList.groovy"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/ListNotAppliedPayments.groovy"/>
-                <set field="invoiceAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice)}" type="BigDecimal"/>
-                <set field="notAppliedAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="BigDecimal"/>
-                <set field="appliedAmount" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(invoice)}" type="BigDecimal"/>
+                <set field="invoiceAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(invoice)}" type="BigDecimal"/>
+                <set field="notAppliedAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="BigDecimal"/>
+                <set field="appliedAmount" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(invoice)}" type="BigDecimal"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonInvoiceDecorator" location="${parameters.invoiceDecoratorLocation}">
diff --git a/applications/accounting/widget/PaymentForms.xml b/applications/accounting/widget/PaymentForms.xml
index 835e8e1..27f7a1a 100644
--- a/applications/accounting/widget/PaymentForms.xml
+++ b/applications/accounting/widget/PaymentForms.xml
@@ -60,7 +60,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="amountToApply" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(delegator,paymentId);}"/>
+            <set field="amountToApply" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(delegator,paymentId);}"/>
         </row-actions>
         <field name="paymentId" widget-style="buttontext">
             <hyperlink description="${paymentId}" target="paymentOverview">
@@ -443,7 +443,7 @@
             </entity-condition>
         </actions>
         <row-actions>
-            <set field="amountApplied" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentAppliedAmount(delegator, paymentApplicationId);}"/>
+            <set field="amountApplied" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentAppliedAmount(delegator, paymentApplicationId);}"/>
         </row-actions>
         <auto-fields-entity entity-name="PaymentApplication" default-field-type="display"/>
         <field name="paymentApplicationId"><hidden/></field>
diff --git a/applications/accounting/widget/PaymentScreens.xml b/applications/accounting/widget/PaymentScreens.xml
index 6064852..06149ed 100644
--- a/applications/accounting/widget/PaymentScreens.xml
+++ b/applications/accounting/widget/PaymentScreens.xml
@@ -168,11 +168,11 @@
                 <set field="tabButtonItem" value="editPaymentApplications"/>
                 <set field="paymentId" from-field="parameters.paymentId"/>
                 <entity-one entity-name="Payment" value-field="payment"/>
-                <set field="appliedAmount" type="String" value="${bsh:
+                <set field="appliedAmount" type="String" value="${groovy:
                     import java.text.NumberFormat;
                     return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.payment.PaymentWorker.getPaymentApplied(payment)));}"/>
-                <set field="notAppliedAmount" type="BigDecimal" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment)}"/>
-                <set field="notAppliedAmountStr" type="String" value="${bsh:
+                <set field="notAppliedAmount" type="BigDecimal" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment)}"/>
+                <set field="notAppliedAmountStr" type="String" value="${groovy:
                     import java.text.NumberFormat;
                     return(NumberFormat.getCurrencyInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment)));}"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/payment/ListNotAppliedInvoices.groovy"/>
@@ -351,8 +351,8 @@
                 <entity-one entity-name="Payment" value-field="payment"/>
                 <set field="finAccountTransId" from-field="payment.finAccountTransId"/>
                 <entity-one entity-name="FinAccountTrans" value-field="finAccountTrans"/>
-                <set field="appliedAmount" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentApplied(payment).toString()}"/>
-                <set field="notAppliedAmount" value="${bsh:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment).toString()}"/>
+                <set field="appliedAmount" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentApplied(payment).toString()}"/>
+                <set field="notAppliedAmount" value="${groovy:org.ofbiz.accounting.payment.PaymentWorker.getPaymentNotApplied(payment).toString()}"/>
                 <entity-condition entity-name="AcctgTransAndEntries" list="AcctgTransAndEntries">
                     <condition-expr field-name="paymentId" from-field="paymentId"/>
                     <order-by field-name="acctgTransId"/>
diff --git a/applications/accounting/widget/ReportFinancialSummaryScreens.xml b/applications/accounting/widget/ReportFinancialSummaryScreens.xml
index d38ebe0..70512c1 100644
--- a/applications/accounting/widget/ReportFinancialSummaryScreens.xml
+++ b/applications/accounting/widget/ReportFinancialSummaryScreens.xml
@@ -27,8 +27,8 @@
                 <set field="titleProperty" value="PageTitleFinancialSummaryReportOptions"/>
                 <set field="headerItem" value="FinancialSummryReports"/>
 
-                <set field="month" from-field="parameters.month" default-value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;MM&quot;)}"/>
-                <set field="year" from-field="parameters.year" default-value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy&quot;)}"/>
+                <set field="month" from-field="parameters.month" default-value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;MM&quot;)}"/>
+                <set field="year" from-field="parameters.year" default-value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy&quot;)}"/>
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
@@ -60,8 +60,8 @@
             <actions>
                 <set field="headerItem" value="FinancialSummryReports"/>
 
-                <set field="month" from-field="parameters.month" type="Integer" default-value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;MM&quot;)}"/>
-                <set field="year" from-field="parameters.year" type="Integer" default-value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy&quot;)}"/>
+                <set field="month" from-field="parameters.month" type="Integer" default-value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;MM&quot;)}"/>
+                <set field="year" from-field="parameters.year" type="Integer" default-value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy&quot;)}"/>
                 <set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
                 <set field="currencyUomId" from-field="parameters.currencyUomId"/>
 
diff --git a/applications/accounting/widget/ap/forms/InvoiceForms.xml b/applications/accounting/widget/ap/forms/InvoiceForms.xml
index 9bc6bb0..ad6153a 100644
--- a/applications/accounting/widget/ap/forms/InvoiceForms.xml
+++ b/applications/accounting/widget/ap/forms/InvoiceForms.xml
@@ -33,10 +33,10 @@
                 <field-map field-name="compareDate" from-field="invoiceDate"/>
                 <field-map field-name="lastNameFirst" value="Y"/>
             </service>
-            <set field="amountToApply" value="${bsh:
+            <set field="amountToApply" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/>
-            <set field="total" value="${bsh:
+            <set field="total" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/>
         </row-actions>
diff --git a/applications/accounting/widget/ar/forms/InvoiceForms.xml b/applications/accounting/widget/ar/forms/InvoiceForms.xml
index 7e85793..bef9a4a 100644
--- a/applications/accounting/widget/ar/forms/InvoiceForms.xml
+++ b/applications/accounting/widget/ar/forms/InvoiceForms.xml
@@ -34,10 +34,10 @@
                 <field-map field-name="compareDate" from-field="invoiceDate"/>
                 <field-map field-name="lastNameFirst" value="Y"/>
             </service>
-            <set field="amountToApply" value="${bsh:
+            <set field="amountToApply" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/>
-            <set field="total" value="${bsh:
+            <set field="total" value="${groovy:
                 import java.text.NumberFormat;
                 return(NumberFormat.getNumberInstance(context.get(&quot;locale&quot;)).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/>
         </row-actions>
diff --git a/applications/content/widget/content/ContentForms.xml b/applications/content/widget/content/ContentForms.xml
index c091646..67b850d 100644
--- a/applications/content/widget/content/ContentForms.xml
+++ b/applications/content/widget/content/ContentForms.xml
@@ -330,7 +330,7 @@
         </field>
         <field name="contentAssocTypeId"><display-entity entity-name="ContentAssocType" description="${description}"></display-entity></field>
         <field name="mapKey"><display/></field>
-        <field name="fromDate"><display description="${bsh:fromDate.toString().substring(0,10)}"/></field>
+        <field name="fromDate"><display description="${groovy:fromDate.toString().substring(0,10)}"/></field>
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
             <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="removeContentAssoc">
                 <parameter param-name="contentId"/>
@@ -361,7 +361,7 @@
         <field name="contentIdTo"><hidden/></field>
         <field name="contentAssocTypeId"><display-entity entity-name="ContentAssocType" description="${description}"></display-entity></field>
         <field name="mapKey"><display/></field>
-        <field name="fromDate"><display description="${bsh:fromDate.toString().substring(0,10)}"/></field>
+        <field name="fromDate"><display description="${groovy:fromDate.toString().substring(0,10)}"/></field>
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
             <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="removeContentAssoc">
                 <parameter param-name="contentId"/>
diff --git a/applications/content/widget/forum/ForumForms.xml b/applications/content/widget/forum/ForumForms.xml
index d538e84..488ec90 100644
--- a/applications/content/widget/forum/ForumForms.xml
+++ b/applications/content/widget/forum/ForumForms.xml
@@ -65,7 +65,7 @@
                 <parameter param-name="deactivateExisting" value="yes"/>
             </hyperlink>
         </field>
-        <field name="fromDate" entry-name="caFromDate"><display description="${bsh:caFromDate.toString().substring(0,10)}"/></field>
+        <field name="fromDate" entry-name="caFromDate"><display description="${groovy:caFromDate.toString().substring(0,10)}"/></field>
         <field name="nbrOfMessages" entry-name="childBranchCount"><display/></field>
     </form>
     <form name="AddForum" type="single" target="createForum"
@@ -150,8 +150,8 @@
         <field name="dataResourceTypeId"><hidden value="ELECTRONIC_TEXT"/></field>
         <field name="messageTitle" entry-name="description" parameter-name="description"><display/></field>
         <field name="createdBy" entry-name="createdByUserLogin"><display/></field>
-        <field name="fromDate" entry-name="caFromDate"><display description="${bsh:caFromDate!=null?caFromDate.toString().substring(0,10):&quot;&quot;}"/></field>
-        <field name="thruDate" entry-name="caThruDate"><display description="${bsh:caThruDate!=null?caThruDate.toString().substring(0,10):&quot;&quot;}"/></field>
+        <field name="fromDate" entry-name="caFromDate"><display description="${groovy:caFromDate!=null?caFromDate.toString().substring(0,10):&quot;&quot;}"/></field>
+        <field name="thruDate" entry-name="caThruDate"><display description="${groovy:caThruDate!=null?caThruDate.toString().substring(0,10):&quot;&quot;}"/></field>
         <field name="deleteButton" title="${uiLabelMap.CommonDelete}" widget-style="buttontext"><hyperlink target="updateForumMessage">
                 <parameter param-name="forumGroupId"/>
                 <parameter param-name="forumId"/>
diff --git a/applications/humanres/widget/PersonTrainingScreens.xml b/applications/humanres/widget/PersonTrainingScreens.xml
index 14d5397..34f223a 100644
--- a/applications/humanres/widget/PersonTrainingScreens.xml
+++ b/applications/humanres/widget/PersonTrainingScreens.xml
@@ -36,7 +36,7 @@
                         <script location="component://workeffort/webapp/workeffort/WEB-INF/actions/calendar/Days.groovy"/>
                     </actions>
                     <widgets>
-                        <screenlet title="${uiLabelMap.WorkEffortDayView}: ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;EEEE MMMM d, yyyy&quot;, timeZone, locale)}" navigation-menu-name="Day">
+                        <screenlet title="${uiLabelMap.WorkEffortDayView}: ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;EEEE MMMM d, yyyy&quot;, timeZone, locale)}" navigation-menu-name="Day">
                             <include-menu name="Day" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <include-screen name="trainingCalendarDetail"/>
                             <platform-specific>
@@ -56,7 +56,7 @@
                         <script location="component://workeffort/webapp/workeffort/WEB-INF/actions/calendar/Week.groovy"/>
                     </actions>
                     <widgets>
-                        <screenlet title="${uiLabelMap.WorkEffortWeekView}: ${uiLabelMap.CommonWeek} ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;w&quot;, timeZone, locale)}" navigation-menu-name="Week">
+                        <screenlet title="${uiLabelMap.WorkEffortWeekView}: ${uiLabelMap.CommonWeek} ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;w&quot;, timeZone, locale)}" navigation-menu-name="Week">
                             <include-menu name="Week" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <include-screen name="trainingCalendarDetail"/>
                             <platform-specific>
@@ -73,7 +73,7 @@
                         <script location="component://workeffort/webapp/workeffort/WEB-INF/actions/calendar/Month.groovy"/>
                     </actions>
                     <widgets>
-                        <screenlet title="${uiLabelMap.WorkEffortMonthView}: ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;MMMM yyyy&quot;, timeZone, locale)}" navigation-menu-name="Month">
+                        <screenlet title="${uiLabelMap.WorkEffortMonthView}: ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;MMMM yyyy&quot;, timeZone, locale)}" navigation-menu-name="Month">
                             <include-menu name="Month" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <include-screen name="trainingCalendarDetail"/>
                             <platform-specific>
diff --git a/applications/humanres/widget/forms/GlobalHRSettingForms.xml b/applications/humanres/widget/forms/GlobalHRSettingForms.xml
index b88a273..e005cd4 100644
--- a/applications/humanres/widget/forms/GlobalHRSettingForms.xml
+++ b/applications/humanres/widget/forms/GlobalHRSettingForms.xml
@@ -135,7 +135,7 @@
     <form name="ListEmplPositionTypeRates" type="list" title="" target="deleteEmplPositionTypeRate"
         odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
         <actions>
-            <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+            <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
             <entity-condition entity-name="EmplPositionTypeRateAndAmount" filter-by-date="true">
                 <condition-list combine="and">
                     <condition-expr field-name="emplPositionTypeId" from-field="parameters.emplPositionTypeId" operator="equals"/>
diff --git a/applications/humanres/widget/forms/RecruitmentForms.xml b/applications/humanres/widget/forms/RecruitmentForms.xml
index 50a6bc4..df9c49a 100644
--- a/applications/humanres/widget/forms/RecruitmentForms.xml
+++ b/applications/humanres/widget/forms/RecruitmentForms.xml
@@ -445,7 +445,7 @@
         <field name="internalOrganisation"><display/></field>
         <field name="reportingDate"><display/></field>
         <field name="location">
-            <display description="${bsh:
+            <display description="${groovy:
                 import org.ofbiz.entity.GenericValue;
                 import org.ofbiz.base.util.UtilMisc;
                 import org.ofbiz.entity.util.EntityUtil;
diff --git a/applications/marketing/widget/sfa/forms/ContactForms.xml b/applications/marketing/widget/sfa/forms/ContactForms.xml
index b17a1b8..d7aac9d 100644
--- a/applications/marketing/widget/sfa/forms/ContactForms.xml
+++ b/applications/marketing/widget/sfa/forms/ContactForms.xml
@@ -159,12 +159,12 @@
         </actions>
         <field name="partyIdTo" title="${uiLabelMap.AccountingToParty}" position="1">
             <drop-down allow-empty="false">
-               <list-options list-name="partyList" key-name="contact.partyId"  list-entry-name="contact" description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${contact.partyId}"/>
+               <list-options list-name="partyList" key-name="contact.partyId"  list-entry-name="contact" description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${contact.partyId}"/>
             </drop-down>
         </field>
         <field name="partyIdFrom" title="${uiLabelMap.AccountingFromParty}" position="2">
             <drop-down allow-empty="false">
-                <list-options list-name="partyList" key-name="contact.partyId"  list-entry-name="contact" description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${contact.partyId}"/>
+                <list-options list-name="partyList" key-name="contact.partyId"  list-entry-name="contact" description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${contact.partyId}"/>
             </drop-down>
         </field>
         <field name="submitButton" position="3" title="${uiLabelMap.SfaMergeContacts}" widget-style="buttontext" tooltip-style="button-text"><submit button-type="text-link"/></field>
diff --git a/applications/marketing/widget/sfa/forms/LeadForms.xml b/applications/marketing/widget/sfa/forms/LeadForms.xml
index 7aa46eb..e8a50a4 100644
--- a/applications/marketing/widget/sfa/forms/LeadForms.xml
+++ b/applications/marketing/widget/sfa/forms/LeadForms.xml
@@ -85,7 +85,7 @@
         </field>
         <field name="partyGroupId" title="${uiLabelMap.SfaAccountName}" tooltip="${uiLabelMap.SfaSelectExistingAccountOrLeaveBlankToCreateNew}" use-when="parameters.get(&quot;partyGroupId&quot;)==&quot;&quot;">
             <drop-down allow-empty="true" current-description="">
-              <entity-options entity-name="PartyRole" description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;${partyId}&quot;, false)} : [${partyId}]" key-field-name="partyId">
+              <entity-options entity-name="PartyRole" description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;${partyId}&quot;, false)} : [${partyId}]" key-field-name="partyId">
                   <entity-constraint name="roleTypeId" operator="equals" value="ACCOUNT"/>
               </entity-options>
             </drop-down>
@@ -102,12 +102,12 @@
         </actions>
         <field name="partyIdTo" title="${uiLabelMap.AccountingToParty}" position="1">
             <drop-down allow-empty="false">
-               <list-options list-name="partyList" key-name="lead.partyId"  list-entry-name="lead" description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${lead.partyId}"/>
+               <list-options list-name="partyList" key-name="lead.partyId"  list-entry-name="lead" description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${lead.partyId}"/>
             </drop-down>
         </field>
         <field name="partyIdFrom" title="${uiLabelMap.AccountingFromParty}" position="2">
             <drop-down allow-empty="false">
-               <list-options list-name="partyList" key-name="lead.partyId"  list-entry-name="lead" description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${lead.partyId}"/>
+               <list-options list-name="partyList" key-name="lead.partyId"  list-entry-name="lead" description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, &quot;partyId&quot;, false)} ${lead.partyId}"/>
             </drop-down>
         </field>
         <field name="submitButton" position="3" title="${uiLabelMap.SfaMergeLeads}" widget-style="buttontext" tooltip-style="button-text"><submit button-type="text-link"/></field>
diff --git a/applications/order/widget/ordermgr/FieldLookupForms.xml b/applications/order/widget/ordermgr/FieldLookupForms.xml
index df2fbaa..9c3b946 100644
--- a/applications/order/widget/ordermgr/FieldLookupForms.xml
+++ b/applications/order/widget/ordermgr/FieldLookupForms.xml
@@ -422,13 +422,13 @@
         </field>
         <field name="quoteId"><hidden/></field>
         <field name="quoteItemSeqId"><hidden/></field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo==null}">
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${groovy:isPromo==null}">
             <hyperlink also-hidden="false" target-type="plain" description="${quoteItemSeqId}" target="javascript:set_value('${quoteItemSeqId}')"/>
         </field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo!=null&amp;&amp;isPromo.equals(&quot;N&quot;)}">
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${groovy:isPromo!=null&amp;&amp;isPromo.equals(&quot;N&quot;)}">
             <hyperlink also-hidden="false" target-type="plain" description="${quoteItemSeqId}" target="javascript:set_value('${quoteItemSeqId}')"/>
         </field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" use-when="${bsh:isPromo!=null&amp;&amp;isPromo.equals(&quot;Y&quot;)}"><display/></field>
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" use-when="${groovy:isPromo!=null&amp;&amp;isPromo.equals(&quot;Y&quot;)}"><display/></field>
         <field name="productId">
             <display-entity entity-name="Product" key-field-name="productId" description="${productId} - ${internalName}"/>
         </field>
diff --git a/applications/order/widget/ordermgr/QuoteForms.xml b/applications/order/widget/ordermgr/QuoteForms.xml
index f63297a..96c19f9 100644
--- a/applications/order/widget/ordermgr/QuoteForms.xml
+++ b/applications/order/widget/ordermgr/QuoteForms.xml
@@ -189,19 +189,19 @@
         <auto-fields-entity entity-name="QuoteItem" default-field-type="display"/>
         <field name="quoteId"><hidden/></field>
         <field name="quoteItemSeqId"><hidden/></field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo==null}">
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${groovy:isPromo==null}">
             <hyperlink also-hidden="false" description="${quoteItemSeqId}" target="EditQuoteItem">
                 <parameter param-name="quoteId"/>
                 <parameter param-name="quoteItemSeqId"/>
             </hyperlink>
         </field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${bsh:isPromo!=null&amp;&amp;isPromo.equals(&quot;N&quot;)}">
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" widget-style="buttontext" use-when="${groovy:isPromo!=null&amp;&amp;isPromo.equals(&quot;N&quot;)}">
             <hyperlink also-hidden="false" description="${quoteItemSeqId}" target="EditQuoteItem">
                 <parameter param-name="quoteId"/>
                 <parameter param-name="quoteItemSeqId"/>
             </hyperlink>
         </field>
-        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" use-when="${bsh:isPromo!=null&amp;&amp;isPromo.equals(&quot;Y&quot;)}"><display/></field>
+        <field name="quoteItemSeqId" title="${uiLabelMap.OrderOrderQuoteItemSeqId}" use-when="${groovy:isPromo!=null&amp;&amp;isPromo.equals(&quot;Y&quot;)}"><display/></field>
         <field name="productId" title="${uiLabelMap.ProductProductId}">
             <display-entity entity-name="Product" key-field-name="productId" description="${productId} - ${internalName}"/>
         </field>
@@ -377,13 +377,13 @@
         <field name="productFeatureId"><hidden/></field>
         <field name="createdDate"><hidden/></field>
         <field name="createdByUserLogin"><hidden/></field>
-        <field name="quoteAdjustmentId" title="${uiLabelMap.OrderOrderQuoteAdjustmentId}" widget-style="buttontext" use-when="${bsh:productPromoId==null}">
+        <field name="quoteAdjustmentId" title="${uiLabelMap.OrderOrderQuoteAdjustmentId}" widget-style="buttontext" use-when="${groovy:productPromoId==null}">
             <hyperlink also-hidden="false" description="${quoteAdjustmentId}" target="EditQuoteAdjustment">
                 <parameter param-name="quoteId"/>
                 <parameter param-name="quoteAdjustmentId"/>
             </hyperlink>
         </field>
-        <field name="quoteAdjustmentId" title="${uiLabelMap.OrderOrderQuoteAdjustmentId}" use-when="${bsh:productPromoId!=null}"><display/></field>
+        <field name="quoteAdjustmentId" title="${uiLabelMap.OrderOrderQuoteAdjustmentId}" use-when="${groovy:productPromoId!=null}"><display/></field>
         <field name="quoteAdjustmentTypeId" title="${uiLabelMap.OrderOrderQuoteAdjustmentType}">
             <display-entity entity-name="OrderAdjustmentType" key-field-name="orderAdjustmentTypeId"/>
         </field>
diff --git a/applications/order/widget/ordermgr/RequirementForms.xml b/applications/order/widget/ordermgr/RequirementForms.xml
index 5cf35c1..3f77b98 100644
--- a/applications/order/widget/ordermgr/RequirementForms.xml
+++ b/applications/order/widget/ordermgr/RequirementForms.xml
@@ -64,8 +64,8 @@
             </service>
         </actions>
         <row-actions>
-            <set field="lookupProductId" value="${bsh: (productId == null? &quot;_NA_&quot;: productId);}" type="String"/>
-            <set field="lookupFacilityId" value="${bsh: (facilityIdId == null? &quot;_NA_&quot;: facilityId);}" type="String"/>
+            <set field="lookupProductId" value="${groovy: (productId == null? &quot;_NA_&quot;: productId);}" type="String"/>
+            <set field="lookupFacilityId" value="${groovy: (facilityIdId == null? &quot;_NA_&quot;: facilityId);}" type="String"/>
             <service service-name="getInventoryAvailableByFacility" result-map="resultQoh">
                 <field-map field-name="productId" from-field="lookupProductId"/>
                 <field-map field-name="facilityId" from-field="lookupFacilityId"/>
diff --git a/applications/order/widget/ordermgr/ReturnForms.xml b/applications/order/widget/ordermgr/ReturnForms.xml
index d35d270..88d0b82 100644
--- a/applications/order/widget/ordermgr/ReturnForms.xml
+++ b/applications/order/widget/ordermgr/ReturnForms.xml
@@ -94,7 +94,7 @@
         </field>
         <field name="paymentMethodId" use-when="creditCardList!=null&amp;&amp;creditCardList.size()&gt;0">
             <drop-down allow-empty="true">
-                <list-options list-name="creditCardList" list-entry-name="creditCardPm" key-name="creditCardPm.paymentMethodId" description="${bsh:org.ofbiz.party.contact.ContactHelper.formatCreditCard(creditCardPm.getRelatedOne(&quot;CreditCard&quot;))}"/>
+                <list-options list-name="creditCardList" list-entry-name="creditCardPm" key-name="creditCardPm.paymentMethodId" description="${groovy:org.ofbiz.party.contact.ContactHelper.formatCreditCard(creditCardPm.getRelatedOne(&quot;CreditCard&quot;))}"/>
             </drop-down>
         </field>
         <field name="newCreditCard" widget-style="buttontext" use-when="returnHeader!=null&amp;&amp;returnHeader.getString(&quot;fromPartyId&quot;)!=null">
diff --git a/applications/party/widget/partymgr/CommunicationEventForms.xml b/applications/party/widget/partymgr/CommunicationEventForms.xml
index d89ac32..18afcfd 100644
--- a/applications/party/widget/partymgr/CommunicationEventForms.xml
+++ b/applications/party/widget/partymgr/CommunicationEventForms.xml
@@ -124,7 +124,7 @@
     </form>
     <form name="EditEmail" type="single" target="createCommunicationEvent" default-map-name="communicationEvent" id="EditEmail">
         <actions>
-            <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+            <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
             <entity-condition entity-name="PartyContactWithPurpose" list="emailAddresses">
                 <condition-list combine="and">
                     <condition-expr field-name="partyId" from-field="partyIdFrom"/>
@@ -184,7 +184,7 @@
     </form>
     <form name="EditInternalNote" type="single" target="createCommunicationEvent" default-map-name="communicationEvent">
         <actions>
-            <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+            <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
             <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy"/>
         </actions>
         <alt-target use-when="communicationEvent!=null" target="updateCommunicationEvent"/>
@@ -505,7 +505,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="toComplete" value="${bsh:&quot;COM_ROLE_READ&quot;.equals(roleStatusId)?&quot;PartyToComplete&quot;:&quot;CommonEmptyHeader&quot;}"/>
+            <set field="toComplete" value="${groovy:&quot;COM_ROLE_READ&quot;.equals(roleStatusId)?&quot;PartyToComplete&quot;:&quot;CommonEmptyHeader&quot;}"/>
         </row-actions>
         <field name="deleteCommEventIfLast"><hidden value="Y"/></field>
         <field name="delContentDataResource"><hidden value="Y"/></field>
diff --git a/applications/party/widget/partymgr/PartyForms.xml b/applications/party/widget/partymgr/PartyForms.xml
index dfaa693..b12ebd5 100644
--- a/applications/party/widget/partymgr/PartyForms.xml
+++ b/applications/party/widget/partymgr/PartyForms.xml
@@ -900,9 +900,9 @@
             <set field="actualCurrencyUomId" from-field="actualCurrencyUomId" default-value="${defaultOrganizationPartyCurrencyUomId}"/>
         </actions>
         <row-actions>
-            <set field="total" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator, invoiceId, actualCurrency)}"/>
-            <set field="amountToApply" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId, actualCurrency)}"/>
-            <set field="amountApplied" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(delegator,invoiceId, org.ofbiz.base.util.UtilDateTime.nowTimestamp(), actualCurrency)}"/>
+            <set field="total" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator, invoiceId, actualCurrency)}"/>
+            <set field="amountToApply" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId, actualCurrency)}"/>
+            <set field="amountApplied" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceApplied(delegator,invoiceId, org.ofbiz.base.util.UtilDateTime.nowTimestamp(), actualCurrency)}"/>
         </row-actions>
         <field name="invoiceId">
             <display-entity entity-name="Invoice" description=" " also-hidden="true">
diff --git a/applications/product/widget/catalog/ConfigForms.xml b/applications/product/widget/catalog/ConfigForms.xml
index 54e403a..e0c8429 100644
--- a/applications/product/widget/catalog/ConfigForms.xml
+++ b/applications/product/widget/catalog/ConfigForms.xml
@@ -32,7 +32,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="typeDescription" value="${bsh: return &quot;SINGLE&quot;.equals(configItemTypeId) ? uiLabelMap.get(&quot;ProductSingleChoice&quot;) : uiLabelMap.get(&quot;ProductMultiChoice&quot;)}"/>
+            <set field="typeDescription" value="${groovy: return &quot;SINGLE&quot;.equals(configItemTypeId) ? uiLabelMap.get(&quot;ProductSingleChoice&quot;) : uiLabelMap.get(&quot;ProductMultiChoice&quot;)}"/>
         </row-actions>
         <field name="configItemId" title="${uiLabelMap.ProductConfigItem}" widget-style="buttontext">
             <hyperlink target="EditProductConfigItem" description="${configItemId}">
diff --git a/applications/product/widget/catalog/FacilityForms.xml b/applications/product/widget/catalog/FacilityForms.xml
index 97e3f10..5f2f48f 100644
--- a/applications/product/widget/catalog/FacilityForms.xml
+++ b/applications/product/widget/catalog/FacilityForms.xml
@@ -228,7 +228,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;inventoryItemId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(inventoryItemId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;inventoryItemId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(inventoryItemId)));}" type="Boolean"/>
         </row-actions>
 
         <field name="inventoryItemId" widget-style="buttontext" position="1" use-when="showPosition1">
@@ -292,7 +292,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
         </row-actions>
 
         <field name="productId" position="1" use-when="showPosition1" widget-style="buttontext">
diff --git a/applications/product/widget/catalog/ImageManagementForms.xml b/applications/product/widget/catalog/ImageManagementForms.xml
index a54bd22..a8ac0f4 100644
--- a/applications/product/widget/catalog/ImageManagementForms.xml
+++ b/applications/product/widget/catalog/ImageManagementForms.xml
@@ -95,10 +95,10 @@
                 <field-map field-name="productCategoryId" from-field="product.primaryProductCategoryId"/>
             </entity-one>
         </row-actions>
-        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
+        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
             <display-entity entity-name="Product" key-field-name="productId" description="${internalName} [${productId}] - ${productCategory.categoryName}" also-hidden="false"/>
         </field>
-        <field name="statusProductId" title="${uiLabelMap.ProductStatus}" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
+        <field name="statusProductId" title="${uiLabelMap.ProductStatus}" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
             <radio no-current-selected-key="${checkRadio}">
                 <option key="IM_APPROVED__${productId}" description="${uiLabelMap.FormFieldTitle_approve}"/>
                 <option key="IM_REJECTED__${productId}" description="${uiLabelMap.FormFieldTitle_rejectButton}"/>
@@ -150,7 +150,7 @@
                 <field-map field-name="productCategoryId" from-field="product.primaryProductCategoryId"/>
             </entity-one>
         </row-actions>
-        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
+        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
             <display-entity entity-name="Product" key-field-name="productId" description="${internalName} [${productId}] - ${productCategory.categoryName}" also-hidden="false"/>
         </field>
         <field name="drObjectInfo" position="2" title="${uiLabelMap.CommonImage}"><image width="100"/></field>
@@ -189,7 +189,7 @@
                 <field-map field-name="productCategoryId" from-field="product.primaryProductCategoryId"/>
             </entity-one>
         </row-actions>
-        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
+        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
             <display-entity entity-name="Product" key-field-name="productId" description="${internalName} [${productId}] - ${productCategory.categoryName}" also-hidden="false"/>
         </field>
         <field name="_rowSubmit" position="2" title=" " widget-style="hidden"><check all-checked="true"/></field>
@@ -244,7 +244,7 @@
                 <field-map field-name="productCategoryId" from-field="product.primaryProductCategoryId"/>
             </entity-one>
         </row-actions>
-        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
+        <field name="productId" title="${uiLabelMap.ProductProductName} [${uiLabelMap.ProductProductId}] - ${uiLabelMap.FormFieldTitle_categoryName}" entry-name="productId" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}">
             <display-entity entity-name="Product" key-field-name="productId" description="${internalName} [${productId}] - ${productCategory.categoryName}" also-hidden="false"/>
         </field>
         <field name="drObjectInfo" position="2" title="${uiLabelMap.CommonImage}"><image width="100"/></field>
diff --git a/applications/product/widget/catalog/ProductForms.xml b/applications/product/widget/catalog/ProductForms.xml
index ac0d45d..4075ac6 100644
--- a/applications/product/widget/catalog/ProductForms.xml
+++ b/applications/product/widget/catalog/ProductForms.xml
@@ -1884,7 +1884,7 @@
             <entity-one entity-name="Enumeration" value-field="locationType">
                 <field-map field-name="enumId" from-field="facilityLocation.locationTypeEnumId"/>
             </entity-one>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;facilityId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(facilityId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;facilityId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(facilityId)));}" type="Boolean"/>
         </row-actions>
         <auto-fields-service service-name="updateProductFacilityLocation" default-position="2"/>
         <field name="productId" position="2"><hidden/></field>
@@ -2041,7 +2041,7 @@
             <display-entity entity-name="GlAccountType" key-field-name="glAccountTypeId" description="${description}"/>
         </field>
         <field name="organizationPartyId" title="${uiLabelMap.ProductOrganization}">
-            <display description="${bsh: org.ofbiz.party.party.PartyHelper.getPartyName(delegator, organizationPartyId, true);} [${organizationPartyId}]"/>
+            <display description="${groovy: org.ofbiz.party.party.PartyHelper.getPartyName(delegator, organizationPartyId, true);} [${organizationPartyId}]"/>
         </field>
         <field name="glAccountId" title="${uiLabelMap.ProductGlAccount}">
             <drop-down allow-empty="false">
diff --git a/applications/product/widget/catalog/ProductStoreForms.xml b/applications/product/widget/catalog/ProductStoreForms.xml
index 37b8dfa..46a45c4 100644
--- a/applications/product/widget/catalog/ProductStoreForms.xml
+++ b/applications/product/widget/catalog/ProductStoreForms.xml
@@ -1074,24 +1074,24 @@
         </field>
         <field name="paymentPropertiesPath" title="${uiLabelMap.ProductPaymentProps}"><display/></field>
         <field name="applyToAllProducts" title="${uiLabelMap.ProductApplyToAll}"><display/></field>
-        <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${bsh:security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_UPDATE&quot;, session);}" widget-style="buttontext">
+        <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${groovy:security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_UPDATE&quot;, session);}" widget-style="buttontext">
             <hyperlink target="EditProductStorePaySetup" description="${uiLabelMap.CommonEdit}" also-hidden="false">
                 <parameter param-name="productStoreId"/>
                 <parameter param-name="paymentMethodTypeId"/>
                 <parameter param-name="paymentServiceTypeEnumId"/>
             </hyperlink>
         </field>
-        <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${bsh:!security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_UPDATE&quot;, session);}">
+        <field name="editLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${groovy:!security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_UPDATE&quot;, session);}">
             <display/>
         </field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${bsh:security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_DELETE&quot;, session);}" widget-style="buttontext">
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${groovy:security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_DELETE&quot;, session);}" widget-style="buttontext">
             <hyperlink target="storeRemovePaySetting" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                 <parameter param-name="productStoreId"/>
                 <parameter param-name="paymentMethodTypeId"/>
                 <parameter param-name="paymentServiceTypeEnumId"/>
             </hyperlink>
         </field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${bsh:!security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_DELETE&quot;, session);}">
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" use-when="${groovy:!security.hasEntityPermission(&quot;CATALOG&quot;, &quot;_DELETE&quot;, session);}">
             <display/>
         </field>
     </form>
diff --git a/applications/product/widget/facility/FacilityForms.xml b/applications/product/widget/facility/FacilityForms.xml
index a3578c4..911eea2 100644
--- a/applications/product/widget/facility/FacilityForms.xml
+++ b/applications/product/widget/facility/FacilityForms.xml
@@ -229,7 +229,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;inventoryItemId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(inventoryItemId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;inventoryItemId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(inventoryItemId)));}" type="Boolean"/>
         </row-actions>
 
         <field name="inventoryItemId" widget-style="buttontext" position="1" use-when="showPosition1">
@@ -293,7 +293,7 @@
             </service>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
         </row-actions>
 
         <field name="productId" position="1" use-when="showPosition1" widget-style="buttontext">
diff --git a/applications/workeffort/widget/CalendarScreens.xml b/applications/workeffort/widget/CalendarScreens.xml
index ad20730..cd78f94 100644
--- a/applications/workeffort/widget/CalendarScreens.xml
+++ b/applications/workeffort/widget/CalendarScreens.xml
@@ -50,7 +50,7 @@
                     <widgets>
                       <include-screen name="eventDetail"/>
                       <container style="bothclear">
-                        <screenlet title="${uiLabelMap.WorkEffortDayView}: ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;EEEE MMMM d, yyyy&quot;, timeZone, locale)}" navigation-menu-name="Day" padded="false">
+                        <screenlet title="${uiLabelMap.WorkEffortDayView}: ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;EEEE MMMM d, yyyy&quot;, timeZone, locale)}" navigation-menu-name="Day" padded="false">
                             <include-menu name="Day" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <platform-specific>
                                 <html><html-template location="component://workeffort/webapp/workeffort/calendar/day.ftl"/></html>
@@ -72,7 +72,7 @@
                     <widgets>
                       <include-screen name="eventDetail"/>
                       <container style="bothclear">
-                        <screenlet title="${uiLabelMap.WorkEffortWeekView}: ${uiLabelMap.CommonWeek} ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;w&quot;, timeZone, locale)}" navigation-menu-name="Week" padded="false">
+                        <screenlet title="${uiLabelMap.WorkEffortWeekView}: ${uiLabelMap.CommonWeek} ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;w&quot;, timeZone, locale)}" navigation-menu-name="Week" padded="false">
                             <include-menu name="Week" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <platform-specific>
                                 <html><html-template location="component://workeffort/webapp/workeffort/calendar/week.ftl"/></html>
@@ -91,7 +91,7 @@
                     <widgets>
                       <include-screen name="eventDetail"/>
                       <container style="bothclear">
-                        <screenlet title="${uiLabelMap.WorkEffortMonthView}: ${bsh:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;MMMM yyyy&quot;, timeZone, locale)}" navigation-menu-name="Month" padded="false">
+                        <screenlet title="${uiLabelMap.WorkEffortMonthView}: ${groovy:org.ofbiz.base.util.UtilDateTime.timeStampToString(start, &quot;MMMM yyyy&quot;, timeZone, locale)}" navigation-menu-name="Month" padded="false">
                             <include-menu name="Month" location="component://workeffort/widget/WorkEffortMenus.xml"/>
                             <platform-specific>
                                 <html><html-template location="component://workeffort/webapp/workeffort/calendar/month.ftl"/></html>
diff --git a/applications/workeffort/widget/WorkEffortForms.xml b/applications/workeffort/widget/WorkEffortForms.xml
index c025aba..6237289 100644
--- a/applications/workeffort/widget/WorkEffortForms.xml
+++ b/applications/workeffort/widget/WorkEffortForms.xml
@@ -924,7 +924,7 @@
             </hyperlink>
         </field>
         <field name="noteInfo" title="${uiLabelMap.CommonNote}"><display/></field>
-        <field name="noteParty" title="${uiLabelMap.CommonBy}"><display description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, noteParty, true)} at ${noteDateTime}"/></field>
+        <field name="noteParty" title="${uiLabelMap.CommonBy}"><display description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, noteParty, true)} at ${noteDateTime}"/></field>
         <field name="internalNote" title="${uiLabelMap.WorkEffortPrivatePublic}" widget-style="buttontext" use-when="&quot;N&quot;.equals(internalNote)">
             <hyperlink target="updateWorkEffortNote" description="${uiLabelMap.OrderNotesPrivate}">
                 <parameter param-name="workEffortId"/>
@@ -1352,7 +1352,7 @@
 
     <form name="EditICalendar" default-map-name="workEffort" target="updateICalendar" type="single">
         <actions>
-            <set field="serverRootUrl" value="${bsh: org.ofbiz.base.util.UtilHttp.getServerRootUrl(request)}"/>
+            <set field="serverRootUrl" value="${groovy: org.ofbiz.base.util.UtilHttp.getServerRootUrl(request)}"/>
         </actions>
         <alt-target target="createICalendar" use-when="workEffort==null"/>
         <field name="workEffortTypeId"><hidden value="PUBLISH_PROPS"></hidden></field>
@@ -1427,7 +1427,7 @@
                 <field-map field-name="partyId" from-field="userLogin.partyId"/>
                 <field-map field-name="statusId" value="PRTYASGN_ASSIGNED"/>
             </entity-and>
-            <set field="serverRootUrl" value="${bsh: org.ofbiz.base.util.UtilHttp.getServerRootUrl(request)}"/>
+            <set field="serverRootUrl" value="${groovy: org.ofbiz.base.util.UtilHttp.getServerRootUrl(request)}"/>
         </actions>
         <field name="workEffortId" title="${uiLabelMap.WorkEffortWorkEffortId}">
             <hyperlink also-hidden="false" description="${workEffortId}" target="EditICalendar" target-type="plain">
diff --git a/framework/webtools/widget/tempExprForms.xml b/framework/webtools/widget/tempExprForms.xml
index c151f22..4094402 100644
--- a/framework/webtools/widget/tempExprForms.xml
+++ b/framework/webtools/widget/tempExprForms.xml
@@ -24,7 +24,7 @@
     <!-- Temporal Expression forms -->
     <form name="FindTemporalExpression" target="findTemporalExpression" type="single">
         <actions>
-            <set field="expressionTypeList" value="${bsh:org.ofbiz.service.calendar.ExpressionUiHelper.getExpressionTypeList(uiLabelMap);}" type="List"/>
+            <set field="expressionTypeList" value="${groovy:org.ofbiz.service.calendar.ExpressionUiHelper.getExpressionTypeList(uiLabelMap);}" type="List"/>
         </actions>
         <field name="tempExprId" title="${uiLabelMap.TemporalExpressionId}"><text-find/></field>
         <field name="description" title="${uiLabelMap.CommonDescription}"><text-find/></field>
diff --git a/specialpurpose/ebay/widget/EbayForms.xml b/specialpurpose/ebay/widget/EbayForms.xml
index 4f5c980..4cb7e26 100644
--- a/specialpurpose/ebay/widget/EbayForms.xml
+++ b/specialpurpose/ebay/widget/EbayForms.xml
@@ -36,8 +36,8 @@
     <form name="ListOrdersFromEbay" type="multi" use-row-submit="true" list-name="orderList" target="ImportOrderFromEbay"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <row-actions>
-            <set field="canImportOrder" value="${bsh: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) &amp;&amp; org.ofbiz.base.util.UtilValidate.isEmpty(errorMessage)}" type="Boolean"/>
-            <set field="allowProductIdChange" value="${bsh: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) &amp;&amp; org.ofbiz.base.util.UtilValidate.isNotEmpty(errorMessage)}" type="Boolean"/>
+            <set field="canImportOrder" value="${groovy: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) &amp;&amp; org.ofbiz.base.util.UtilValidate.isEmpty(errorMessage)}" type="Boolean"/>
+            <set field="allowProductIdChange" value="${groovy: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) &amp;&amp; org.ofbiz.base.util.UtilValidate.isNotEmpty(errorMessage)}" type="Boolean"/>
         </row-actions>
         <field name="productStoreId"><hidden/></field>
         <field name="externalId" title="${uiLabelMap.EbayImportEbayItem}"><display/></field>
@@ -105,9 +105,9 @@
     <form name="ListEbayOrders" type="multi" use-row-submit="true" list-name="orderList" target="importEbayOrders"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <row-actions>
-            <set field="canImportOrder" value="${bsh: org.ofbiz.base.util.UtilValidate.isEmpty(orderId)}" type="Boolean"/>
-            <set field="isEbayOrder" value="${bsh: org.ofbiz.base.util.UtilValidate.isNotEmpty(isEbayOrder)}" type="Boolean"/>
-            <set field="isEbayTransaction" value="${bsh: org.ofbiz.base.util.UtilValidate.isNotEmpty(isEbayTransaction)}" type="Boolean"/>
+            <set field="canImportOrder" value="${groovy: org.ofbiz.base.util.UtilValidate.isEmpty(orderId)}" type="Boolean"/>
+            <set field="isEbayOrder" value="${groovy: org.ofbiz.base.util.UtilValidate.isNotEmpty(isEbayOrder)}" type="Boolean"/>
+            <set field="isEbayTransaction" value="${groovy: org.ofbiz.base.util.UtilValidate.isNotEmpty(isEbayTransaction)}" type="Boolean"/>
         </row-actions>
         <field name="productStoreId"><hidden/></field>
        <field name="externalId" title="${uiLabelMap.EbayEbayOrderIdOrTransactionId}" use-when="${isEbayOrder}" tooltip="eBay Order"><display/></field>
diff --git a/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml b/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml
index 9025eba..9d54729 100644
--- a/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml
+++ b/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml
@@ -526,7 +526,7 @@
                 <field-map field-name="productStoreId" from-field="parameters.productStoreId"/>
                 <field-map field-name="roleTypeId" value="EBAY_ACCOUNT"/>
             </entity-and>
-            <set field="partyId" value="${bsh:
+            <set field="partyId" value="${groovy:
                 import org.ofbiz.entity.util.EntityUtil;
                 GenericValue partyStore = EntityUtil.getFirst(storeList);
                 if(partyStore!=null) partyId = partyStore.getString(&quot;partyId&quot;);
@@ -760,18 +760,18 @@
             <script location="component://ebaystore/webapp/ebaystore/WEB-INF/actions/store/OrderListParameters.groovy"/>
         </row-actions>
         <field name="productStoreId"><hidden value="${productStoreId}"/></field>
-        <field name="_rowSubmit" position="1" title="${uiLabelMap.CommonSelect}" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><check/></field>
-        <field name="orderId" position="1" title="Order ID" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}">
+        <field name="_rowSubmit" position="1" title="${uiLabelMap.CommonSelect}" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><check/></field>
+        <field name="orderId" position="1" title="Order ID" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}">
             <hyperlink target="https://localhost:8443/ordermgr/control/orderview?orderId=${orderId}" description="${orderId}" target-type="plain" target-window="_BLANK"/>
         </field>
-        <field name="externalId" title="External ID" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${externalId}"></display></field>
-        <field name="ebayUserIdBuyer" title="Winning Bidder" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${ebayUserIdBuyer}"></display></field>
+        <field name="externalId" title="External ID" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${externalId}"></display></field>
+        <field name="ebayUserIdBuyer" title="Winning Bidder" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${ebayUserIdBuyer}"></display></field>
         <field name="dummy4" title=" " position="1"><display></display></field>
         <field name="dummy5" title=" " position="1"><display></display></field>
-        <field name="createdDate" title="Invoice Date" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${createdDate}"></display></field>
-        <field name="paymentMethodUsed" title="Payment Type" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${paymentMethodUsed}"></display></field>
+        <field name="createdDate" title="Invoice Date" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${createdDate}"></display></field>
+        <field name="paymentMethodUsed" title="Payment Type" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${paymentMethodUsed}"></display></field>
         <field name="dummy7" title=" " position="1"><display></display></field>
-        <field name="amountPaid" title="Order Total Price" position="1" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${amountPaid}"></display></field>
+        <field name="amountPaid" title="Order Total Price" position="1" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><display description="${amountPaid}"></display></field>
 
         <field name="dummy1" title=" " position="2"><display></display></field>
         <field name="dummy2" title=" " position="2"><display></display></field>
@@ -785,9 +785,9 @@
         <field name="quantity" title="Quantity" position="2"><display description="${quantity}"></display></field>
         <field name="amount" title="Amount price per item" position="2"><display description="${transactionPrice}"></display></field>
         
-        <field name="paidTime" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${paidTime}"></hidden></field>
-        <field name="shippedTime" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${shippedTime}"></hidden></field>
-        <field name="emailBuyer" use-when="${bsh:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${emailBuyer}"></hidden></field>
+        <field name="paidTime" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${paidTime}"></hidden></field>
+        <field name="shippedTime" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${shippedTime}"></hidden></field>
+        <field name="emailBuyer" use-when="${groovy:String prev=(String)previousItem.get(&quot;externalId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(externalId)));}"><hidden value="${emailBuyer}"></hidden></field>
 
         <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit button-type="button"/></field>
     </form>
diff --git a/specialpurpose/ebaystore/widget/EbayStoreForms.xml b/specialpurpose/ebaystore/widget/EbayStoreForms.xml
index 1b3cafd..600b4f4 100644
--- a/specialpurpose/ebaystore/widget/EbayStoreForms.xml
+++ b/specialpurpose/ebaystore/widget/EbayStoreForms.xml
@@ -17,7 +17,7 @@
 specific language governing permissions and limitations
 under the License.
 
-value="${bsh:billingAccount != null ? org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/>
+value="${groovy:billingAccount != null ? org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/>
 -->
 
 <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
diff --git a/specialpurpose/googlecheckout/script/org/ofbiz/googleCheckout/PrepareXMLTemplate.xml b/specialpurpose/googlecheckout/script/org/ofbiz/googleCheckout/PrepareXMLTemplate.xml
index a275e5a..6b0b440 100644
--- a/specialpurpose/googlecheckout/script/org/ofbiz/googleCheckout/PrepareXMLTemplate.xml
+++ b/specialpurpose/googlecheckout/script/org/ofbiz/googleCheckout/PrepareXMLTemplate.xml
@@ -120,7 +120,7 @@
         <call-object-method method-name="render" obj-field="xscreens">
             <field field="screenUri" type="String"/>
         </call-object-method>
-        <set field="content" value="${bsh:XMLWriter.toString()}"/>
+        <set field="content" value="${groovy:XMLWriter.toString()}"/>
     </simple-method>
 <!-- Step 3 -->
     <simple-method method-name="setupContent" short-description="" login-required="false">
@@ -159,7 +159,7 @@
         }
         return org.ofbiz.base.util.UtilMisc.toMap("buffer", buffer);
         ]]></call-bsh>
-        <set field="response" value="${bsh:buffer.toString()}"/>
+        <set field="response" value="${groovy:buffer.toString()}"/>
     </simple-method>
 <!-- Step 5 -->
     <simple-method method-name="getReDirectFromXmlDoc" short-description="" login-required="false">
diff --git a/specialpurpose/projectmgr/widget/ProjectMenus.xml b/specialpurpose/projectmgr/widget/ProjectMenus.xml
index ca5e5af..257641c 100644
--- a/specialpurpose/projectmgr/widget/ProjectMenus.xml
+++ b/specialpurpose/projectmgr/widget/ProjectMenus.xml
@@ -55,14 +55,14 @@
     <menu name="ProjectTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
         <actions>
             <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
-            <set field="hasUpdatePermission" value="${bsh:
+            <set field="hasUpdatePermission" value="${groovy:
                 result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                 org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                 &quot;resourceDescription&quot;, &quot;Project&quot;,
                 &quot;mainAction&quot;, &quot;UPDATE&quot;,
                 &quot;projectId&quot;, projectId));
                 return result.get(&quot;hasPermission&quot;); }" type="Boolean"/>
-            <set field="hasViewPermission" value="${bsh:
+            <set field="hasViewPermission" value="${groovy:
                 result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                 org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                 &quot;resourceDescription&quot;, &quot;Project&quot;,
@@ -221,7 +221,7 @@
     <menu name="ProjectButtonBar" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
         <actions>
             <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
-            <set field="hasUpdatePermission" value="${bsh:
+            <set field="hasUpdatePermission" value="${groovy:
                 result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                 org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                 &quot;resourceDescription&quot;, &quot;Project&quot;,
diff --git a/specialpurpose/projectmgr/widget/ProjectScreens.xml b/specialpurpose/projectmgr/widget/ProjectScreens.xml
index fae1562..6705db4 100644
--- a/specialpurpose/projectmgr/widget/ProjectScreens.xml
+++ b/specialpurpose/projectmgr/widget/ProjectScreens.xml
@@ -58,7 +58,7 @@
                     </condition>
                     <actions>
                         <set field="parameters.partyId" from-field="parameters.userLogin.partyId"/>
-                        <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+                        <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
                         <set field="filterByDate" from-field="nowDate"/>
                     </actions>
                     <widgets/>
diff --git a/specialpurpose/projectmgr/widget/TaskScreens.xml b/specialpurpose/projectmgr/widget/TaskScreens.xml
index 491b16f..7ad8894 100644
--- a/specialpurpose/projectmgr/widget/TaskScreens.xml
+++ b/specialpurpose/projectmgr/widget/TaskScreens.xml
@@ -273,7 +273,7 @@
                 <set field="labelTitleProperty" value="PageTitleListWorkEffortPartyAssigns"/>
                 <set field="workEffortId" from-field="parameters.workEffortId"/>
                 <entity-one entity-name="WorkEffortPartyAssignment" value-field="workEffortPartyAssignment"/>
-                <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+                <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
                 <service service-name="getProjectIdAndNameFromTask" result-map="result">
                     <field-map field-name="taskId" from-field="parameters.workEffortId"/>
                 </service>
diff --git a/specialpurpose/projectmgr/widget/TimeSheetScreens.xml b/specialpurpose/projectmgr/widget/TimeSheetScreens.xml
index a11a261..721ab18 100644
--- a/specialpurpose/projectmgr/widget/TimeSheetScreens.xml
+++ b/specialpurpose/projectmgr/widget/TimeSheetScreens.xml
@@ -57,7 +57,7 @@
             <widgets>
                 <decorator-screen name="CommonTimesheetDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                        <screenlet title="${uiLabelMap.PageTitleTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}">
+                        <screenlet title="${uiLabelMap.PageTitleTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}">
                             <section>
                                 <condition>
                                     <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/>
@@ -212,13 +212,13 @@
                             <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/>
                         </condition>
                         <widgets>
-                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.ProjectMgrWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
+                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.ProjectMgrWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
                                 navigation-form-name="WeekTimesheet">
                             <include-form name="WeekTimesheet" location="component://projectmgr/widget/forms/TimeSheetForms.xml"/>
                             </screenlet>
                         </widgets>
                         <fail-widgets>
-                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.ProjectMgrWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
+                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.ProjectMgrWeek}: ${weekNumber} ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
                                 navigation-menu-name="TimesheetBar">
                                 <include-menu name="TimesheetBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                 <include-form name="EditWeekTimesheet" location="component://projectmgr/widget/forms/TimeSheetForms.xml"/>
diff --git a/specialpurpose/projectmgr/widget/forms/ProjectForms.xml b/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
index 30bf131..cd78f99 100644
--- a/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
+++ b/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
@@ -124,7 +124,7 @@
             </entity-condition>
         </actions>
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;workEffortId&quot;);return !(prev!=null&amp;&amp;prev.equals(workEffortId));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;workEffortId&quot;);return !(prev!=null&amp;&amp;prev.equals(workEffortId));}" type="Boolean"/>
         </row-actions>
         <field name="workEffortId"><hidden/></field>
         <field name="phaseName" position="1" use-when="showPosition1"><display description="${phaseName}[${phaseId}]"/></field>
@@ -194,7 +194,7 @@
         <field name="actualCompletionDate" title="${uiLabelMap.FormFieldTitle_actualCompletionDate}"><display type="date"/></field>
         <field name="plannedHours" title="${uiLabelMap.ProjectMgrPlannedHours}"><display/></field>
         <field name="actualHours" title="${uiLabelMap.ProjectMgrActualHours}"><display/></field>
-        <field name="actualNonBilledTotalHours" title="${uiLabelMap.ProjectMgrNonBilledActualHours}"><display description="${bsh:isBillable&amp;&amp;actualNonBilledTotalHours!=void?actualNonBilledTotalHours:&quot;&quot;}"/></field>
+        <field name="actualNonBilledTotalHours" title="${uiLabelMap.ProjectMgrNonBilledActualHours}"><display description="${groovy:isBillable&amp;&amp;actualNonBilledTotalHours!=void?actualNonBilledTotalHours:&quot;&quot;}"/></field>
         <field name="createdStamp" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field>
     </form>
     <form name="EditSubProjects" list-name="projects" type="list" target="RemoveSubProject"
@@ -525,8 +525,8 @@
         <row-actions>
             <entity-one entity-name="PartyAcctgPreference" value-field="orgParty"/>
             <entity-one entity-name="Party" value-field="clientParty"/>
-            <set field="currencyUomId" value="${bsh:orgParty!=null&amp;&amp;orgParty.getString(&quot;baseCurrencyUomId&quot;)!=null?orgParty.getString(&quot;baseCurrencyUomId&quot;):&quot;&quot;}"/>
-            <set field="currencyUomId" value="${bsh:clientParty!=null&amp;&amp;clientParty.getString(&quot;preferredCurrencyUomId&quot;)!=null?clientParty.getString(&quot;preferredCurrencyUomId&quot;):currencyUomId}"/>
+            <set field="currencyUomId" value="${groovy:orgParty!=null&amp;&amp;orgParty.getString(&quot;baseCurrencyUomId&quot;)!=null?orgParty.getString(&quot;baseCurrencyUomId&quot;):&quot;&quot;}"/>
+            <set field="currencyUomId" value="${groovy:clientParty!=null&amp;&amp;clientParty.getString(&quot;preferredCurrencyUomId&quot;)!=null?clientParty.getString(&quot;preferredCurrencyUomId&quot;):currencyUomId}"/>
         </row-actions>
         <field name="projectId"><hidden/></field>
         <field name="partyName" title="${uiLabelMap.CommonName}">
diff --git a/specialpurpose/projectmgr/widget/forms/TaskForms.xml b/specialpurpose/projectmgr/widget/forms/TaskForms.xml
index feceb95..806f9f6 100644
--- a/specialpurpose/projectmgr/widget/forms/TaskForms.xml
+++ b/specialpurpose/projectmgr/widget/forms/TaskForms.xml
@@ -521,7 +521,7 @@
         </actions>
         <field name="noteId"><hidden/></field>
         <field name="workEffortId"><hidden/></field>
-        <field name="noteParty" title="${uiLabelMap.CommonBy}"><display description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, noteParty, true)} at ${bsh: org.ofbiz.base.util.UtilDateTime.timeStampToString(noteDateTime, &quot;dd-MM-yyyy HH:mm&quot;, TimeZone.getDefault(), context.get(&quot;locale&quot;))}"/></field>
+        <field name="noteParty" title="${uiLabelMap.CommonBy}"><display description="${groovy:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, noteParty, true)} at ${groovy: org.ofbiz.base.util.UtilDateTime.timeStampToString(noteDateTime, &quot;dd-MM-yyyy HH:mm&quot;, TimeZone.getDefault(), context.get(&quot;locale&quot;))}"/></field>
 
         <field name="internalNote" widget-style="buttontext" title="${uiLabelMap.ProjectMgrPrivateOrPublic}" use-when="internalNote.equals(&quot;N&quot;)">
             <hyperlink target="updateTaskNote" description="${uiLabelMap.OrderNotesPrivate}">
diff --git a/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml b/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml
index f08c454..a9e2542 100644
--- a/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml
+++ b/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml
@@ -42,7 +42,7 @@
                     <entity-order-by field-name="sequenceNum"/>
                     <entity-order-by field-name="workEffortName"/>
                 </entity-options>
-                <sub-hyperlink target="taskView" description="${bsh:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}">
+                <sub-hyperlink target="taskView" description="${groovy:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}">
                     <parameter param-name="workEffortId"/>
                     <parameter param-name="my"/>
                 </sub-hyperlink>
@@ -130,8 +130,8 @@
             <set field="complete" value="${uiLabelMap.ProjectMgrToComplete}"/>
         </actions>
         <row-actions>
-            <set field="actualHours" value="${bsh:org.ofbiz.project.Various.calculateActualHours(delegator, timesheetId)}"/>
-            <set field="completeLink" value="${bsh:&quot;TIMESHEET_IN_PROCESS&quot;.equals(statusId)?complete:&quot;&quot;}"/>
+            <set field="actualHours" value="${groovy:org.ofbiz.project.Various.calculateActualHours(delegator, timesheetId)}"/>
+            <set field="completeLink" value="${groovy:&quot;TIMESHEET_IN_PROCESS&quot;.equals(statusId)?complete:&quot;&quot;}"/>
         </row-actions>
         <field name="timesheetId" title="${uiLabelMap.WorkEffortTimesheetTimesheetId}" widget-style="buttontext">
             <hyperlink also-hidden="false" description="${timesheetId}" target="Timesheet">
diff --git a/specialpurpose/scrum/widget/MyWorkForms.xml b/specialpurpose/scrum/widget/MyWorkForms.xml
index 99e2fdd..f84936d 100644
--- a/specialpurpose/scrum/widget/MyWorkForms.xml
+++ b/specialpurpose/scrum/widget/MyWorkForms.xml
@@ -132,7 +132,7 @@
             <drop-down allow-empty="true" current-description="${result.projectId} ${product.productId} - ${result.projectName}${product.internalName} - ${result.sprintName} - ${groovy:result.backlogName.toString().substring(0,Math.min(result.backlogName.toString().length(),30))}[${result.backlogId}] - ${groovy:result.taskName.toString().substring(0,Math.min(result.taskName.toString().length(),30))}[${result.taskId}]">
                 <list-options key-name="taskId" list-name="taskListDropdown" description="${projectId}${productId} - ${projectName} ${productName} - ${sprintName} - ${groovy: if (description) description.substring(0,Math.min(description.length(),30))} [${custRequestId}] - ${groovy:taskName.substring(0,Math.min(taskName.length(),20))}[${taskId}]"/>
                 <entity-options description="${description}" entity-name="EmplLeaveType" key-field-name="leaveTypeId"/>
-                <sub-hyperlink target="taskView" description="${bsh:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}" target-window="_blank">
+                <sub-hyperlink target="taskView" description="${groovy:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}" target-window="_blank">
                     <parameter param-name="taskId" from-field="workEffortId"/>
                 </sub-hyperlink>
             </drop-down>
diff --git a/specialpurpose/scrum/widget/MyWorkScreens.xml b/specialpurpose/scrum/widget/MyWorkScreens.xml
index 97d0346..c50cd2c 100644
--- a/specialpurpose/scrum/widget/MyWorkScreens.xml
+++ b/specialpurpose/scrum/widget/MyWorkScreens.xml
@@ -120,13 +120,13 @@
                             <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/>
                         </condition>
                         <widgets>
-                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
+                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
                                 navigation-form-name="WeekTimesheet">
                                 <include-form name="WeekTimesheet" location="component://scrum/widget/MyWorkForms.xml"/>
                             </screenlet>
                         </widgets>
                         <fail-widgets>
-                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
+                            <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)}"
                                 navigation-menu-name="TimesheetBar">
                                 <include-menu name="TimesheetBar" location="component://scrum/widget/scrumMenus.xml"/>
                                 <include-form name="EditWeekTimesheet" location="component://scrum/widget/MyWorkForms.xml"/>
diff --git a/specialpurpose/scrum/widget/TaskScreens.xml b/specialpurpose/scrum/widget/TaskScreens.xml
index 03bb285..e27f879 100644
--- a/specialpurpose/scrum/widget/TaskScreens.xml
+++ b/specialpurpose/scrum/widget/TaskScreens.xml
@@ -223,7 +223,7 @@
                 <set field="tabButtonItem" value="Members"/>
                 <set field="labelTitleProperty" value="PageTitleListWorkEffortPartyAssigns"/>
                 <set field="workEffortId" from-field="parameters.taskId"/>
-                <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
+                <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonTaskDecorator" location="${parameters.mainDecoratorLocation}">
diff --git a/specialpurpose/scrum/widget/TimeSheetForms.xml b/specialpurpose/scrum/widget/TimeSheetForms.xml
index 47711d5..9e6b5ba 100644
--- a/specialpurpose/scrum/widget/TimeSheetForms.xml
+++ b/specialpurpose/scrum/widget/TimeSheetForms.xml
@@ -61,7 +61,7 @@
             <set field="inProcess" value="Set To In-progress"/>
         </actions>
         <row-actions>
-            <set field="completeLink" value="${bsh:&quot;TIMESHEET_IN_PROCESS&quot;.equals(statusId)?complete:&quot;&quot;}"/>
+            <set field="completeLink" value="${groovy:&quot;TIMESHEET_IN_PROCESS&quot;.equals(statusId)?complete:&quot;&quot;}"/>
         </row-actions>
         <field name="timesheetId" title="${uiLabelMap.WorkEffortTimesheetTimesheetId}" widget-style="buttontext">
             <hyperlink also-hidden="false" description="${timesheetId}" target="ViewTimeSheet">
@@ -145,7 +145,7 @@
             <drop-down allow-empty="true" current-description="${result.projectId} ${product.productId} - ${result.projectName}${product.internalName} - ${result.sprintName} - ${groovy:result.backlogName.toString().substring(0,Math.min(result.backlogName.toString().length(),30))}[${result.backlogId}] - ${groovy:result.taskName.toString().substring(0,Math.min(result.taskName.toString().length(),30))}[${result.taskId}]">
                 <list-options key-name="taskId" list-name="taskListDropdown" description="${projectId}${productId} - ${projectName} ${productName} - ${sprintName} - ${groovy: if (description) description.substring(0,Math.min(description.length(),30))} [${custRequestId}] - ${groovy:taskName.substring(0,Math.min(taskName.length(),20))}[${taskId}]"/>
                 <entity-options description="${description}" entity-name="EmplLeaveType" key-field-name="leaveTypeId"/>
-                <sub-hyperlink target="taskView" description="${bsh:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}" target-window="_blank">
+                <sub-hyperlink target="taskView" description="${groovy:workEffortId!=void&amp;&amp;!&quot;Totals&quot;.equals(workEffortId)?workEffortId:&quot;&quot;}" target-window="_blank">
                     <parameter param-name="taskId" from-field="workEffortId"/>
                 </sub-hyperlink>
             </drop-down>
diff --git a/specialpurpose/scrum/widget/TimeSheetScreens.xml b/specialpurpose/scrum/widget/TimeSheetScreens.xml
index 1e4046b..1995d0b 100644
--- a/specialpurpose/scrum/widget/TimeSheetScreens.xml
+++ b/specialpurpose/scrum/widget/TimeSheetScreens.xml
@@ -62,8 +62,8 @@
                 <decorator-screen name="CommonAdminDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
                         <screenlet title="${uiLabelMap.PageTitleTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonWeek}: ${weekNumber} 
-                        ${uiLabelMap.CommonFrom} ${bsh:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo} 
-                        ${bsh:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)} ${uiLabelMap.PartyParty} : ${partyNameViewMap.lastName} ${partyNameViewMap.firstName} ${partyNameViewMap.middleName} [${timesheet.partyId}]">
+                        ${uiLabelMap.CommonFrom} ${groovy:timesheet.get(&quot;fromDate&quot;).toString().substring(0,10)} ${uiLabelMap.CommonTo}
+                        ${groovy:timesheet.get(&quot;thruDate&quot;).toString().substring(0,10)} ${uiLabelMap.PartyParty} : ${partyNameViewMap.lastName} ${partyNameViewMap.firstName} ${partyNameViewMap.middleName} [${timesheet.partyId}]">
                             <section>
                                 <condition>
                                     <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/>
diff --git a/specialpurpose/scrum/widget/scrumForms.xml b/specialpurpose/scrum/widget/scrumForms.xml
index 6b8284a..63b416e 100644
--- a/specialpurpose/scrum/widget/scrumForms.xml
+++ b/specialpurpose/scrum/widget/scrumForms.xml
@@ -115,7 +115,7 @@
             </service>
             <set field="planHours" from-field="taskPlanHourOutMap.planHours"/>
             <!-- condition -->
-             <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(custRequestId)));}" type="Boolean"/>
+             <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(custRequestId)));}" type="Boolean"/>
             <!-- Get list of task for each sprint backlog -->
             <entity-and entity-name="WorkEffortPartyAssignView" list="sprintMember">
                 <field-map field-name="workEffortId" from-field="sprintId"/>
@@ -926,7 +926,7 @@
             <set field="description" from-field="custRequest.description"/>
             <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/>
             <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
         </row-actions>
         <field name="postWorkHours"><hidden value="1"/></field>
         <field name="priority"><hidden/></field>
@@ -1802,7 +1802,7 @@
     <form name="hoursNotYetBilled" type="multi" list-name="hoursNotYetBilledTasks" use-row-submit="false" paginate-target="ProductBilling" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" 
         target="updateNotBilledBacklog?productId=${productId}&amp;fromDate=${fromDate}&amp;thruDate=${thruDate}&amp;includeMeeting=${includeMeeting}&amp;VIEW_SIZE_1=${parameters.VIEW_SIZE_1}&amp;VIEW_INDEX_1=${parameters.VIEW_INDEX_1}">
         <row-actions>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return !(prev!=null&amp;&amp;prev.equals(custRequestId));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return !(prev!=null&amp;&amp;prev.equals(custRequestId));}" type="Boolean"/>
             <entity-one entity-name="WorkEffort" value-field="project">
                 <field-map field-name="workEffortId" from-field="projectId"/>
             </entity-one>
@@ -2013,7 +2013,7 @@
             <set field="description" from-field="custRequest.description"/>
             <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/>
             <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
         </row-actions>
         <field name="custSequenceNum" position="2" title="${uiLabelMap.ScrumSeq}"><display/></field>
         <field name="custRequestId" position="2" title="${uiLabelMap.ScrumProductBacklogItem}">
@@ -2046,7 +2046,7 @@
             <entity-one entity-name="CustRequest" value-field="custRequest"/>
             <set field="description" from-field="custRequest.description"/>
             <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(productId)));}" type="Boolean"/>
         </row-actions>
         <field name="productId" title="${uiLabelMap.PageTitleProduct}" position="1" use-when="showPosition1">
             <display-entity entity-name="Product" description="${internalName} " key-field-name="productId">
@@ -3003,7 +3003,7 @@
             </service>
             <set field="planHours" from-field="taskPlanHourOutMap.planHours"/>
             <!-- condition -->
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(custRequestId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(custRequestId)));}" type="Boolean"/>
             <!-- Get list of task for each sprint backlog -->
             <entity-and entity-name="WorkEffortPartyAssignView" list="assignedTos">
                 <field-map field-name="workEffortId" from-field="workEffortId"/>
@@ -3156,7 +3156,7 @@
             <set field="description" from-field="custRequest.description"/>
             <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/>
             <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
-            <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
+            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
         </row-actions>
         <!--<field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1}" title="${uiLabelMap.ScrumCategory}">
             <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/>
diff --git a/specialpurpose/scrum/widget/scrumMenus.xml b/specialpurpose/scrum/widget/scrumMenus.xml
index 5af26b8..a32a6a5 100644
--- a/specialpurpose/scrum/widget/scrumMenus.xml
+++ b/specialpurpose/scrum/widget/scrumMenus.xml
@@ -253,7 +253,7 @@
     <menu name="ProductTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
         <actions>
           <set field="productId" from-field="parameters.productId"/>
-            <set field="hasUpdatePermission" value="${bsh:
+            <set field="hasUpdatePermission" value="${groovy:
                 result = dispatcher.runSync(&quot;scrumPermissionCheck&quot;,
                 org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                 &quot;resourceDescription&quot;, &quot;PRODUCT&quot;,
@@ -633,7 +633,7 @@
           menu-container-style="button-bar button-style-2">
           <actions>
             <set field="productId" from-field="parameters.productId"/>
-            <set field="hasViewPermission" value="${bsh:
+            <set field="hasViewPermission" value="${groovy:
                 result = dispatcher.runSync(&quot;scrumPermissionCheck&quot;,
                 org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                 &quot;resourceDescription&quot;, &quot;PRODUCT&quot;,