Re: svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

David E Jones

Hans,

It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you...

Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document:

http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview

The upgrade path needs to be something more than a manual upgrade like this.

What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their
thoughts and opinions.

For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the
entity? And even if we need or want it on the entity, why does it have to be part of the primary key?

-David


[hidden email] wrote:

> Author: hansbak
> Date: Mon Aug 25 07:54:27 2008
> New Revision: 688741
>
> URL: http://svn.apache.org/viewvc?rev=688741&view=rev
> Log:
> OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system,  and import the export file
>
> Modified:
>     ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
>     ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
>
> Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
> +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008
> @@ -291,6 +291,9 @@
>      <!-- PartyRate -->
>      <form name="AddPartyRate" type="single" target="createPartyRate"
>          focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
> +        <actions>
> +            <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> +        </actions>
>          <auto-fields-service service-name="createPartyRate"/>
>          <field name="partyId"><hidden/></field>
>          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
> @@ -306,6 +309,14 @@
>                  <option key="Y"/>
>              </drop-down>
>          </field>
> +        <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
> +            <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
> +                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
> +                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
> +                    <entity-order-by field-name="abbreviation"/>
> +                </entity-options>
> +            </drop-down>
> +        </field>
>          <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
>      </form>
>  
> @@ -322,9 +333,10 @@
>          <field name="partyId"><hidden/></field>
>          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
>          <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
> +        <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
>          <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
>          <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
> -            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;fromDate=${fromDate}"
> +            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;currencyUomId=${currencyUomId}&amp;fromDate=${fromDate}"
>                  description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
>          </field>
>      </form>
>
> Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
> +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008
> @@ -46,12 +46,14 @@
>              title="Party Rate Entity">
>        <field name="partyId" type="id-ne"></field>
>        <field name="rateTypeId" type="id-ne"></field>
> +      <field name="currencyUomId" type="id-ne"/>
>        <field name="defaultRate" type="indicator"></field>
>        <field name="fromDate" type="date-time"></field>
>        <field name="thruDate" type="date-time"></field>
>        <field name="rate" type="currency-amount"></field>
>        <prim-key field="partyId"/>
>        <prim-key field="rateTypeId"/>
> +      <prim-key field="currencyUomId"/>
>        <prim-key field="fromDate"/>
>        <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
>          <key-map field-name="partyId"/>
> @@ -59,6 +61,9 @@
>        <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
>          <key-map field-name="rateTypeId"/>
>        </relation>
> +      <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
> +        <key-map field-name="currencyUomId" rel-field-name="uomId"/>
> +      </relation>
>      </entity>
>      <entity entity-name="RateType"
>              package-name="org.ofbiz.workeffort.timesheet"
>
> Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
> +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008
> @@ -244,10 +244,12 @@
>          
>          <!-- no rateAmount yet, try PartyRate -->
>          <if-empty field="rateAmount">
> +            <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
>              <entity-condition entity-name="PartyRate" list-name="partyRateList">
>                  <condition-list combine="and">
>                      <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
>                      <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
> +                    <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/>
>                  </condition-list>
>                  <order-by field-name="-fromDate"/>
>              </entity-condition>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

hans_bakker
Hi David,
yes you are right i missed that part about migration. That we should
give migration info, sure, i completely agree with that. I was looking
for a migration page and could not find any.

So i created a start of such a page:
http://docs.ofbiz.org/display/OFBTECH/Upgrading+OFBiz+from+earlier
+revisions

It is sometimes extremely difficult to extract this kind of info from
the log file so i tried to get that from the last 6 months or so.

I also added the migration info to the change i did.

please see my comment about the currency code in the partyRate table in
the ofbiz issue I created almost a week ago:
https://issues.apache.org/jira/browse/OFBIZ-1927

regards,
Hans

On Mon, 2008-08-25 at 18:06 -0600, David E. Jones wrote:

> Hans,
>
> It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you...
>
> Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document:
>
> http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview
>
> The upgrade path needs to be something more than a manual upgrade like this.
>
> What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their
> thoughts and opinions.
>
> For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the
> entity? And even if we need or want it on the entity, why does it have to be part of the primary key?
>
> -David
>
>
> [hidden email] wrote:
> > Author: hansbak
> > Date: Mon Aug 25 07:54:27 2008
> > New Revision: 688741
> >
> > URL: http://svn.apache.org/viewvc?rev=688741&view=rev
> > Log:
> > OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system,  and import the export file
> >
> > Modified:
> >     ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> >     ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> >     ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> >
> > Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
> > +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008
> > @@ -291,6 +291,9 @@
> >      <!-- PartyRate -->
> >      <form name="AddPartyRate" type="single" target="createPartyRate"
> >          focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
> > +        <actions>
> > +            <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> > +        </actions>
> >          <auto-fields-service service-name="createPartyRate"/>
> >          <field name="partyId"><hidden/></field>
> >          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
> > @@ -306,6 +309,14 @@
> >                  <option key="Y"/>
> >              </drop-down>
> >          </field>
> > +        <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
> > +            <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
> > +                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
> > +                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
> > +                    <entity-order-by field-name="abbreviation"/>
> > +                </entity-options>
> > +            </drop-down>
> > +        </field>
> >          <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
> >      </form>
> >  
> > @@ -322,9 +333,10 @@
> >          <field name="partyId"><hidden/></field>
> >          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
> >          <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
> > +        <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
> >          <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
> >          <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
> > -            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;fromDate=${fromDate}"
> > +            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;currencyUomId=${currencyUomId}&amp;fromDate=${fromDate}"
> >                  description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
> >          </field>
> >      </form>
> >
> > Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
> > +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008
> > @@ -46,12 +46,14 @@
> >              title="Party Rate Entity">
> >        <field name="partyId" type="id-ne"></field>
> >        <field name="rateTypeId" type="id-ne"></field>
> > +      <field name="currencyUomId" type="id-ne"/>
> >        <field name="defaultRate" type="indicator"></field>
> >        <field name="fromDate" type="date-time"></field>
> >        <field name="thruDate" type="date-time"></field>
> >        <field name="rate" type="currency-amount"></field>
> >        <prim-key field="partyId"/>
> >        <prim-key field="rateTypeId"/>
> > +      <prim-key field="currencyUomId"/>
> >        <prim-key field="fromDate"/>
> >        <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
> >          <key-map field-name="partyId"/>
> > @@ -59,6 +61,9 @@
> >        <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
> >          <key-map field-name="rateTypeId"/>
> >        </relation>
> > +      <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
> > +        <key-map field-name="currencyUomId" rel-field-name="uomId"/>
> > +      </relation>
> >      </entity>
> >      <entity entity-name="RateType"
> >              package-name="org.ofbiz.workeffort.timesheet"
> >
> > Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
> > +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008
> > @@ -244,10 +244,12 @@
> >          
> >          <!-- no rateAmount yet, try PartyRate -->
> >          <if-empty field="rateAmount">
> > +            <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> >              <entity-condition entity-name="PartyRate" list-name="partyRateList">
> >                  <condition-list combine="and">
> >                      <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
> >                      <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
> > +                    <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/>
> >                  </condition-list>
> >                  <order-by field-name="-fromDate"/>
> >              </entity-condition>
> >
> >