You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/03/26 22:56:30 UTC

svn commit: r1305581 [34/36] - in /ofbiz/branches/20111205EmailHandling: ./ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/finaccount/ applications/ac...

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/entitydef/entitymodel.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/entitydef/entitymodel.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/entitydef/entitymodel.xml Mon Mar 26 20:56:02 2012
@@ -191,6 +191,7 @@ under the License.
     <alias entity-alias="WEP" field="workEffortId" name="projectId"/>
     <alias entity-alias="WEP" field="workEffortName" name="projectName"/>
     <alias entity-alias="WEPH" field="workEffortId" name="phaseId"/>
+    <alias entity-alias="WEPH" field="workEffortTypeId" name="phaseTypeId"/>
     <alias entity-alias="WEPH" field="sequenceNum" name="phaseSeqNum"/>
     <alias entity-alias="WEPH" field="workEffortName" name="phaseName"/>
     <view-link entity-alias="WEP" rel-entity-alias="WEPH">
@@ -208,6 +209,9 @@ under the License.
     <relation type="many" rel-entity-name="WorkEffortPartyAssignment">
       <key-map field-name="workEffortId"/>
     </relation>
+    <entity-condition>
+      <condition-expr field-name="workEffortTypeId" entity-alias="WEPH" value="PHASE"/>
+    </entity-condition>
   </view-entity>
 
   <view-entity entity-name="ProjectPhaseTaskAndTimeEntryTimeSheet"
@@ -283,14 +287,13 @@ under the License.
     </view-link>
   </view-entity>
 
-  <view-entity entity-name="ProjectPhaseTaskSummaryView"
+  <view-entity entity-name="ProjectPhaseTaskSklSumView"
     package-name="org.ofbiz.specialpurpose.project">
     <description>Retrieve actual, estimated start and end dates, priority, planned hours</description>
 
     <member-entity entity-alias="WEP" entity-name="WorkEffort"/><!--project -->
     <member-entity entity-alias="WEPH" entity-name="WorkEffort"/><!-- phase -->
     <member-entity entity-alias="WET" entity-name="WorkEffort"/><!-- task -->
-    <member-entity entity-alias="TE" entity-name="TimeEntry"/><!-- to get actualStartDate from declared times-->
     <member-entity entity-alias="SKL" entity-name="WorkEffortSkillStandard"/> <!-- for planned hours -->
 
     <alias entity-alias="WEP" field="workEffortId" name="projectId" group-by="true"/>
@@ -300,28 +303,49 @@ under the License.
     <!-- get minimum for start dates -->
     <alias entity-alias="WET" name="estimatedStartDate" function="min"/>
     <alias entity-alias="WET" name="actualStartDate" function="min"/>
-    <alias entity-alias="TE" field="fromDate" name="actualEntryStartDate" function="min"/>
 
     <!-- and maximum for completion dates -->
     <alias entity-alias="WET" name="estimatedCompletionDate" function="max"/>
     <alias entity-alias="WET" name="actualCompletionDate" function="max"/>
-    <alias entity-alias="TE" field="fromDate" name="actualEntryCompletionDate" function="max"/>
 
     <!-- get the sum of planned and actual hours -->
     <alias entity-alias="SKL" field="estimatedDuration" name="plannedHours" function="sum"/>
     <!-- get the minimum priority -->
     <alias entity-alias="WET" field="priority" name="priority" function="min"/>
 
-    <view-link entity-alias="WEP" rel-entity-alias="WEPH" rel-optional="true">
+    <view-link entity-alias="WEP" rel-entity-alias="WEPH">
       <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
     </view-link>
-    <view-link entity-alias="WEPH" rel-entity-alias="WET" rel-optional="true">
+    <view-link entity-alias="WEPH" rel-entity-alias="WET">
       <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
     </view-link>
     <view-link entity-alias="WET" rel-entity-alias="SKL" rel-optional="true">
       <key-map field-name="workEffortId" />
     </view-link>
-    <view-link entity-alias="WET" rel-entity-alias="TE" rel-optional="true">
+  </view-entity>
+
+  <view-entity entity-name="ProjectPhaseTaskActualEntrySumView"
+    package-name="org.ofbiz.specialpurpose.project">
+    <description>Retrieve actual, start and end dates from TimeEntries associated</description>
+
+    <member-entity entity-alias="WEP" entity-name="WorkEffort"/><!--project -->
+    <member-entity entity-alias="WEPH" entity-name="WorkEffort"/><!-- phase -->
+    <member-entity entity-alias="WET" entity-name="WorkEffort"/><!-- task -->
+    <member-entity entity-alias="TE" entity-name="TimeEntry"/><!-- to get actualStartDate from declared times-->
+
+    <alias entity-alias="WEP" field="workEffortId" name="projectId" group-by="true"/>
+    <alias entity-alias="WEPH" field="workEffortId" name="phaseId" group-by="true"/>
+    <alias entity-alias="WET" field="workEffortId" name="taskId" group-by="true"/>
+
+    <alias entity-alias="TE" field="fromDate" name="actualEntryStartDate" function="min"/>
+
+    <view-link entity-alias="WEP" rel-entity-alias="WEPH">
+      <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
+    </view-link>
+    <view-link entity-alias="WEPH" rel-entity-alias="WET">
+      <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
+    </view-link>
+    <view-link entity-alias="WET" rel-entity-alias="TE">
       <key-map field-name="workEffortId" />
     </view-link>
   </view-entity>
@@ -342,17 +366,18 @@ under the License.
     <alias entity-alias="WET" field="workEffortId" name="taskId" group-by="true"/>
     <alias entity-alias="TE" name="timeEntryId" group-by="true"/>
     <alias entity-alias="TE" name="hours" group-by="true"/>
+    <alias entity-alias="TE" name="hoursPartyId" field="partyId" group-by="true"/>
     <alias entity-alias="TE" name="invoiceId" group-by="true"/>
     <alias entity-alias="PR" name="partyId" group-by="true"/>
     <alias entity-alias="PR" name="percentageUsed" function="max"/>
 
-    <view-link entity-alias="WEP" rel-entity-alias="WEPH" rel-optional="true">
+    <view-link entity-alias="WEP" rel-entity-alias="WEPH">
       <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
     </view-link>
