Ashish,

This is the very sort of data model change that is problematic and frustrating, and that should NEVER be done without a proposal and review.

Without having done that in advance, let's do it now.

I think I understand the point of the WorkEffortStatus.reason field, so I won't ask you to write up your thoughts behind that.

I have NO idea what the point of the WorkEffort.statusChangeNote field is, so please do share your thoughts on what that field will be used for and why it is on the WorkEffort entity (as opposed to, say, the WorkEffortStatus entity).

For all,

As I mentioned before (yesterday was it?), I'm considering more and more to propose a policy for the project that there be NO data model changes allowed without a proposal on the mailing list and a 1 week cool down period. The data model is too much of a critical foundation for the applications and can easily make or break a system (most messy systems are so because of their messy data model).

There are too many changes that are not well enough thought out that just get committed without reviewing for redundancy (ie stuff that already exists that will work for a requirement), total lack of requirements or attempt to design around them (how can one decide on how to design a data model without discussion of the requirement?), or lack of consideration of the future and bigger picture (ie I have this requirement, but what other things might others want to do, and how can we make it flexible to avoid changes to the data model just in case?).

I'm not saying that we should all expect ourselves to be perfect, in fact quite the opposite. I'm saying let's make a mandatory community review for ALL data model changes BECAUSE being human we simply cannot expect ourselves to be perfect.

-David


On Jun 27, 2008, at 5:30 AM, Ashish Vijaywargiya wrote:

Based on David's suggestion for not introducing the WorkEffortHistory
entity.
Instead we introduced new field "statusChangeNote" in WorkEffort entity and
maintained its history in "reason" field of WorkEffortStatus entity.
Thanks David.

--
Ashish

On Fri, Jun 27, 2008 at 7:26 AM, <[EMAIL PROTECTED]> wrote:

Author: ashish
Date: Fri Jun 27 04:26:45 2008
New Revision: 672246

URL: http://svn.apache.org/viewvc?rev=672246&view=rev
Log:
Introducing new field "statusChangeNote" in the WorkEffortEntity.
Maintaining its value in the WorkEffortStatus table as well.
Sometime it happens that we would like like to save the status change
reason of keeping the Project (aka WorkEffort) into either HOLD or CANCEL
state.

Thanks Ratnesh for discussing this with me.


Modified:
  ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml

ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/ workeffort/WorkEffortSimpleServices.xml
  ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml

Modified: ofbiz/trunk/applications/workeffort/entitydef/ entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=672246&r1=672245&r2=672246&view=diff

= = = = = = = = = =====================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
(original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Fri Jun
27 04:26:45 2008
@@ -245,6 +245,7 @@
     <field name="showAsEnumId" type="id"></field>
     <field name="sendNotificationEmail" type="indicator"></field>
     <field name="description" type="description"></field>
+      <field name="statusChangeNote" type="description"></field>
     <field name="locationDesc" type="description"></field>
     <field name="estimatedStartDate" type="date-time"></field>
     <field name="estimatedCompletionDate" type="date-time"></field>
@@ -800,6 +801,7 @@
     <field name="statusId" type="id-ne"></field>
     <field name="statusDatetime" type="date-time"></field>
     <field name="setByUserLogin" type="id-vlong"></field>
+      <field name="reason" type="description"></field>
     <prim-key field="workEffortId"/>
     <prim-key field="statusId"/>
     <prim-key field="statusDatetime"/>

Modified:
ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/ workeffort/WorkEffortSimpleServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml?rev=672246&r1=672245&r2=672246&view=diff

= = = = = = = = = =====================================================================
---
ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/ workeffort/WorkEffortSimpleServices.xml
(original)
+++
ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/ workeffort/WorkEffortSimpleServices.xml
Fri Jun 27 04:26:45 2008
@@ -115,6 +115,7 @@
               <set from-field="lookedUpValue.workEffortId"
field="newWorkEffortStatus.workEffortId"/>
               <set from-field="parameters.currentStatusId"
field="newWorkEffortStatus.statusId"/>
               <set from-field="nowTimestamp"
field="newWorkEffortStatus.statusDatetime"/>
+                <set from-field="lookedUpValue.statusChangeNote"
field="newWorkEffortStatus.reason"/>
               <set from-field="userLogin.userLoginId"
field="newWorkEffortStatus.setByUserLogin"/>
               <create-value value-name="newWorkEffortStatus"/>
           </then>

Modified: ofbiz/trunk/applications/workeffort/widget/ WorkEffortForms.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml?rev=672246&r1=672245&r2=672246&view=diff

= = = = = = = = = =====================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml
(original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml Fri Jun
27 04:26:45 2008
@@ -91,6 +91,8 @@
       </field>
       <field name="percentComplete" position="2"/>

+        <field name="statusChangeNote"
use-when="workEffort==null"><ignored/></field>
+
       <field name="priority" position="1">
           <drop-down allow-empty="true">
               <option key="1" description="1
(${uiLabelMap.WorkEffortPriorityHigh})"/><option key="2"/><option
key="3"/><option key="4"/><option key="5"/>
@@ -164,6 +166,7 @@
           <sort-field name="workEffortPurposeTypeId"/>
           <sort-field name="currentStatusId"/>
           <sort-field name="percentComplete"/>
+            <sort-field name="statusChangeNote"/>
           <sort-field name="priority"/>
           <sort-field name="scopeEnumId"/>
           <sort-field name="estimatedStartDate"/>




Reply via email to