-    <view-link entity-alias="WEPH" rel-entity-alias="WET" rel-optional="true">
+    <view-link entity-alias="WEPH" rel-entity-alias="WET">
       <key-map field-name="workEffortId" rel-field-name="workEffortParentId"/>
     </view-link>
-    <view-link entity-alias="WET" rel-entity-alias="TE" rel-optional="true">
+    <view-link entity-alias="WET" rel-entity-alias="TE">
       <key-map field-name="workEffortId" />
     </view-link>
     <view-link entity-alias="TE" rel-entity-alias="TS" rel-optional="true">
@@ -360,9 +385,9 @@ under the License.
     </view-link>
     <view-link entity-alias="TE" rel-entity-alias="PR" rel-optional="true">
       <key-map field-name="rateTypeId"/>
+      <key-map field-name="partyId"/>
       <entity-condition>
         <condition-list>
-            <condition-expr entity-alias="TS" field-name="partyId" rel-entity-alias="PR" rel-field-name="partyId"/>
             <condition-expr entity-alias="PR" field-name="fromDate" operator="less-equals" rel-entity-alias="TE" rel-field-name="fromDate"/>
             <condition-list combine="or">
                 <condition-expr entity-alias="PR" field-name="thruDate" operator="equals" value=""/>
@@ -381,6 +406,7 @@ under the License.
     <alias entity-alias="PPAH" name="projectId" group-by="true"/>
     <alias entity-alias="PPAH" name="phaseId" group-by="true"/>
     <alias entity-alias="PPAH" name="taskId" group-by="true"/>
+    <alias entity-alias="PPAH" name="hoursPartyId" group-by="true"/>
     <alias entity-alias="PPAH" name="invoiceId" group-by="true"/>
     <alias entity-alias="PPAH" name="totalOriginalHours" field="hours" function="sum"/>
     <alias name="totalRatedHours" function="sum">
@@ -406,7 +432,8 @@ under the License.
     <alias entity-alias="PPAH" name="projectId" group-by="true"/>
     <alias entity-alias="PPAH" name="phaseId" group-by="true"/>
     <alias entity-alias="PPAH" name="taskId" group-by="true"/>
-        <alias entity-alias="PPAH" name="invoiceId" group-by="true"/>
+    <alias entity-alias="PPAH" name="hoursPartyId" group-by="true"/>
+    <alias entity-alias="PPAH" name="invoiceId" group-by="true"/>
     <alias entity-alias="PPAH" name="totalOriginalHours" field="hours" function="sum"/>
 
     <entity-condition>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/ofbiz-component.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/ofbiz-component.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/ofbiz-component.xml Mon Mar 26 20:56:02 2012
@@ -33,6 +33,7 @@ under the License.
     <entity-resource type="data" reader-name="seed" loader="main" location="data/ProjectMgrPortletData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" location="data/ProjectMgrDemoData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" location="data/ProjectMgrDemoPasswordData.xml"/>
+    <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
 
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
     <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Mon Mar 26 20:56:02 2012
@@ -329,7 +329,6 @@
 
                 2. call a recursive java function to set all the dependant tasks.
         -->
-
         <field-to-result field="parameters.projectId" result-name="projectId"/>
 
         <!-- find a starting point being either the estimated start date of a project or the earliest actual start date. -->
@@ -426,7 +425,6 @@
             </then>
         </while>
 
-
         <!-- create the tasklist -->
         <entity-one entity-name="WorkEffort" value-field="project">
             <field-map field-name="workEffortId" from-field="parameters.projectId"/>
@@ -720,32 +718,6 @@
             <set field="highInfo.emailAddress" from-field="emailAddress.infoString"/>
         </if-not-empty>
 
-        <!-- translate squenceId back into statusId -->
-        <entity-and entity-name="StatusItem" list="statusses">
-            <field-map field-name="sequenceId" from-field="highInfo.sequenceId"/>
-            <field-map field-name="statusTypeId" value="PROJECT_TASK_STATUS"/>
-        </entity-and>
-        <first-from-list entry="status" list="statusses"/>
-        <set field="highInfo.currentStatusId" from-field="status.statusId"/>
-
-        <!-- make sure these statusvalues do not influence the total status if there are other active ones -->
-        <if>
-            <condition>
-                <and>
-                    <or>
-                        <if-compare field="highInfo.currentStatusId" value="PTS_COMPLETED" operator="equals"/>
-                        <if-compare field="highInfo.currentStatusId" value="PTS_ON_HOLD" operator="equals"/>
-                        <if-compare field="highInfo.currentStatusId" value="PTS_CANCELLED" operator="equals"/>
-                    </or>
-                    <not>
-                        <if-empty field="allTaskStatus"/>
-                    </not>
-                </and>
-            </condition>
-            <then>
-                <set field="highInfo.currentStatusId" value="PTS_CREATED_IP"/>
-            </then>
-        </if>
         <!-- closed overrules everything -->
         <if-compare field="project.currentStatusId" value="PRJ_CLOSED" operator="equals">
             <set field="highInfo.currentStatusId" value="PRJ_CLOSED"/>
@@ -788,33 +760,6 @@
             <!-- merge estimated and actual dates -->
             <call-simple-method method-name="createDates"/>
 
-            <!-- translate sequenceId back into statusId -->
-            <entity-and entity-name="StatusItem" list="statusses">
-                <field-map field-name="sequenceId" from-field="highInfo.sequenceId"/>
-                <field-map field-name="statusTypeId" value="PROJECT_TASK_STATUS"/>
-            </entity-and>
-            <first-from-list entry="status" list="statusses"/>
-            <clear-field field="highInfo.sequenceId"/>
-            <set field="highInfo.currentStatusId" from-field="status.statusId"/>
-
-            <!-- however the status 'completed' can only be 'completed' when all related tasks are completed -->
-            <if>
-                <condition>
-                    <and>
-                        <or>
-                            <if-compare field="highInfo.currentStatusId" value="PTS_COMPLETED" operator="equals"/>
-                            <if-compare field="highInfo.currentStatusId" value="PTS_ON_HOLD" operator="equals"/>
-                        </or>
-                        <not>
-                            <if-empty field="allTaskStatus"/>
-                        </not>
-                    </and>
-                </condition>
-                <then>
-                    <set field="highInfo.currentStatusId" value="PTS_CREATED_IP"/>
-                </then>
-            </if>
-
             <field-to-list field="highInfo" list="phaseList"/>
         </iterate>
         </if-not-empty>
@@ -839,11 +784,10 @@
             <iterate entry="lowInfo" list="tasks">
                 <set field="highInfo.phaseName" from-field="lowInfo.phaseName"/>
                 <set field="highInfo.phaseSeqNum" from-field="lowInfo.phaseSeqNum"/>
+                <set field="highInfo.taskId" from-field="lowInfo.workEffortId"/>
                 <call-simple-method method-name="combineInfo"/>
                 <clear-field field="highInfo.sequenceId"/>
-                <set field="highInfo.currentStatusId" from-field="lowInfo.currentStatusId"/>
                 <call-simple-method method-name="createDates"/>
-                <call-simple-method method-name="getHours" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/>
                 <set field="highInfo.workEffortId" from-field="lowInfo.workEffortId"/>
                 <set field="highInfo.workEffortName" from-field="lowInfo.workEffortName"/>
                 <set field="highInfo.sequenceNum" from-field="lowInfo.sequenceNum"/>
@@ -915,7 +859,6 @@
                 <call-simple-method method-name="getHours" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/>
                 <set field="projectParty.plannedHours" from-field="highInfo.plannedHours" type="Double"/>
                 <set field="projectParty.actualHours" from-field="highInfo.actualHours" type="Double"/>
-
             </iterate>
             <if-not-empty field="projectParty">
                 <field-to-list field="projectParty" list="projectParties"/>
@@ -976,7 +919,6 @@
                 <set field="taskParty.plannedHours" from-field="highInfo.plannedHours" type="Double"/>
                 <set field="taskParty.actualHours" from-field="highInfo.actualHours" type="Double"/>
                 <set field="taskParty.originalActualHours" from-field="highInfo.originalActualHours" type="Double"/>
-
             </iterate>
             <if-not-empty field="taskParty">
                 <field-to-list field="taskParty" list="taskParties"/>
@@ -997,6 +939,22 @@
          IN_PROGRESS if it has at least one resource and at least a time entry
          ASSIGNED if it has at least one resource but no time entry associated
          -->
+        <!-- if lowlevel type equals TASK then get create the status first -->
+        <if-compare field="lowInfo.workEffortTypeId" value="TASK" operator="equals">
+            <set field="highInfo.currentStatusId" from-field="lowInfo.currentStatusId"/>
+            <if-compare field="lowInfo.currentStatusId" value="PTS_CREATED" operator="equals">
+                <get-related value-field="lowInfo" relation-name="WorkEffortPartyAssignment" list="assignsAll"/>
+                <filter-list-by-date list="assignsAll" to-list="assigns"/>
+                <if-not-empty field="assigns">
+                    <set field="highInfo.currentStatusId" value="PTS_CREATED_AS"/><!-- task is ASSIGNED -->
+                </if-not-empty>
+                <get-related value-field="lowInfo" relation-name="TimeEntry" list="entries"/>
+                <if-not-empty field="entries">
+                    <set field="highInfo.currentStatusId" value="PTS_CREATED_IP"/><!-- task is IN_PROGRESS -->
+                </if-not-empty>
+            </if-compare>
+            <return/>
+        </if-compare>
         <entity-count count-field="tasksCount" entity-name="ProjectPhaseTaskAssignmentView">
             <condition-list>
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
@@ -1072,7 +1030,7 @@
     </simple-method>
 
     <simple-method method-name="combineDatesAndPlannedHoursInfo" short-description="combine lower level start end dates and planned hours for a project, phase or task">
-        <entity-condition  entity-name="ProjectPhaseTaskSummaryView" list="summaryInfos">
+        <entity-condition  entity-name="ProjectPhaseTaskSklSumView" list="summaryInfos">
             <condition-list>
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
                 <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
@@ -1080,15 +1038,14 @@
             </condition-list>
             <select-field field-name="projectId"/>
             <select-field field-name="estimatedStartDate"/>
-            <select-field field-name="actualEntryStartDate"/>
             <select-field field-name="actualStartDate"/>
             <select-field field-name="estimatedCompletionDate"/>
             <select-field field-name="actualCompletionDate"/>
-            <select-field field-name="actualEntryCompletionDate"/>
             <select-field field-name="plannedHours"/>
             <select-field field-name="priority"/>
         </entity-condition>
 
+        <!-- Now used TimeEntries to update (or not) actual start and end Date -->
         <first-from-list entry="summaryInfo" list="summaryInfos"/>
         <set field="highInfo.estimatedStartDate" from-field="summaryInfo.estimatedStartDate"/>
         <set field="highInfo.estimatedCompletionDate" from-field="summaryInfo.estimatedCompletionDate"/>
@@ -1096,35 +1053,32 @@
         <set field="highInfo.actualCompletionDate" from-field="summaryInfo.actualCompletionDate"/>
         <set field="highInfo.priority" from-field="summaryInfo.priority"/>
         <set field="highInfo.plannedHours" from-field="summaryInfo.plannedHours"/>
-        <!-- update actual start date by the min date form sub tasks associated entries 
+        <!-- <log level="info" message="projectId=${highInfo.projectId} phaseId=${highInfo.phaseId} taskId=${highInfo.taskId} highInfo.plannedHours=${highInfo.plannedHours}"/>-->
+        <!-- update actual start date by the min date form sub tasks associated TimeEntries 
         (if before actualStartDate field) -->
-        <if-not-empty field="summaryInfo.actualEntryStartDate">
+        <entity-condition  entity-name="ProjectPhaseTaskActualEntrySumView" list="summaryEntriesInfos">
+            <condition-list>
+                <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
+                <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
+                <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/>
+            </condition-list>
+            <select-field field-name="actualEntryStartDate"/>
+        </entity-condition>
+        <first-from-list entry="timeEntriesInfo" list="summaryEntriesInfos"/>
+        <if-not-empty field="timeEntriesInfo">
+          <if-not-empty field="timeEntriesInfo.actualEntryStartDate">
             <if>
                 <condition>
                     <or>
                         <if-empty field="highInfo.actualStartDate"/>
-                        <if-compare-field field="highInfo.actualStartDate" operator="greater" type="Timestamp" to-field="summaryInfo.actualEntryStartDate"/>
+                        <if-compare-field field="highInfo.actualStartDate" operator="greater" type="Timestamp" to-field="timeEntriesInfo.actualEntryStartDate"/>
                     </or>
                 </condition>
                 <then>
-                    <set field="highInfo.actualStartDate" from-field="summaryInfo.actualEntryStartDate"/>
-                </then>
-            </if>
-        </if-not-empty>
-        <!-- update actual completion date by the max date form sub tasks associated entries 
-        (if after actualCompletionDate field) -->
-        <if-not-empty field="summaryInfo.actualEntryCompletionDate">
-            <if>
-                <condition>
-                    <or>
-                        <if-empty field="highInfo.actualCompletionDate"/>
-                        <if-compare-field field="highInfo.actualCompletionDate" operator="less" type="Timestamp" to-field="summaryInfo.actualEntryCompletionDate"/>
-                    </or>
-                </condition>
-                <then>
-                    <set field="highInfo.actualCompletionDate" from-field="summaryInfo.actualEntryCompletionDate"/>
+                    <set field="highInfo.actualStartDate" from-field="timeEntriesInfo.actualEntryStartDate"/>
                 </then>
             </if>
+          </if-not-empty>
         </if-not-empty>
     </simple-method>
 
@@ -1133,6 +1087,7 @@
         <call-simple-method method-name="combineDatesAndPlannedHoursInfo"/>
         <call-simple-method method-name="combineActualHours"/>
     </simple-method>
+
     <simple-method method-name="combineActualHours" short-description="combine lower level Actual hours info.">
         <!-- 
         -to calculate actual hours : the declared number of hours in time entry should be multiplied by the 
@@ -1140,6 +1095,9 @@
          the timesheet associated to this time entry and has the same rateType as this timeEntry 
         -actualHoursOriginal is the total of hours in time entries without application of percentage declared in partyRate
          -->
+        <clear-field field="originalHours"/>
+        <clear-field field="actualHours"/>
+        <clear-field field="originalActualHours"/>
 
         <!-- I- get timeEntries for which there is no rate  (originalHours)-->
         <entity-condition list="notRatedValues" entity-name="ProjectPhaseTaskActualNotRatedHoursView">
@@ -1147,6 +1105,7 @@
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
                 <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
                 <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/>
+                <condition-expr field-name="hoursPartyId" from-field="parameters.hoursPartyId" ignore-if-empty="true"/>
             </condition-list>
             <select-field field-name="totalOriginalHours"/>
         </entity-condition>
@@ -1161,11 +1120,13 @@
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
                 <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
                 <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/>
+                <condition-expr field-name="hoursPartyId" from-field="parameters.hoursPartyId" ignore-if-empty="true"/>
             </condition-list>
             <select-field field-name="totalOriginalHours"/>
             <select-field field-name="totalRatedHours"/>
         </entity-condition>
         <first-from-list list="ratedValues" entry="ratedValue"/>
+        <!-- not used ratedValue.totalRatedHours  because not works, reason seem to be totalRatedHours is a calculated field ??? -->
         <call-object-method method-name="getDouble" obj-field="ratedValue" ret-field="actualHours">
             <string value="totalRatedHours"/>
         </call-object-method>
@@ -1201,6 +1162,7 @@
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
                 <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
                 <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/>
+                <condition-expr field-name="hoursPartyId" from-field="parameters.hoursPartyId" ignore-if-empty="true"/>
                 <condition-expr field-name="invoiceId" from-field="nullField"/>
             </condition-list>
             <select-field field-name="totalOriginalHours"/>
@@ -1213,6 +1175,7 @@
                 <condition-expr field-name="projectId" from-field="highInfo.projectId" ignore-if-empty="true"/>
                 <condition-expr field-name="phaseId" from-field="highInfo.phaseId" ignore-if-empty="true"/>
                 <condition-expr field-name="taskId" from-field="highInfo.taskId" ignore-if-empty="true"/>
+                <condition-expr field-name="hoursPartyId" from-field="parameters.hoursPartyId" ignore-if-empty="true"/>
                 <condition-expr field-name="invoiceId" from-field="nullField"/>
             </condition-list>
             <select-field field-name="totalOriginalHours"/>
@@ -1333,13 +1296,10 @@
                 </if>
             </else>
         </if-empty>
-
     </simple-method>
 
     <simple-method method-name="createDates" short-description="merge the estimated and actual dates">
-
         <!-- input/output is 'highInfo map -->
-
         <!-- create dates taking the last known one to save space on the list -->
         <if-not-empty field="highInfo.actualStartDate">
             <set field="highInfo.startDate" from-field="highInfo.actualStartDate"/>
@@ -1414,14 +1374,16 @@
             </if-empty>
         </if-not-empty>
         <!-- get role for this party in this project -->
-        <entity-and entity-name="ProjectPartyAndPhaseAndTask" list="taskRoles" filter-by-date="true">
-            <field-map field-name="partyId" from-field="parameters.partyId"/>
-            <field-map field-name="workEffortId" from-field="parameters.workEffortId"/>
-        </entity-and>
-        <first-from-list entry="taskRole" list="taskRoles"/>
-        <set field="parameters.roleTypeId" from-field="taskRole.roleTypeId"/>
-        <set field="parameters.statusId" value="PAS_ASSIGNED"/>
-        <call-simple-method method-name="assignPartyToWorkEffort" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/>
+        <if-empty field="parameters.roleTypeId">
+          <entity-and entity-name="ProjectPartyAndPhaseAndTask" list="taskRoles" filter-by-date="true">
+              <field-map field-name="partyId" from-field="parameters.partyId"/>
+              <field-map field-name="workEffortId" from-field="parameters.workEffortId"/>
+          </entity-and>
+          <first-from-list entry="taskRole" list="taskRoles"/>
+          <set field="parameters.roleTypeId" from-field="taskRole.roleTypeId"/>
+          <set field="parameters.statusId" value="PAS_ASSIGNED"/>
+          <call-simple-method method-name="assignPartyToWorkEffort" xml-resource="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml"/>
+        </if-empty>
         <call-simple-method method-name="createTimeEntry" xml-resource="component://workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml"/>
     </simple-method>
 
@@ -1543,11 +1505,11 @@
                     <create-value value-field="newAssign"/>
                 </iterate>
                 <else>
-                    <log level="info" message="No validation parties defined in this project: no validation parties added...."></log>
+                    <log level="info" message="No validation parties defined in this project: no validation parties added...."/>
                 </else>
             </if-not-empty>
             <else>
-                <log level="info" message="Not the last party who completes his task: validation parties not added...."></log>
+                <log level="info" message="Not the last party who completes his task: validation parties not added...."/>
             </else>
         </if-empty>
     </simple-method>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectSimpleEvents.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectSimpleEvents.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectSimpleEvents.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectSimpleEvents.xml Mon Mar 26 20:56:02 2012
@@ -67,20 +67,20 @@
     <simple-method method-name="acceptRequestAndConnectToTask" short-description="Accept a customer request and connect to an existing task">
         <entity-one entity-name="WorkEffort" value-field="workEffort"/>
         <if-empty field="workEffort">
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorTaskNotFound"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskNotFound"/></add-error>
         </if-empty>
         <if-compare field="workEffort.currentStatusId" value="PTS_CREATED" operator="not-equals">
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorTaskStatusWrong"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskStatusWrongNoRequestAdded"/></add-error>
         </if-compare>
         <entity-one entity-name="CustRequest" value-field="custRequest"/>
         <if-empty field="custRequest">
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorRequestNotFound"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorRequestNotFound"/></add-error>
         </if-empty>
         <if-compare field="custRequest.statusId" value="CRQ_ACCEPTED" operator="not-equals">
             <entity-one entity-name="StatusItem" value-field="status">
                 <field-map field-name="statusId" value="custRequest.statusId"/>
             </entity-one>
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorRequestStatusWrong"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorRequestStatusWrong"/></add-error>
         </if-compare>
         <check-errors/>
         <set field="updCust.statusId" value="CRQ_REVIEWED"/>
@@ -92,10 +92,10 @@
     <simple-method method-name="setTaskStatusToComplete" short-description="Set the task status to complete, if resources assigned that status will also be set to complete">
         <entity-one entity-name="WorkEffort" value-field="workEffort"/>
         <if-empty field="workEffort">
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorTaskNotFound"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskNotFound"/></add-error>
         </if-empty>
         <if-compare field="workEffort.currentStatusId" value="PTS_CREATED" operator="not-equals">
-            <add-error><fail-property resource="uiLabelMap" property="ProjectMgrErrorTaskStatusWrong"/></add-error>
+            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskStatusWrongToBeComplete"/></add-error>
         </if-compare>
         <check-errors/>
         <entity-and entity-name="WorkEffortPartyAssignment" list="assigns" filter-by-date="true">

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/CustRequestScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/CustRequestScreens.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/CustRequestScreens.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/CustRequestScreens.xml Mon Mar 26 20:56:02 2012
@@ -121,13 +121,21 @@ under the License.
                 <entity-and entity-name="CustRequestContent" list="custRequestContents" filter-by-date="true">
                     <field-map field-name="custRequestId" from-field="custRequestId"/>
                 </entity-and>
-                <entity-and entity-name="CustRequestAndContent" list="custRequestAndContents">
-                    <field-map field-name="custRequestId" from-field="custRequestId"/>
-                </entity-and>
+                <entity-condition entity-name="CustRequestAndContent" list="custRequestAndContents">
+                    <condition-list combine="and">
+                        <condition-expr field-name="custRequestId" from-field="custRequestId"/>
+                        <condition-expr field-name="fromDate" operator="less-equals" from-field="nowTimestamp"/>                        
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="greater-equals" from-field="nowTimestamp"/>
+                            <condition-expr field-name="thruDate" from-field="null"/>
+                        </condition-list>
+                    </condition-list>
+                    <order-by field-name="fromDate"/>
+                </entity-condition>
             </actions>
             <widgets>
                 <decorator-screen name="CommonRequestDecorator" location="${parameters.mainDecoratorLocation}">
-                    <decorator-section name="body">
+                    <decorator-section name="body">                        
                         <container style="lefthalf">
                             <screenlet title="${uiLabelMap.OrderRequestInformation}">
                                 <include-form name="requestInfo" location="component://order/widget/ordermgr/CustRequestForms.xml"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/forms/TaskForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/forms/TaskForms.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/forms/TaskForms.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/projectmgr/widget/forms/TaskForms.xml Mon Mar 26 20:56:02 2012
@@ -199,7 +199,7 @@
                 <field-map field-name="hoursPartyId" from-field="partyId"/>
             </service>
             <set field="plannedHours" from-field="result.taskInfo.plannedHours"/>
-            <set field="actualHours" from-field="result.taskInfo.actualTotalHours"/>
+            <set field="actualHours" from-field="result.taskInfo.actualHours"/>
             <set field="currentStatusId" from-field="result.taskInfo.currentStatusId"/>
         </row-actions>
         <field name="workEffortId" title="${uiLabelMap.ProjectMgrTaskId}" widget-style="buttontext">

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/build.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/build.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/build.xml Mon Mar 26 20:56:02 2012
@@ -1,5 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <project name="OFBiz - scrum Component" default="jar" basedir=".">
     <import file="../../common.xml"/>
 
@@ -31,76 +48,4 @@
         <fileset dir="../../framework/webapp/lib" includes="*.jar"/>
         <fileset dir="../../framework/webapp/build/lib" includes="*.jar"/>
     </path>
-
-    <!-- ================================================================= -->
-    <!-- Targets to create  patch files                                    -->
-    <!-- ================================================================= -->
-
-    <target name="create-ofbiz-patches" description="Creates patch for framework, application, specialpurpose components">
-        <exec executable="svn" output="patches/framework.patch" dir="${ofbiz.home.dir}">
-            <arg value="diff"/>
-            <arg value="framework"/>
-        </exec>
-        <exec executable="svn" output="patches/applications.patch" dir="${ofbiz.home.dir}">
-            <arg value="diff"/>
-            <arg value="applications"/>
-        </exec>
-        <exec executable="svn" output="patches/specialpurpose.patch" dir="${ofbiz.home.dir}">
-            <arg value="diff"/>
-            <arg value="specialpurpose"/>
-        </exec>
-    </target>
-
-    <target name="revert-ofbiz-patches" description="Remove any local change in the files or any previously applied local patch.">
-        <exec executable="svn" dir="${ofbiz.home.dir}">
-            <arg value="revert"/>
-            <arg value="-R"/>
-            <arg value="framework"/>
-        </exec>
-        <exec executable="svn" dir="${ofbiz.home.dir}">
-            <arg value="revert"/>
-            <arg value="-R"/>
-            <arg value="applications"/>
-        </exec>
-        <exec executable="svn" dir="${ofbiz.home.dir}">
-            <arg value="revert"/>
-            <arg value="-R"/>
-            <arg value="specialpurpose"/>
-        </exec>
-    </target>
-
-    <target name="apply-ofbiz-patches" description="Apply the patch to framework, application, specialpurpose components.">
-        <fail message="Patch files not found.">
-            <condition>
-                <or>
-                    <not><isset property="component-name"/></not>
-                    <not>
-                        <resourcecount count="3">
-                            <fileset dir="patches" includes="*.patch"/>
-                        </resourcecount>
-                    </not>
-                </or>
-            </condition>
-        </fail>
-        <patch strip="0" patchfile="patches/framework.patch" dir="${ofbiz.home.dir}"/>
-        <patch strip="0" patchfile="patches/applications.patch" dir="${ofbiz.home.dir}"/>
-        <patch strip="0" patchfile="patches/specialpurpose.patch" dir="${ofbiz.home.dir}"/>
-    </target>
-
-    <target name="reapply-ofbiz-patches" description="First removes any previously applied patch and then applies the new patch">
-        <fail message="Patch files not found.">
-            <condition>
-                <or>
-                    <not><isset property="component-name"/></not>
-                    <not>
-                        <resourcecount count="3">
-                            <fileset dir="patches" includes="*.patch"/>
-                        </resourcecount>
-                    </not>
-                </or>
-            </condition>
-        </fail>
-        <antcall target="revert-ofbiz-patches"/>
-        <antcall target="apply-ofbiz-patches"/>
-    </target>
 </project>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/config/scrumUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/config/scrumUiLabels.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/config/scrumUiLabels.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/config/scrumUiLabels.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <property key="PageTitleAddProductTimeToNewInvoice">
         <value xml:lang="en">Add all reported/approved task time to a new invoice</value>
@@ -777,7 +795,7 @@
     <property key="ScrumPlanned">
         <value xml:lang="en">Planned</value>
     </property>
-    <property key="ScrumPlanedHours">
+    <property key="ScrumPlannedHours">
         <value xml:lang="en">Planned Hours</value>
     </property>
     <property key="ScrumPlanHours">
@@ -789,7 +807,7 @@
     <property key="ScrumPlhrs">
         <value xml:lang="en">Pl hrs</value>
     </property>
-    <property key="ScrumPlanedTime">
+    <property key="ScrumPlannedTime">
         <value xml:lang="en">Plan Time</value>
     </property>
     <property key="ScrumProblemTask">

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml Mon Mar 26 20:56:02 2012
@@ -23,101 +23,101 @@
     xmlns="http://docbook.org/ns/docbook">
     <title>Welcome to the SCRUM Component help system</title>
     <section>
-    	<title>Introduction</title>
+        <title>Introduction</title>
         <para>
-        	The purpose of this component is to have a web based and ERP integrated access and recording for all information
-        	related to your Scrum project development. The Scrum development methodology itself is described in any of the following documents:
-        	<orderedlist>
+            The purpose of this component is to have a web based and ERP integrated access and recording for all information
+            related to your Scrum project development. The Scrum development methodology itself is described in any of the following documents:
+            <orderedlist>
                 <listitem><para><link xl:href="http://www.scrum.org/scrumguides/">Scrum guide</link> (various languages)</para></listitem>
-				<listitem><para><link xl:href="http://www.scrumalliance.org/pages/what_is_scrum">Scrum in 30 seconds.</link></para></listitem>
-				<listitem><para><link xl:href="http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf">Scrum in 5 minutes</link></para></listitem>
-			</orderedlist>
-        </para>
-        <para>
-        	Below follows a list how the system should be used and at what time you have to update the information within the Scrum component.
-        </para>
-    </section>
-    <section>
-    	<title>Create the available Scrum members</title>
-        <para>
-          	Any activity in any of the Scrum actions need people who are members of the project. So create the people which will be involved in the "Members Tab".
-          	You need to enter an existing person and company (partyGroup). Persons and companies (PartyGroup) need to be added in the party component first before they can be used in the Scrum component.
-   		</para>
-   	</section>
-    <section>
-    	<title>Create the product Backlog.</title>
-        <para>
-          	Before anything can start a product backlog is required which will need a product to be created first. 
-           	So create a product assign the it to a product owner which was created in the Scrum member section.
-           	Then go to the backlog and create the backlog items. 
-   		</para>
-   	</section>
-   	<section>
-   		<title>Create the project</title>
-   		<para>
-   			Now that we have a project backlog it is time to hold a project meeting. In this project meeting discuss the goals of the project, 
-   			the organization and the product backlog items and the estimated hours to complete each item.
-   		</para>
-   		<para>
-   			Now create the project in the system and assign the members to the project with their roles. Attach the minutes of the meeting to the project.
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Create the first sprint</title>
-   		<para>
-   			Now that there is a project we can look at creating the (first) sprint.
-       		Have a Sprint meeting, define what should be implemented in the (first) sprint and how it should be implemented
-   		</para>
-   		<para>
-       		Create now the (first) sprint in the system and enter also the number of backlog items which will be included in this sprint. Attach the minutes of the meeting to the project.
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Create tasks on the sprint backlog items</title>
-   		<para>
-   			In order to be able to enter actual hours it is required to create at least a single task on every sprint backlog item.
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Update daily the actual and planned hours</title>
-   		<para>
-   			Before going to the daily sprint meeting make sure the planned (backlog item) and actuals (tasks) are updated. 
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Daily sprint meeting</title>
-   		<para>
-   			Have a daily sprint meeting where the three famous questions are answered and enter the answers in the system related to this sprint.
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Sprint burndown chart</title>
-   		<para>
-   			Keep an eye on the burndown chart if you are still on track. If not discuss with the product owner if backlog items have to be added or removed.
-   		</para>
-   	</section> 
-   	<section>
-   		<title>Sprint Demonstration and Evaluation meeting</title>
-   		<para>
-   			At the end of a sprint demonstrate the system to the product owner and interested parties. The product owner will incorporate comments into the current backlog list.
-   			The team and Scrum master will evaluate the sprint so lessons can be learned for the next sprint.
-   		</para>
-   		<para>
-   			Determine also which tasks were not completed and return them to the product backlog to be included in a next sprint.
-   		</para>
-   	</section> 
-   	<para>
-   		The sprint will be repeated until the project is complete.
-   	</para>
-   	<section>
-   		<title>Security</title>
-   		<para>
-   			In the Scrum component there are security roles to access in the Scrum component.
-   		</para>
-   		<para>1. Product Owner can create product, project, and assign member in project.</para>
-   		<para>2. Scrum Master can do anything on the project.</para>
-   		<para>3. Scrum admin can do anything on Scrum component</para>
-   		<para>4. Scrum team can assign task to yourself and view project.</para>
-   	</section> 
+                <listitem><para><link xl:href="http://www.scrumalliance.org/pages/what_is_scrum">Scrum in 30 seconds.</link></para></listitem>
+                <listitem><para><link xl:href="http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf">Scrum in 5 minutes</link></para></listitem>
+            </orderedlist>
+        </para>
+        <para>
+            Below follows a list how the system should be used and at what time you have to update the information within the Scrum component.
+        </para>
+    </section>
+    <section>
+        <title>Create the available Scrum members</title>
+        <para>
+            Any activity in any of the Scrum actions need people who are members of the project. So create the people which will be involved in the "Members Tab".
+            You need to enter an existing person and company (partyGroup). Persons and companies (PartyGroup) need to be added in the party component first before they can be used in the Scrum component.
+        </para>
+    </section>
+    <section>
+        <title>Create the product Backlog.</title>
+        <para>
+            Before anything can start a product backlog is required which will need a product to be created first.
+            So create a product assign the it to a product owner which was created in the Scrum member section.
+            Then go to the backlog and create the backlog items.
+        </para>
+    </section>
+    <section>
+        <title>Create the project</title>
+        <para>
+            Now that we have a project backlog it is time to hold a project meeting. In this project meeting discuss the goals of the project,
+            the organization and the product backlog items and the estimated hours to complete each item.
+        </para>
+        <para>
+            Now create the project in the system and assign the members to the project with their roles. Attach the minutes of the meeting to the project.
+        </para>
+    </section>
+    <section>
+        <title>Create the first sprint</title>
+        <para>
+            Now that there is a project we can look at creating the (first) sprint.
+            Have a Sprint meeting, define what should be implemented in the (first) sprint and how it should be implemented
+        </para>
+        <para>
+            Create now the (first) sprint in the system and enter also the number of backlog items which will be included in this sprint. Attach the minutes of the meeting to the project.
+        </para>
+    </section>
+    <section>
+        <title>Create tasks on the sprint backlog items</title>
+        <para>
+            In order to be able to enter actual hours it is required to create at least a single task on every sprint backlog item.
+        </para>
+    </section>
+    <section>
+        <title>Update daily the actual and planned hours</title>
+        <para>
+            Before going to the daily sprint meeting make sure the planned (backlog item) and actuals (tasks) are updated.
+        </para>
+    </section>
+    <section>
+        <title>Daily sprint meeting</title>
+        <para>
+            Have a daily sprint meeting where the three famous questions are answered and enter the answers in the system related to this sprint.
+        </para>
+    </section>
+    <section>
+        <title>Sprint burndown chart</title>
+        <para>
+            Keep an eye on the burndown chart if you are still on track. If not discuss with the product owner if backlog items have to be added or removed.
+        </para>
+    </section>
+    <section>
+        <title>Sprint Demonstration and Evaluation meeting</title>
+        <para>
+            At the end of a sprint demonstrate the system to the product owner and interested parties. The product owner will incorporate comments into the current backlog list.
+            The team and Scrum master will evaluate the sprint so lessons can be learned for the next sprint.
+        </para>
+        <para>
+            Determine also which tasks were not completed and return them to the product backlog to be included in a next sprint.
+        </para>
+    </section>
+    <para>
+        The sprint will be repeated until the project is complete.
+    </para>
+    <section>
+        <title>Security</title>
+        <para>
+            In the Scrum component there are security roles to access in the Scrum component.
+        </para>
+        <para>1. Product Owner can create product, project, and assign member in project.</para>
+        <para>2. Scrum Master can do anything on the project.</para>
+        <para>3. Scrum admin can do anything on Scrum component</para>
+        <para>4. Scrum team can assign task to yourself and view project.</para>
+    </section>
 
 </section>
\ No newline at end of file

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprint.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprint.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprint.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprint.xml Mon Mar 26 20:56:02 2012
@@ -20,13 +20,13 @@
     <title>Update Sprint.</title>
     <para>This  use for updating the Sprint.</para>
     <orderedlist>
-	    <listitem><para>Product Name</para></listitem>
-	    <listitem><para>Sprint Name</para></listitem>
-	    <listitem><para>Sprint Goal</para></listitem>
-	    <listitem><para>Status</para></listitem>
-	    <listitem><para>Start Date</para></listitem>
-	    <listitem><para>End date</para></listitem>
-	    <listitem><para>Planed Hours</para></listitem>
-	    <listitem><para>Sprint Length Weeks</para></listitem>
+        <listitem><para>Product Name</para></listitem>
+        <listitem><para>Sprint Name</para></listitem>
+        <listitem><para>Sprint Goal</para></listitem>
+        <listitem><para>Status</para></listitem>
+        <listitem><para>Start Date</para></listitem>
+        <listitem><para>End date</para></listitem>
+        <listitem><para>Planned Hours</para></listitem>
+        <listitem><para>Sprint Length Weeks</para></listitem>
     </orderedlist>
 </section>
\ No newline at end of file

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprintBacklog.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprintBacklog.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprintBacklog.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprintBacklog.xml Mon Mar 26 20:56:02 2012
@@ -18,9 +18,9 @@
     xsi:schemaLocation="http://docbook.org/ns/docbook ../../../content/dtd/docbook.xsd"
     xmlns="http://docbook.org/ns/docbook">
     <title>Update Sprint backlog.</title>
-    <para>This part use to update Sprint backlog such as planed hours, ....</para>
+    <para>This part use to update Sprint backlog such as planned hours, ....</para>
     <orderedlist>
-	    <listitem><para>Enter Planed Hours field (Integer or floating point).</para></listitem>
-	    <listitem><para>Click the update button to update the Sprint Backlog.</para></listitem>
+        <listitem><para>Enter Planned Hours field (Integer or floating point).</para></listitem>
+        <listitem><para>Click the update button to update the Sprint Backlog.</para></listitem>
     </orderedlist>
 </section>
\ No newline at end of file

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/commit.py
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/commit.py?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/commit.py (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/commit.py Mon Mar 26 20:56:02 2012
@@ -1,4 +1,25 @@
 #!/usr/bin/python
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+
 from xml.dom.minidom import Document
 import httplib,sys,os,subprocess
 import ConfigParser

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/post-commit
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/post-commit?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/post-commit (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/post-commit Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 #!/bin/sh
+#####################################################################
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#####################################################################
 
 # POST-COMMIT HOOK
 #

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/pre-commit
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/pre-commit?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/pre-commit (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/hookscripts/pre-commit Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 #!/bin/sh
+#####################################################################
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#####################################################################
 
 # PRE-COMMIT HOOK
 #

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumDemoData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumDemoData.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumDemoData.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumDemoData.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <entity-engine-xml>
 
     <Party partyId="admin" partyTypeId="PERSON"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumHelpData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumHelpData.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumHelpData.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumHelpData.xml Mon Mar 26 20:56:02 2012
@@ -23,7 +23,7 @@
         objectInfo="specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS" 
         dataResourceName="SCRUM Help system root" mimeTypeId="text/xml" isPublic="Y" />
     <Content contentId="HELP_SCRUM" contentTypeId="DOCUMENT" templateDataResourceId="HELP_TEMPL" 
-    	dataResourceId="HELP_SCRUM" localeString="en" statusId="CTNT_IN_PROGRESS" contentName="Scrum" mimeTypeId="text/html"/>
+        dataResourceId="HELP_SCRUM" localeString="en" statusId="CTNT_IN_PROGRESS" contentName="Scrum" mimeTypeId="text/html"/>
     <ContentAssoc contentId="HELP_ROOT" contentIdTo="HELP_SCRUM" contentAssocTypeId="TREE_CHILD" fromDate="2010-01-01 01:01:01" mapKey="SCRUM_Sprints"/>
     <!-- === Project === -->
     <DataResource dataResourceId="HELP_SCRUM_PROJECT" localeString="en" dataResourceTypeId="OFBIZ_FILE" 

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumSecurityData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumSecurityData.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumSecurityData.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumSecurityData.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <entity-engine-xml>
     <!-- Scrum Component -->
     <SecurityPermission description="View operations in the SCRUM Component." permissionId="SCRUM_VIEW"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumTypeData.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumTypeData.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/data/scrumTypeData.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <entity-engine-xml>
     <RoleType roleTypeId="SCRUM_MEMBER" hasTable="N" description="Scrum Member"/>
     <RoleType roleTypeId="PRODUCT_OWNER" parentTypeId="SCRUM_MEMBER" hasTable="N" description="Product Owner"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/entitydef/entitymodel.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/entitydef/entitymodel.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/entitydef/entitymodel.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
     <!-- ========================================================= -->

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/ofbiz-component.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/ofbiz-component.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/ofbiz-component.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <ofbiz-component name="scrum"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">
@@ -46,5 +64,3 @@
         base-permission=""
         mount-point="/scrumdemo" />
 </ofbiz-component>
-
-

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml Mon Mar 26 20:56:02 2012
@@ -2661,7 +2661,7 @@
             <then>
             <if-not-empty field="parameters.workEffortName">
                 <now-timestamp field="now"/>
-                <!-- calculate estimatedMilliSeconds from initail planed hours -->
+                <!-- calculate estimatedMilliSeconds from initail planned hours -->
                 <set field="plannedHours" from-field="parameters.plannedHours" default-value="0" type="Integer"/>
                 <set-service-fields service-name="createWorkEffort" to-map="workEffortMap" map="parameters"/>
                 <set field="parameters.estimatedMilliSeconds" value="${groovy:plannedHours*60*60*1000}"/>
@@ -2721,7 +2721,7 @@
             </condition>
             <then>
             <if-not-empty field="parameters.workEffortId">
-                <!-- calculate estimatedMilliSeconds from initail planed hours -->
+                <!-- calculate estimatedMilliSeconds from initail planned hours -->
                 <set field="plannedHours" from-field="parameters.plannedHours" default-value="0" type="Integer"/>
                 <set field="parameters.estimatedMilliSeconds" value="${groovy:plannedHours*60*60*1000}"/>
                 <call-service service-name="updateWorkEffort" in-map-name="parameters">

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/permissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/permissionServices.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/permissionServices.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/permissionServices.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
     <description>scrum Services</description>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/services.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/services.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/servicedef/services.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
     <description>scrum Services</description>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java Mon Mar 26 20:56:02 2012
@@ -99,7 +99,7 @@ public class ScrumEvents {
             }
         } catch (GenericEntityException EntEx) {
             EntEx.printStackTrace();
-            Debug.log(EntEx.getMessage(), module);
+            Debug.logError(EntEx.getMessage(), module);
         }
         if (UtilValidate.isNotEmpty(noTimeEntryList)) {
             StringBuilder warningDataBuffer = new StringBuilder();

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumServices.java?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumServices.java (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumServices.java Mon Mar 26 20:56:02 2012
@@ -1,3 +1,21 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *******************************************************************************/
 package org.ofbiz.scrum;
 
 import java.io.BufferedReader;

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/CancelledBacklogNotification.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/CancelledBacklogNotification.ftl?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/CancelledBacklogNotification.ftl (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/CancelledBacklogNotification.ftl Mon Mar 26 20:56:02 2012
@@ -1,4 +1,21 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/ClosedSprintNotification.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/ClosedSprintNotification.ftl?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/ClosedSprintNotification.ftl (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/templates/ClosedSprintNotification.ftl Mon Mar 26 20:56:02 2012
@@ -1,4 +1,21 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/testdef/scrumTests.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/testdef/scrumTests.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/testdef/scrumTests.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/testdef/scrumTests.xml Mon Mar 26 20:56:02 2012
@@ -1,3 +1,21 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <test-suite suite-name="scrumtests"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">

Modified: ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/webapp/demotest/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/webapp/demotest/WEB-INF/controller.xml?rev=1305581&r1=1305580&r2=1305581&view=diff
==============================================================================
--- ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/webapp/demotest/WEB-INF/controller.xml (original)
+++ ofbiz/branches/20111205EmailHandling/specialpurpose/scrum/webapp/demotest/WEB-INF/controller.xml Mon Mar 26 20:56:02 2012
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd">
     <include location="component://common/webcommon/WEB-INF/common-controller.xml" />