You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2011/07/05 10:15:37 UTC

svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Author: hansbak
Date: Tue Jul  5 08:15:32 2011
New Revision: 1142915

URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
Log:
add support for the scrum framework donated by Antwebsystems Co.Ltd. more info at: http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG

Added:
    ofbiz/trunk/specialpurpose/scrum/
    ofbiz/trunk/specialpurpose/scrum/README.txt   (with props)
    ofbiz/trunk/specialpurpose/scrum/build.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/config/
    ofbiz/trunk/specialpurpose/scrum/config/revision.properties   (with props)
    ofbiz/trunk/specialpurpose/scrum/config/scrumUiLabels.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/DEMO-CONTENT.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_ROOT.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_AddProdBacklog.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_AddProduct.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_AddSprint.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_AddSprintBacklog.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_CreateScrumProject.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_DailyScrumMeetingMinute.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditBacklogItemContent.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditProdBacklog.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditProductContents.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditProjectContents.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprint.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_EditSprintBacklog.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_FindResource.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_FindTimeSheet.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ListProductBacklogCategories.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_MyWork.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_NewProductEmail.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_OpenTest.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ProductBacklogEmails.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ProductEmails.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ProductView.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_Project.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_SprintList.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_SprintMember.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_TaskView.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ViewProdBacklogItem.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ViewProduct.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_ViewSprint.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/helpdata/HELP_SCRUM_defaultTasks.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/hookscripts/
    ofbiz/trunk/specialpurpose/scrum/data/hookscripts/commit.py
    ofbiz/trunk/specialpurpose/scrum/data/hookscripts/post-commit
    ofbiz/trunk/specialpurpose/scrum/data/hookscripts/pre-commit
    ofbiz/trunk/specialpurpose/scrum/data/scrumDemoData.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/scrumHelpData.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/scrumSecurityData.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/data/scrumTypeData.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/documents/
    ofbiz/trunk/specialpurpose/scrum/documents/Scrum.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/dtd/
    ofbiz/trunk/specialpurpose/scrum/entitydef/
    ofbiz/trunk/specialpurpose/scrum/entitydef/entitymodel.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/lib/
    ofbiz/trunk/specialpurpose/scrum/ofbiz-component.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/ofbizScrumDataModel.odp   (with props)
    ofbiz/trunk/specialpurpose/scrum/patches/
    ofbiz/trunk/specialpurpose/scrum/script/
    ofbiz/trunk/specialpurpose/scrum/script/org/
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumServices.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/DailyMeetingMinuteTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/MyWorkTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/ProductBacklogTest.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/ProductTest.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/ProjectTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/QATests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/ScrumProjectTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/ScrumTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/SprintBacklogTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/SprintTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/TaskTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/test/TimesheetTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/servicedef/
    ofbiz/trunk/specialpurpose/scrum/servicedef/permissionServices.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/servicedef/secas.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/servicedef/services.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/src/
    ofbiz/trunk/specialpurpose/scrum/src/org/
    ofbiz/trunk/specialpurpose/scrum/src/org/ofbiz/
    ofbiz/trunk/specialpurpose/scrum/src/org/ofbiz/scrum/
    ofbiz/trunk/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java   (with props)
    ofbiz/trunk/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumServices.java   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/
    ofbiz/trunk/specialpurpose/scrum/templates/AcceptedBacklogNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/ActiveSprintNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/CancelledBacklogNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/ClosedSprintNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/CompletedBacklogNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/templates/ReviewedBacklogNotification.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/testdef/
    ofbiz/trunk/specialpurpose/scrum/testdef/scrumTests.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/WEB-INF/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/WEB-INF/actions/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/WEB-INF/controller.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/WEB-INF/web.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/actions/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/error/
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/error/error.jsp   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/demotest/index.jsp   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/AddProductBacklogItem.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/AddResourceTaskParty.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/BacklogNotifications.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/EditDailyHourReport.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/EditWeekTimesheet.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/FindBacklogItem.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/FindProductBacklogItem.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/FindTaskList.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListCurrentProducts.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListCurrentSprints.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListRevision.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListScrumResource.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListScrumRolesPersonAndCompany.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListTimeSheets.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ListUnplanBacklog.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ProductBilling.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/ProductEmail.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/QuickAddBacklog.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/SprintBacklogListItems.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/SprintBacklogOptions.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/actions/TaskList.groovy   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/controller.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/WEB-INF/web.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/error/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/error/error.jsp   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/backlogByStatusChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/backlogByTypeChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/burndown.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/demotest.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/pieChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/projectAndSprintChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/projectByStatusChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/revision.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/taskByStatusChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/includes/taskByTypeChart.ftl   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/index.jsp   (with props)
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/BacklogByStatusChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/BacklogByTypeChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/BacklogChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/Burndown.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/ProjectAndSprintChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/ProjectByStatusChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByStatusChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByTypeChart.rptdesign
    ofbiz/trunk/specialpurpose/scrum/widget/
    ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/ProjectForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/ResourceForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/ResourceScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/TaskForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/TaskScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/TimeSheetForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/TimeSheetScreens.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/demotest/
    ofbiz/trunk/specialpurpose/scrum/widget/demotest/DemotestScreen.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/scrumMenus.xml   (with props)
    ofbiz/trunk/specialpurpose/scrum/widget/scrumScreens.xml   (with props)
Modified:
    ofbiz/trunk/specialpurpose/component-load.xml

Modified: ofbiz/trunk/specialpurpose/component-load.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/component-load.xml?rev=1142915&r1=1142914&r2=1142915&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/component-load.xml (original)
+++ ofbiz/trunk/specialpurpose/component-load.xml Tue Jul  5 08:15:32 2011
@@ -27,6 +27,7 @@ under the License.
     <load-component component-location="cmssite"/>
     <load-component component-location="ofbizwebsite"/>
     <load-component component-location="projectmgr"/>
+    <load-component component-location="scrum"/>
     <load-component component-location="oagis"/>
     <load-component component-location="googlebase"/>
     <load-component component-location="googlecheckout"/>

Added: ofbiz/trunk/specialpurpose/scrum/README.txt
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/README.txt?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/README.txt (added)
+++ ofbiz/trunk/specialpurpose/scrum/README.txt Tue Jul  5 08:15:32 2011
@@ -0,0 +1,42 @@
+How to install the revision of task function.
+=============================================
+
+Server requirements
+1. subversion
+2. libapache2-mod-python
+
+Installation (On server)
+
+1. Install subversion
+2. Hook script setting
+    2.1 post-commit file is hook script file that will work when users commit source code to subversion repository.
+          Copy post-commit file from "scrum/data/hookscripts/post-commit" to hooks folder of repository and then edit file following :
+          Example : python /usr/share/subversion/hook-scripts/commit.py "$REPOS" "$REV"
+    2.2 commit.py file is python file which will send revision information to Scrum web service.
+          Copy commit.py from "scrum/data/hookscripts/commit.py" to "/usr/share/subversion/hook-scripts/" and then edit file following :
+          ---------------------------------------------------------------------------------
+            CONFIG_PATH = ""    // the path of the revision.properties should begin from home directory.
+            Example : CONFIG_PATH = "/home/ofbiz/ofbiz/hot-deploy/scrum/config/revision.properties"
+          --------------------------------------------------------------------------------
+3. Configure file setting : The original configure file is in scrum component (/scrum/config/revision.properties) you can put it 
+          anywhere that you wish but should be set the path of the file in commit.py file ("CONFIG_PATH=").
+          Example:
+          --------------------------------------------------------------------------------
+            revision.url =https://www.antwebsystems.com/svn/
+            ofbiz.webservice.url =http://www.antwebsystems.com/webtools/control/SOAPService
+            host.name =www.antwebsystems.com
+            host.port =80
+            
+            #-- subversion admin and password
+            svn.user=harry
+            svn.password=harryssecret
+          --------------------------------------------------------------------------------
+4. Change the location path of the updateScrumRevision service in .../scrum/servicedef/services.xml file.
+          Example:
+          --------------------------------------------------------------------------------
+          <service name="updateScrumRevision" engine="soap" export="true"
+            location="http://www.antwebsystems.com/webtools/control/SOAPService" invoke="updateScrumRevisionChange">  // the same as ofbiz.webservice.url
+            <implements service="updateScrumRevisionChange"/>
+          </service>
+          --------------------------------------------------------------------------------
+5. Restart the server.

Propchange: ofbiz/trunk/specialpurpose/scrum/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/scrum/README.txt
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/scrum/README.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/scrum/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/build.xml?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/build.xml (added)
+++ ofbiz/trunk/specialpurpose/scrum/build.xml Tue Jul  5 08:15:32 2011
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="OFBiz - scrum Component" default="jar" basedir=".">
+    <import file="../../common.xml"/>
+
+    <!-- ================================================================== -->
+    <!-- Initialization of all property settings                            -->
+    <!-- ================================================================== -->
+
+    <property environment="env"/>
+    <property name="desc" value="scrum Component"/>
+    <property name="name" value="ofbiz-scrum"/>
+    <property name="component-name" value="ofbiz-scrum"/>
+    <property name="ofbiz.home.dir" value="../.."/>
+    <property name="src.dir" value="src"/>
+    <property name="dtd.dir" value="dtd"/>
+    <property name="lib.dir" value="lib"/>
+    <property name="build.dir" value="build"/>
+
+    <path id="local.class.path">
+        <fileset dir="${lib.dir}" includes="*.jar"/>
+        <fileset dir="../../framework/base/lib" includes="*.jar"/>
+        <fileset dir="../../framework/base/lib/j2eespecs" includes="*.jar"/>
+        <fileset dir="../../framework/base/build/lib" includes="*.jar"/>
+        <fileset dir="../../framework/entity/lib" includes="*.jar"/>
+        <fileset dir="../../framework/entity/build/lib" includes="*.jar"/>
+        <fileset dir="../../framework/security/build/lib" includes="*.jar"/>
+        <fileset dir="../../framework/service/lib" includes="*.jar"/>
+        <fileset dir="../../framework/service/build/lib" includes="*.jar"/>
+        <fileset dir="../../framework/minilang/build/lib" includes="*.jar"/>
+        <fileset dir="../../framework/widget/build/lib" includes="*.jar"/>
+        <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>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/scrum/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/scrum/build.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/scrum/build.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/config/revision.properties?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/config/revision.properties (added)
+++ ofbiz/trunk/specialpurpose/scrum/config/revision.properties Tue Jul  5 08:15:32 2011
@@ -0,0 +1,34 @@
+###############################################################################
+# 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.
+###############################################################################
+
+# -- The section
+[config]
+# -- revision url example : https://www.antwebsystems.com/svn/
+revision.url=https://www.antwebsystems.com/svn/
+
+# -- The  OFBiz Web Service url
+ofbiz.webservice.url=http://www.antwebsystems.com/webtools/control/SOAPService
+
+# -- the Host name should be the name of host or by default "localhost"
+host.name=www.antwebsystems.com
+host.port=80
+
+# -- subversion user and password
+svn.user=general
+svn.password=general23

Propchange: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/scrum/config/scrumUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/config/scrumUiLabels.xml?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/config/scrumUiLabels.xml (added)
+++ ofbiz/trunk/specialpurpose/scrum/config/scrumUiLabels.xml Tue Jul  5 08:15:32 2011
@@ -0,0 +1,1277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+    </property>
+    <property key="PageTitleAddProject">
+        <value xml:lang="de">Projekt hinzufügen</value>
+        <value xml:lang="en">Add Project</value>
+        <value xml:lang="fr">Ajouter un projet</value>
+        <value xml:lang="it">Aggiungi progetto</value>
+        <value xml:lang="nl">Project toevoegen</value>
+        <value xml:lang="th">เพิ่มโปรเจค</value>
+        <value xml:lang="zh">增加项目</value>
+    </property>
+    <property key="PageTitleAddProjectContent">
+        <value xml:lang="de">Projektinhalt hinzufügen</value>
+        <value xml:lang="en">Add Project Content</value>
+        <value xml:lang="fr">Ajouter un contenu au projet</value>
+        <value xml:lang="it">Aggiungi contenuto progetto</value>
+        <value xml:lang="nl">Projectcontent toevoegen</value>
+        <value xml:lang="th">เพิ่มหัวข้อโปรเจ็ค</value>
+        <value xml:lang="zh">添加项目内容</value>
+    </property>
+    <property key="PageTitleAddProjectTimeToNewInvoice">
+        <value xml:lang="de">Füge alle gemeldeten/genehmigten Aufgabenzeiten einer neuen Abrechnung hinzu</value>
+        <value xml:lang="en">Add all reported/approved task time to a new invoice</value>
+        <value xml:lang="fr">Ajouter tout le temps de la tâche rapporté/approuvé à une nouvelle facture/</value>
+        <value xml:lang="it">Aggiungi tutte le timbrature approvate ad una nuova fattura</value>
+        <value xml:lang="nl">Alle gerapporteerde/goedgekeurde uren toevoegen aan nieuwe faktuur</value>
+        <value xml:lang="zh">把全部已报告/已批准的任务时间添加到一个新的发票</value>
+    </property>
+    <property key="PageTitleAddPublicHoliday">
+        <value xml:lang="en">Add Public Holiday</value>
+    </property>
+    <property key="PageTitleAddSprint">
+        <value xml:lang="en">Add Sprint</value>
+    </property>
+    <property key="PageTitleAddSprintBacklog">
+        <value xml:lang="en">Add Sprint Backlog</value>
+    </property>
+    <property key="PageTitleAddTask">
+        <value xml:lang="de">Aufgabe hinzufügen</value>
+        <value xml:lang="en">Add Task</value>
+        <value xml:lang="fr">Ajouter une tâche</value>
+        <value xml:lang="it">Aggiungi compito</value>
+        <value xml:lang="nl">Taak toevoegen</value>
+        <value xml:lang="th">เพิ่มงาน</value>
+        <value xml:lang="zh">增加任务</value>
+    </property>
+    <property key="PageTitleAddTaskNotes">
+        <value xml:lang="de">Aufgabennotiz hinzufügen</value>
+        <value xml:lang="en">Add Task Notes</value>
+        <value xml:lang="fr">Ajouter des notes à la tâche</value>
+        <value xml:lang="it">Aggiungi note compito</value>
+        <value xml:lang="nl">Notitie toevoegen</value>
+        <value xml:lang="th">เพิ่มข้อความงาน</value>
+        <value xml:lang="zh">增加任务备注</value>
+    </property>
+    <property key="PageTitleAddATimesheet">
+        <value xml:lang="de">Neue wöchentliche Zeiterfassung hinzufügen</value>
+        <value xml:lang="en">Add a new weekly Timesheet</value>
+        <value xml:lang="fr">Ajouter une nouvelle feuille d'activité hebdomadaire</value>
+        <value xml:lang="it">Aggiungi una nuova timbratura settimanale</value>
+        <value xml:lang="nl">Nieuwe urenstaat toevoegen</value>
+        <value xml:lang="th">เพิ่มตารางเวลารายสัปดาห์ใหม่</value>
+        <value xml:lang="zh">增加新的周时间表</value>
+    </property>
+    <property key="PageTitleAllBacklog">
+        <value xml:lang="en">All Backlog</value>
+    </property>
+    <property key="PageTitleBacklogItemNoteList">
+        <value xml:lang="en">Backlog Item Note List</value>
+    </property>
+    <property key="PageTitleBilling">
+        <value xml:lang="en">Billing</value>
+    </property>
+    <property key="PageTitleCurrentTimesheet">
+        <value xml:lang="de">Aktuelle Zeiterfassung</value>
+        <value xml:lang="en">Current Timesheet</value>
+        <value xml:lang="fr">Feuille d'activité courante</value>
+        <value xml:lang="it">Timbrature attuali</value>
+        <value xml:lang="nl">Huidige urenstaat</value>
+        <value xml:lang="th">ตารางเวลาที่ใช้กันอยู่ในปัจจุบัน</value>
+        <value xml:lang="zh">当前时间表</value>
+    </property>
+    <property key="PageTitleDailyMeetingMinutes">
+        <value xml:lang="en">Daily Meeting Minutes</value>
+    </property>
+    <property key="PageTitleDefaultTasks">
+        <value xml:lang="en">Product Backlog Default Tasks</value>
+    </property>
+    <property key="PageTitleEditDefaultTasks">
+        <value xml:lang="en">Edit Product Backlog Default Tasks</value>
+    </property>
+    <property key="PageTitleEditProduct">
+        <value xml:lang="en">Edit Product</value>
+    </property>
+    <property key="PageTitleEditProductBacklogCategories">
+        <value xml:lang="en">Edit Product Backlog Category</value>
+    </property>
+    <property key="PageTitleEditProductBacklogItems">
+        <value xml:lang="en">Edit Product Backlog Items</value>
+    </property>
+    <property key="PageTitleEditScrumProject">
+        <value xml:lang="en">Edit Project</value>
+    </property>
+    <property key="PageTitleEditSprint">
+        <value xml:lang="en">Edit Sprint</value>
+    </property>
+    <property key="PageTitleEditTask">
+        <value xml:lang="de">Aufgabe editieren</value>
+        <value xml:lang="en">Edit Task</value>
+        <value xml:lang="fr">Modifier la tâche</value>
+        <value xml:lang="it">Aggiorna compito</value>
+        <value xml:lang="nl">Taak wijzigen</value>
+        <value xml:lang="th">แก้ไขงาน</value>
+        <value xml:lang="zh">编辑任务</value>
+    </property>
+    <property key="PageTitleFindBacklog">
+        <value xml:lang="en">Find Backlog</value>
+    </property>
+    <property key="PageTitleFindResource">
+        <value xml:lang="de">Ressourcen suchen</value>
+        <value xml:lang="en">Find Resource</value>
+        <value xml:lang="fr">Rechercher la ressource</value>
+        <value xml:lang="it">Ricerca risorsa</value>
+        <value xml:lang="nl">Resource zoeken</value>
+        <value xml:lang="th">ค้นหาแหล่งที่มา</value>
+        <value xml:lang="zh">查找资源</value>
+    </property>
+    <property key="PageTitleFindRevision">
+        <value xml:lang="en">Find Revision</value>
+    </property>
+    <property key="PageTitleFindTask">
+        <value xml:lang="de">Aufgabe suchen</value>
+        <value xml:lang="en">Find Task</value>
+        <value xml:lang="fr">Rechercher la tâche</value>
+        <value xml:lang="it">Ricerca compito</value>
+        <value xml:lang="nl">Taak zoeken</value>
+        <value xml:lang="th">ค้นหางาน</value>
+        <value xml:lang="zh">查找任务</value>
+    </property>
+    <property key="PageTitleFindTimeEntryNotBilled">
+        <value xml:lang="en">Find Time Entry Not yet Billed</value>
+    </property>
+    <property key="PageTitleFindTimeSheet">
+        <value xml:lang="de">Zeiterfassungsbogen suchen</value>
+        <value xml:lang="en">Find TimeSheet</value>
+        <value xml:lang="fr">Rechercher une feuille d'activité</value>
+        <value xml:lang="it">Ricerca timbratura</value>
+        <value xml:lang="nl">Urenstaat zoeken</value>
+        <value xml:lang="th">ค้นหาตารางเวลา</value>
+        <value xml:lang="zh">查找时间表</value>
+    </property>
+    <property key="PageTitleHoursNotYetBilled">
+        <value xml:lang="en">Hours not yet billed</value>
+    </property>
+    <property key="PageTitleListTaskNotes">
+        <value xml:lang="de">Liste Aufgabennotizen auf</value>
+        <value xml:lang="en">List Task Notes</value>
+        <value xml:lang="fr">Voir les notes de la tâche</value>
+        <value xml:lang="it">Lista note compito</value>
+        <value xml:lang="nl">Notities tonen</value>
+        <value xml:lang="th">แสดงรายการข้อความงาน</value>
+        <value xml:lang="zh">任务备注列表</value>
+    </property>
+    <property key="PageTitleNewBacklogItemNote">
+        <value xml:lang="en">New Backlog Item Note</value>
+    </property>
+    <property key="PageTitleNewTaskNote">
+        <value xml:lang="en">New Task Note</value>
+    </property>
+    <property key="PageTitleOpenTest">
+        <value xml:lang="en">Open Test</value>
+    </property>
+    <property key="PageTitleProduct">
+        <value xml:lang="en">Product</value>
+    </property>
+    <property key="PageTitleProductBacklog">
+        <value xml:lang="en">Product Backlog</value>
+    </property>
+    <property key="PageTitleProductBacklogCategories">
+        <value xml:lang="en">Product Backlog Categories</value>
+    </property>
+    <property key="PageTitleProductBacklogCommunications">
+        <value xml:lang="en">Product Backlog Communications</value>
+    </property>
+    <property key="PageTitleProductBacklogContents">
+        <value xml:lang="en">Product Backlog Contents</value>
+    </property>
+    <property key="PageTitleProductBacklogItemsCommunication">
+        <value xml:lang="en">Product Backlog Items Communication</value>
+    </property>
+    <property key="PageTitleProductBacklogItemsContents">
+        <value xml:lang="en">Product Backlog Items Contents</value>
+    </property>
+    <property key="PageTitleProductBacklogItemsOverview">
+        <value xml:lang="en">Product Backlog Items Overview</value>
+    </property>
+    <property key="PageTitleProductBacklogOverview">
+        <value xml:lang="en">Product Backlog Overview</value>
+    </property>
+    <property key="PageTitleProductOverview">
+        <value xml:lang="en">Product Overview</value>
+    </property>
+    <property key="PageTitleProjectAndSprintList">
+        <value xml:lang="en">Project and Sprint List</value>
+    </property>
+    <property key="PageTitlePublicHoliday">
+        <value xml:lang="en">Public Holiday</value>
+    </property>
+    <property key="PageTitlePublicHolidayList">
+        <value xml:lang="en">Public Holiday List</value>
+    </property>
+    <property key="PageTitleScrumDefaultTasks">
+        <value xml:lang="en">Scrum Default Tasks</value>
+    </property>
+    <property key="PageTitleScrumMember">
+        <value xml:lang="en">Scrum Members</value>
+    </property>
+    <property key="PageTitleScrumProductMembers">
+        <value xml:lang="en">Product Members</value>
+    </property>
+    <property key="PageTitleScrumProjectContents">
+        <value xml:lang="en">Project Contents</value>
+    </property>
+    <property key="PageTitleScrumProjectMembers">
+        <value xml:lang="en">Project Members</value>
+    </property>
+    <property key="PageTitleScrumProjectOverview">
+        <value xml:lang="en">Project Overview</value>
+    </property>
+    <property key="PageTitleSprintMembers">
+        <value xml:lang="en">Sprint Members</value>
+    </property>
+    <property key="PageTitleSprintOverview">
+        <value xml:lang="en">Sprint Overview</value>
+    </property>
+    <property key="PageTitleTaskAssignedToMe">
+        <value xml:lang="de">Öffne die mir zugeordneten Aufgaben</value>
+        <value xml:lang="en">Open Tasks Assigned to me.</value>
+        <value xml:lang="fr">Ouvrir les tâches qui me sont affectées</value>
+        <value xml:lang="it">Compiti aperti assegnati a me.</value>
+        <value xml:lang="nl">Openstaande taken voor mij</value>
+        <value xml:lang="th">งานที่มอบหมายให้ฉัน</value>
+        <value xml:lang="zh">打开分配给我的任务</value>
+    </property>
+    <property key="PageTitleTaskInformation">
+        <value xml:lang="de">Aufgabeninformationen</value>
+        <value xml:lang="en">Task information</value>
+        <value xml:lang="fr">Information sur la tâche</value>
+        <value xml:lang="it">Informazione compito</value>
+        <value xml:lang="nl">Informatie</value>
+        <value xml:lang="th">ข้อมูลงาน</value>
+        <value xml:lang="zh">任务信息</value>
+    </property>
+    <property key="PageTitleTaskMember">
+        <value xml:lang="en">Task Member</value>
+    </property>
+    <property key="PageTitleTaskNoteList">
+        <value xml:lang="en">Task Note List</value>
+    </property>
+    <property key="PageTitleTimesheet">
+        <value xml:lang="de">Zeiterfassung</value>
+        <value xml:lang="en">Timesheet</value>
+        <value xml:lang="fr">Feuille d'activité</value>
+        <value xml:lang="it">Timbratura</value>
+        <value xml:lang="th">ตารางเวลา</value>
+        <value xml:lang="zh">时间表</value>
+    </property>
+    <property key="PageTitleTimesheets">
+        <value xml:lang="de">Zeiterfassungsliste</value>
+        <value xml:lang="en">Timesheet list</value>
+        <value xml:lang="fr">Liste des feuilles d'activité</value>
+        <value xml:lang="it">Lista Timbrature</value>
+        <value xml:lang="nl">Overzicht urenstaten</value>
+        <value xml:lang="th">แสดงรายการตารางเวลา</value>
+        <value xml:lang="zh">时间表列表</value>
+    </property>
+    <property key="PageTitleTotalBacklog">
+        <value xml:lang="en">Total Backlog</value>
+    </property>
+    <property key="PageTitleTotalTask">
+        <value xml:lang="en">Total Task</value>
+    </property>
+    <property key="PageTitleUnplanBacklogItem">
+        <value xml:lang="en">Unplan Backlog Item</value>
+    </property>
+    <property key="ScrumActualHours">
+        <value xml:lang="en">Actual Hours</value>
+    </property>
+    <property key="ScrumActualHoursNotBill">
+        <value xml:lang="en">Act Hrs Not Bill</value>
+    </property>
+    <property key="ScrumActualTotal">
+        <value xml:lang="de">Ist-Stunden gesamt</value>
+        <value xml:lang="en">Act Total</value>
+        <value xml:lang="fr">Total réel</value>
+        <value xml:lang="it">Totale attuale</value>
+        <value xml:lang="nl">Werk. total</value>
+        <value xml:lang="zh">实际总时间</value>
+    </property>
+    <property key="ScrumAdmin">
+        <value xml:lang="en">Administration</value>
+    </property>
+    <property key="ScrumAddMember">
+        <value xml:lang="en">Add Member</value>
+    </property>
+    <property key="ScrumAddCompanyAndProductOwner">
+        <value xml:lang="en">Add Company and Product Owner</value>
+    </property>
+    <property key="ScrumAddDailyMeetingMinutes">
+        <value xml:lang="en">Add Daily Meeting Minutes</value>
+    </property>
+    <property key="ScrumAddNewProductBacklogItem">
+        <value xml:lang="en">Add New Product Backlog Item</value>
+    </property>
+    <property key="ScrumAddProductMember">
+        <value xml:lang="en">Add Product Member</value>
+    </property>
+    <property key="ScrumAddScrumMember">
+        <value xml:lang="en">Add Scrum Member</value>
+    </property>
+    <property key="ScrumAddSprint">
+        <value xml:lang="en">Add Sprint</value>
+    </property>
+    <property key="ScrumAddSprintBacklog">
+        <value xml:lang="en">Add Sprint Backlog</value>
+    </property>
+    <property key="ScrumAddSprintMember">
+        <value xml:lang="en">Add Sprint Member</value>
+    </property>
+    <property key="ScrumAddTaskMember">
+        <value xml:lang="en">Add Task Member</value>
+    </property>
+    <property key="ScrumAddTimeEntry">
+        <value xml:lang="de">Zeitbuchung hinzufügen</value>
+        <value xml:lang="en">Add Time Entry</value>
+        <value xml:lang="fr">Ajouter une échéance</value>
+        <value xml:lang="it">Aggiungi voce tempo</value>
+        <value xml:lang="nl">Urenregel toevoegen</value>
+        <value xml:lang="th">เพิ่มตารางเวลา</value>
+        <value xml:lang="zh">增加时间条目</value>
+    </property>
+    <property key="ScrumAddUnplanBacklog">
+        <value xml:lang="en">Add New Unplan Backlog Item</value>
+    </property>
+    <property key="ScrumAllBacklogItem">
+        <value xml:lang="en">All Backlog Items</value>
+    </property>
+    <property key="ScrumAnswer">
+        <value xml:lang="en">Answer</value>
+    </property>
+    <property key="ScrumApplication">
+        <value xml:lang="en">SCRUM Application</value>
+        <value xml:lang="zh">scrum应用程序</value>
+    </property>
+    <property key="ScrumAssign">
+        <value xml:lang="en">Assign</value>
+    </property>
+    <property key="ScrumAssignATaskToMe">
+        <value xml:lang="de">Weise mir eine vorhandene Aufgabe zu.</value>
+        <value xml:lang="en">Assign an existing Task to me.</value>
+        <value xml:lang="fr">M'affecter une tâche existante</value>
+        <value xml:lang="it">Assegna un compito esistente a me.</value>
+        <value xml:lang="nl">Taak aan mijzelf toewijzen</value>
+        <value xml:lang="th">กำหนดงานที่มีอยู่ให้ฉัน</value>
+        <value xml:lang="zh">给我分配一个已有的任务</value>
+    </property>
+    <property key="ScrumAssignedTo">
+        <value xml:lang="en">Assigned To</value>
+    </property>
+    <property key="ScrumAssignTo">
+        <value xml:lang="en">Assign To</value>
+    </property>
+    <property key="ScrumBacklog">
+        <value xml:lang="en">Backlog</value>
+    </property>
+    <property key="ScrumBacklogId">
+        <value xml:lang="en">Backlog Id</value>
+    </property>
+    <property key="ScrumBacklogInformationChart">
+        <value xml:lang="en">Backlogs Information Chart</value>
+    </property>
+    <property key="ScrumBacklogItem">
+        <value xml:lang="en">Backlog Item</value>
+    </property>
+    <property key="ScrumBacklogItemAddProductContent">
+        <value xml:lang="en">Add Backlog Item Content</value>
+    </property>
+    <property key="ScrumBacklogItemCategory">
+        <value xml:lang="en">Backlog Item Category</value>
+    </property>
+    <property key="ScrumBacklogItemContentList">
+        <value xml:lang="en">Backlog Item Content List</value>
+    </property>
+    <property key="ScrumBacklogItemStatusList">
+        <value xml:lang="en">Product Backlog Item Status List</value>
+    </property>
+    <property key="ScrumBacklogList">
+        <value xml:lang="en">Backlog List</value>
+    </property>
+    <property key="ScrumBacklogsStatusChart">
+        <value xml:lang="en">Backlogs Status Chart</value>
+    </property>
+    <property key="ScrumBeforeNextMeeting">
+        <value xml:lang="en">What are you going to do before the next meeting?</value>
+    </property>
+    <property key="ScrumBeingImplementBacklogItem">
+        <value xml:lang="en">Being Implemented</value>
+    </property>
+    <property key="ScrumBilled">
+        <value xml:lang="en">Billed</value>
+    </property>
+    <property key="ScrumBillingViewPermissionError">
+        <value xml:lang="en">You do not have permission to view this page. ("SCRUM_BILLING_VIEW" or "SCRUM_BILLING_ADMIN" needed)</value>
+    </property>
+    <property key="ScrumBurnDownChart">
+        <value xml:lang="en">Burndown Chart</value>
+    </property>
+    <property key="ScrumCancelProductBacklog">
+        <value xml:lang="en">Cancel Product Backlog</value>
+    </property>
+    <property key="ScrumCategory">
+        <value xml:lang="en">Category</value>
+    </property>
+    <property key="ScrumCategories">
+        <value xml:lang="en">Categories</value>
+    </property>
+    <property key="ScrumCheckComplete">
+        <value xml:lang="de">Markieren wenn Fertiggestellt</value>
+        <value xml:lang="en">Check Complete</value>
+        <value xml:lang="fr">Marqué(e) comme terminé(e)</value>
+        <value xml:lang="it">Controllo completato</value>
+        <value xml:lang="nl">Voor compleet markeren</value>
+        <value xml:lang="zh">是否完成</value>
+    </property>
+    <property key="ScrumChildEmails">
+        <value xml:lang="en">Child Emails</value>
+    </property>
+    <property key="ScrumCloseSprint">
+        <value xml:lang="en">Close Sprint</value>
+    </property>
+    <property key="ScrumCodingTasksList">
+        <value xml:lang="en">Coding Tasks List</value>
+    </property>
+    <property key="ScrumCommitter">
+        <value xml:lang="en">Committer</value>
+    </property>
+    <property key="ScrumCommunications">
+        <value xml:lang="en">Communications</value>
+    </property>
+    <property key="ScrumCompany">
+        <value xml:lang="en">Company</value>
+    </property>
+    <property key="ScrumCompanyAndPerson">
+        <value xml:lang="en">Company and Person</value>
+    </property>
+    <property key="ScrumCompanyAndProductOwner">
+        <value xml:lang="en">Company and Product Owner</value>
+    </property>
+    <property key="ScrumCompanyName">
+        <value xml:lang="en">OFBiz: SCRUM</value>
+    </property>
+    <property key="ScrumCompanyNameShow">
+        <value xml:lang="en">Company Name</value>
+    </property>
+    <property key="ScrumCompanyPartyId">
+        <value xml:lang="en">Company Party Id</value>
+    </property>
+    <property key="ScrumCompanySubtitle">
+        <value xml:lang="en">Part of the Open For Business Family of Open Source Software</value>
+        <value xml:lang="zh">开源软件OFBiz的组成部分</value>
+    </property>
+    <property key="ScrumContentList">
+        <value xml:lang="de">Projektinhaltsliste</value>
+        <value xml:lang="en">Project Content List</value>
+        <value xml:lang="fr">Liste des contenus du projet</value>
+        <value xml:lang="it">Lsista contenuti progetto</value>
+        <value xml:lang="nl">Content</value>
+        <value xml:lang="zh">项目内容列表</value>
+    </property>
+    <property key="ScrumCopymenber">
+        <value xml:lang="en">Copy Member From Last Sprint</value>
+    </property>
+    <property key="ScrumCreateDefaultTasks">
+        <value xml:lang="en">Create Default Tasks</value>
+    </property>
+    <property key="ScrumCreateNewParty">
+        <value xml:lang="en">Create New Party</value>
+    </property>
+    <property key="ScrumCreatePartyRelationship">
+        <value xml:lang="en">Create Party Relationship</value>
+    </property>
+    <property key="ScrumCreateProject">
+        <value xml:lang="en">Create Project</value>
+    </property>
+    <property key="ScrumCreateSprint">
+        <value xml:lang="en">Create Sprint</value>
+    </property>
+    <property key="ScrumCreateTaskforProductBacklog">
+        <value xml:lang="en">Create Task for Product Backlog</value>
+    </property>
+    <property key="ScrumCreateTaskforSprintBacklogItem">
+        <value xml:lang="en">Create Task for Sprint Backlog Item</value>
+    </property>
+    <property key="ScrumCreateTaskforUnplanBacklogItem">
+        <value xml:lang="en">Create Task for Unplan Backlog Item</value>
+    </property>
+    <property key="ScrumCustomerRequestItemName">
+        <value xml:lang="en">Customer Request Item Name</value>
+    </property>
+    <property key="ScrumCustRequestId">
+        <value xml:lang="en">custRequestId</value>
+    </property>
+    <property key="ScrumDefaultTasks">
+        <value xml:lang="en">Default Tasks</value>
+    </property>
+    <property key="ScrumDefaultTasksList">
+        <value xml:lang="en">Default Tasks List</value>
+    </property>
+    <property key="ScrumDeleteBacklogItem">
+        <value xml:lang="en">Edit Delete Backlog Item</value>
+    </property>
+    <property key="ScrumDemoUser">
+        <value xml:lang="en">The Scrum Component Demonstration</value>
+    </property>
+    <property key="ScrumDescription">
+        <value xml:lang="en">Description</value>
+    </property>
+    <property key="ScrumEditBacklog">
+        <value xml:lang="en">Edit Backlog</value>
+    </property>
+    <property key="ScrumEditDefaultTask">
+        <value xml:lang="en">Edit Default Task</value>
+    </property>
+    <property key="ScrumEditProduct">
+        <value xml:lang="en">Edit Product</value>
+    </property>
+    <property key="ScrumEditProductBacklogCategory">
+        <value xml:lang="en">Edit Product Backlog Category</value>
+    </property>
+    <property key="ScrumEditProject">
+        <value xml:lang="en">Edit Project</value>
+    </property>
+    <property key="ScrumEditSprintBacklog">
+        <value xml:lang="en">Edit Sprint Backlog</value>
+    </property>
+    <property key="ScrumEditSprintInformation">
+        <value xml:lang="en">Edit Sprint Information</value>
+    </property>
+    <property key="ScrumEditUnplanBacklog">
+        <value xml:lang="en">Edit Unplan Backlog Item</value>
+    </property>
+    <property key="ScrumEmailContents">
+        <value xml:lang="en">Email Contents</value>
+    </property>
+    <property key="ScrumEstimatedHours">
+        <value xml:lang="en">Estimated Hours</value>
+    </property>
+    <property key="ScrumErrorTasksList">
+        <value xml:lang="en">Error Tasks List</value>
+    </property>
+    <property key="ScrumErrorTaskNotFound">
+        <value xml:lang="de">Aufgabe: ${parameters.workEffortId} nicht gefunden</value>
+        <value xml:lang="en">Task: ${parameters.workEffortId} not found</value>
+        <value xml:lang="fr">Tâche : ${parameters.workEffortId} non trouvée</value>
+        <value xml:lang="it">Compito: ${parameters.workEffortId} non trovato</value>
+        <value xml:lang="nl">Taak ${parameters.workEffortId} werd niet gevonden</value>
+        <value xml:lang="zh">任务:${parameters.workEffortId}没有找到</value>
+    </property>
+     <property key="ScrumErrorTaskNotFoundInTimeEntry">
+        <value xml:lang="en">Please enter actual hours for this task before set to complete task.</value>
+    </property>
+    <property key="ScrumErrorTaskStatusWrong">
+        <value xml:lang="de">Aufgabe: ${parameters.workEffortId} wird nicht bearbeitet, es kann keine Anfrage hinzugefügt werden</value>
+        <value xml:lang="en">Task: ${parameters.workEffortId} is not in progress, no request can be added</value>
+        <value xml:lang="fr">Tâche : ${parameters.workEffortId} n'est pas en cours, aucune demande ne peut être ajoutée</value>
+        <value xml:lang="it">Compito: ${parameters.workEffortId} non è in corso, nessuna richiesta può essere aggiunta</value>
+        <value xml:lang="nl">Taak ${parameters.workEffortId} is nog niet begonnen. Verzoeken kunnen worden toegevoegd</value>
+        <value xml:lang="zh">任务:${parameters.workEffortId}没有进展,没有添加请求</value>
+    </property>
+    <property key="ScrumFindProduct">
+        <value xml:lang="en">Find Product</value>
+    </property>
+    <property key="ScrumFindProductBacklogItem">
+        <value xml:lang="en">Find Product Backlog Item</value>
+    </property>
+    <property key="ScrumFindProductStatistics">
+        <value xml:lang="en">Find Product Statistics</value>
+    </property>
+    <property key="ScrumFindProjectMember">
+        <value xml:lang="en">Find Project Member</value>
+    </property>
+    <property key="ScrumFindScrumMember">
+        <value xml:lang="en">Find Scrum Member</value>
+    </property>
+    <property key="ScrumFindTask">
+        <value xml:lang="en">Find Task</value>
+    </property>
+    <property key="ScrumFirstName">
+        <value xml:lang="en">First Name</value>
+    </property>
+    <property key="ScrumFinished">
+        <value xml:lang="en">Finished</value>
+    </property>
+    <property key="ScrumFri">
+        <value xml:lang="de">Fr</value>
+        <value xml:lang="en">Fri</value>
+        <value xml:lang="fr">ven</value>
+        <value xml:lang="it">Ven</value>
+        <value xml:lang="nl">Vr</value>
+        <value xml:lang="zh">周五</value>
+    </property>
+    <property key="ScrumHolidayName">
+        <value xml:lang="en">Holiday Name</value>
+    </property>
+    <property key="ScrumHowToTest">
+        <value xml:lang="en">How to test</value>
+    </property>
+    <property key="ScrumHrs">
+        <value xml:lang="en">hr(s).</value>
+    </property>
+    <property key="ScrumIncludeMeeting">
+        <value xml:lang="en">Include Meeting</value>
+    </property>
+    <property key="ScrumInitialPlannedHours">
+        <value xml:lang="en">Initial Planned Hours</value>
+    </property>
+    <property key="ScrumInstallationTasksList">
+        <value xml:lang="en">Installation Tasks List</value>
+    </property>
+    <property key="ScrumInvoiceDate">
+        <value xml:lang="en">Invoice Date</value>
+    </property>
+    <property key="ScrumLastName">
+        <value xml:lang="en">Last Name</value>
+    </property>
+    <property key="ScrumListOfSprintBacklog">
+        <value xml:lang="en">List of Sprint Backlogs</value>
+    </property>
+    <property key="ScrumListUpdateDailyMeetingMinutes">
+        <value xml:lang="en">List Update Daily Meeting Minutes</value>
+    </property>
+    <property key="ScrumMaximumHours">
+        <value xml:lang="en">Maximum Hours</value>
+    </property>
+    <property key="ScrumMax255Chars">
+        <value xml:lang="en">255 Chars Maximum</value>
+    </property>
+    <property key="ScrumMember">
+        <value xml:lang="en">Member</value>
+    </property>
+    <property key="ScrumMembers">
+        <value xml:lang="en">Members</value>
+    </property>
+    <property key="ScrumMembersList">
+        <value xml:lang="en">Members List</value>
+    </property>
+    <property key="ScrumMembersName">
+        <value xml:lang="en">Member Name</value>
+    </property>
+    <property key="ScrumMiddleName">
+        <value xml:lang="en">Middle Name</value>
+    </property>
+    <property key="ScrumMgrTaskTeam">
+        <value xml:lang="de">Aufgabenteam</value>
+        <value xml:lang="en">Task Team</value>
+        <value xml:lang="fr">Equipe de la tâche</value>
+        <value xml:lang="it">Team compito</value>
+        <value xml:lang="nl">Taakteam</value>
+        <value xml:lang="th">ทีมงาน</value>
+        <value xml:lang="zh">任务团队</value>
+    </property>
+    <property key="ScrumMon">
+        <value xml:lang="de">Mo</value>
+        <value xml:lang="en">Mon</value>
+        <value xml:lang="fr">lun</value>
+        <value xml:lang="it">Lun</value>
+        <value xml:lang="nl">Ma</value>
+        <value xml:lang="zh">周一</value>
+    </property>
+    <property key="ScrumMoveToUnplannedSprint">
+        <value xml:lang="en">Move to unplanned sprint</value>
+    </property>
+    <property key="ScrumMyWork">
+        <value xml:lang="en">My Work</value>
+    </property>
+    <property key="ScrumMyTasks">
+        <value xml:lang="en">My Tasks</value>
+    </property>
+    <property key="ScrumNewBacklogItem">
+        <value xml:lang="en">New Backlog Item</value>
+    </property>
+    <property key="ScrumNewEmail">
+        <value xml:lang="en">New Email</value>
+    </property>
+    <property key="ScrumNewErrorTask">
+        <value xml:lang="en">Add Error Task</value>
+    </property>
+    <property key="ScrumNewProductBacklogEmail">
+        <value xml:lang="en">New Product Backlog Email</value>
+    </property>
+    <property key="ScrumNewSequence">
+        <value xml:lang="en">New Sequence</value>
+    </property>
+    <property key="ScrumNewSprint">
+        <value xml:lang="en">New Sprint</value>
+    </property>
+    <property key="ScrumNewTask">
+        <value xml:lang="en">New Task</value>
+    </property>
+    <property key="ScrumNoAccessToBacklog">
+        <value xml:lang="en">You have no access to Product Backlog Section</value>
+    </property>
+    <property key="ScrumNoAccessToMember">
+        <value xml:lang="en">You have no access to Member</value>
+    </property>
+    <property key="ScrumNoAccessToMywork">
+        <value xml:lang="en">You have no access to Mywork</value>
+    </property>
+    <property key="ScrumNoAccessToProduct">
+        <value xml:lang="en">You have no access to the Product</value>
+    </property>
+    <property key="ScrumNoAccessToProject">
+        <value xml:lang="de">Keine Berechtigung für das Projekt#: ${projectId}</value>
+        <value xml:lang="en">You have no access to the project#: ${projectId}</value>
+        <value xml:lang="fr">Vous n'avez pas accès au projet n° ${projectId}</value>
+        <value xml:lang="it">Tu non hai accesso al progetto#: ${projectId}</value>
+        <value xml:lang="nl">Geen toegang tot project ${projectId}</value>
+        <value xml:lang="th">คุณไม่มีสิทธิ์ในการเข้าใช้ถึงโปรเจค#: ${projectId}</value>
+        <value xml:lang="zh">你没有访问该项目的权限:${projectId}</value>
+    </property>
+    <property key="ScrumNoAccessToScrum">
+        <value xml:lang="en">You have no access to the Scrum</value>
+    </property>
+    <property key="ScrumNoAccessToSprint">
+        <value xml:lang="en">You have no access to the Sprint</value>
+    </property>
+    <property key="ScrumNoAccessToTask">
+        <value xml:lang="de">Keine Berechtigung für die Aufgabe#: ${taskId} oder Projekt#: ${projectId}</value>
+        <value xml:lang="en">You have no access to the taskId: ${taskId} or projectId: ${projectId}</value>
+        <value xml:lang="fr">Vous n'avez pas accès à la tâche n° ${taskId} ou au projet n° ${projectId}</value>
+        <value xml:lang="it">Tu non hai accesso al compito#: ${taskId}</value>
+        <value xml:lang="nl">Geen toegang tot taak ${taskId} of project ${projectId}</value>
+        <value xml:lang="th">คุณไม่มีสิทธิ์ในการเข้าถึงงาน#: ${taskId}</value>
+        <value xml:lang="zh">你没有访问该任务的权限:${taskId}</value>
+    </property>
+    <property key="ScrumNoAccessToTest">
+        <value xml:lang="en">You have no access Test</value>
+    </property>
+    <property key="ScrumNoAccessToTimesheet">
+        <value xml:lang="de">Keine Berechtigung für die Stundenerfassung#: ${timesheetId}</value>
+        <value xml:lang="en">You have no access to the timesheet#: ${timesheetId}</value>
+        <value xml:lang="fr">Vous n'avez pas accès à la feuille d'activité n° ${timesheetId}</value>
+        <value xml:lang="it">Tu non hai accesso alla timbratura#: ${timesheetId}</value>
+        <value xml:lang="nl">Geen toegang tot urenstaat#: ${timesheetId}</value>
+        <value xml:lang="th">คุณไม่มีสิทธิ์ในการเข้าถึงตารางเวลา#: ${timesheetId}</value>
+        <value xml:lang="zh">你没有访问该时间表的权限:${timesheetId}</value>
+    </property>
+    
+    <property key="ScrumNotAllowSetActualHours">
+        <value xml:lang="en">Don't allow actual hours is more than plan hours</value>
+    </property>
+    <property key="ScrumNotAllowSetPlanHours">
+        <value xml:lang="en">Don't allow Tasks plan hours is more than Sprint backlog plan hours</value>
+    </property>
+     <property key="ScrumNotBilled">
+        <value xml:lang="en">Not Billed</value>
+    </property>
+    <property key="ScrumOpen">
+        <value xml:lang="en">Open</value>
+    </property>
+    <property key="ScrumOpenTest">
+        <value xml:lang="en">Open Test</value>
+    </property>
+    <property key="ScrumOwnerCompany">
+        <value xml:lang="en">Owner Company</value>
+    </property>
+    <property key="ScrumPartyAssignmentError">
+        <value xml:lang="en">Party ${parameters.partyId} with role ${parameters.roleTypeId} can not assigned to work effort Id ${parameters.workEffortId}</value>
+    </property>
+    <property key="ScrumPartyRelationship">
+        <value xml:lang="en">Party Relationship</value>
+    </property>
+    <property key="ScrumPlanned">
+        <value xml:lang="en">Planned</value>
+    </property>
+    <property key="ScrumPlanedHours">
+        <value xml:lang="en">Planned Hours</value>
+    </property>
+    <property key="ScrumPlanHours">
+        <value xml:lang="en">Plan Hours</value>
+    </property>
+    <property key="ScrumPlanHrs">
+        <value xml:lang="en">Plan Hrs</value>
+    </property>
+    <property key="ScrumPlhrs">
+        <value xml:lang="en">Pl hrs</value>
+    </property>
+    <property key="ScrumPlanedTime">
+        <value xml:lang="en">Plan Time</value>
+    </property>
+    <property key="ScrumProblemTask">
+        <value xml:lang="en">What problem are you having with to task?</value>
+    </property>
+    <property key="ScrumProduct">
+        <value xml:lang="en">Product</value>
+    </property>
+    <property key="ScrumProductAddProductContent">
+        <value xml:lang="en">Add Product Content</value>
+    </property>
+    <property key="ScrumProductBacklog">
+        <value xml:lang="en">Product Backlog</value>
+    </property>
+    <property key="ScrumProductBacklogCategories">
+        <value xml:lang="en">Product Backlog Categories</value>
+    </property>
+    <property key="ScrumProductBacklogEmail">
+        <value xml:lang="en">Product Backlog Email</value>
+    </property>
+    <property key="ScrumProductBacklogEmailMessage">
+        <value xml:lang="en">Product Backlog Email messages</value>
+    </property>
+    <property key="ScrumProductBacklogId">
+        <value xml:lang="en">Product Backlog Id</value>
+    </property>
+    <property key="ScrumProductBacklogItem">
+        <value xml:lang="en">Product Backlog Item</value>
+    </property>
+    <property key="ScrumProductBacklogItemInfo">
+        <value xml:lang="en">Product Backlog Item Info</value>
+    </property>
+    <property key="ScrumProductBacklogItemList">
+        <value xml:lang="en">Product Backlogs Item List</value>
+    </property>
+    <property key="ScrumProductBacklogName">
+        <value xml:lang="en">Product Backlogs Name</value>
+    </property>
+    <property key="ScrumProductBacklogTasks">
+        <value xml:lang="en">Product Backlog Tasks</value>
+    </property>
+    <property key="ScrumProductContentList">
+        <value xml:lang="en">Product Content List</value>
+    </property>
+    <property key="ScrumProductInformation">
+        <value xml:lang="en">Product Information</value>
+    </property>
+    <property key="ScrumProductList">
+        <value xml:lang="en">Product List</value>
+    </property>
+    <property key="ScrumProductMember">
+        <value xml:lang="en">Product Member</value>
+    </property>
+    <property key="ScrumProductMembersList">
+        <value xml:lang="en">Product Members List</value>
+    </property>
+    <property key="ScrumProductName">
+        <value xml:lang="en">Product Name</value>
+    </property>
+    <property key="ScrumProductOverview">
+        <value xml:lang="en">Product Overview</value>
+    </property>
+    <property key="ScrumProductOwner">
+        <value xml:lang="en">Product Owner</value>
+    </property>
+    <property key="ScrumProductStatistics">
+        <value xml:lang="en">Product Statistics</value>
+    </property>
+    <property key="ScrumProductUpdate">
+        <value xml:lang="en">Product Update</value>
+    </property>
+    <property key="ScrumProject">
+        <value xml:lang="en">Project</value>
+    </property>
+    <property key="ScrumProjectAndSprintList">
+        <value xml:lang="en">Project and Sprint List</value>
+    </property>
+    <property key="ScrumProjectAndSprintInformationChart">
+        <value xml:lang="en">Project And Sprint Information Chart</value>
+    </property>
+    <property key="ScrumProjectCurrent">
+        <value xml:lang="de">Aktuelles Projekt</value>
+        <value xml:lang="en">Current Project</value>
+        <value xml:lang="fr">Projet courant</value>
+        <value xml:lang="it">Progetto attuale</value>
+        <value xml:lang="nl">Huidig project</value>
+        <value xml:lang="th">โปรเจคที่ใช้กันในปัจจุบัน</value>
+        <value xml:lang="zh">当前项目</value>
+    </property>
+    <property key="ScrumProjectName">
+        <value xml:lang="en">Project Name</value>
+        <value xml:lang="de">Projektname</value>
+        <value xml:lang="fr">Nom du projet</value>
+        <value xml:lang="it">Nome progetto</value>
+        <value xml:lang="nl">Naam</value>
+        <value xml:lang="th">ชื่อโปรเจค</value>
+        <value xml:lang="zh">项目名称</value>
+    </property>
+    <property key="ScrumProjectGoal">
+        <value xml:lang="en">Project Goal</value>
+    </property>
+    <property key="ScrumProjectMembers">
+        <value xml:lang="en">Project Members</value>
+    </property>
+    <property key="ScrumProjectMembersList">
+        <value xml:lang="en">Project Members List</value>
+    </property>
+    <property key="ScrumProjectMoveToProduct">
+        <value xml:lang="en">Move To Product</value>
+    </property>
+    <property key="ScrumProjects">
+        <value xml:lang="en">Projects</value>
+    </property>
+    <property key="ScrumProjectSprint">
+        <value xml:lang="en">Project/Sprint</value>
+    </property>
+    <property key="ScrumQuestion">
+        <value xml:lang="en">Question</value>
+    </property>
+    <property key="ScrumQuickAddBacklog">
+        <value xml:lang="en">Quick Add Backlog</value>
+    </property>
+    <property key="ScrumQuickAddNewTask">
+        <value xml:lang="en">Quick Add New Task</value>
+    </property>
+    <property key="ScrumRateTypeId">
+        <value xml:lang="de">Verechnungs Typ ID</value>
+        <value xml:lang="en">Rate Type Id</value>
+        <value xml:lang="fr">Réf. du type de taux</value>
+        <value xml:lang="it">Tipo percentuale</value>
+        <value xml:lang="nl">Soort tarief</value>
+        <value xml:lang="zh">费率类型标识</value>
+    </property>
+    <property key="ScrumRecreateInvoice">
+        <value xml:lang="de">Faktura neuerstellen</value>
+        <value xml:lang="en">re-create Invoice</value>
+        <value xml:lang="fr">Re-créer la facture</value>
+        <value xml:lang="it">re-crea fattura</value>
+        <value xml:lang="nl">Faktuur opnieuw aanmaken</value>
+        <value xml:lang="zh">重新创建发票</value>
+    </property>
+    <property key="ScrumRelease">
+        <value xml:lang="de">Release</value>
+        <value xml:lang="en">Release</value>
+        <value xml:lang="fr">Version</value>
+        <value xml:lang="it">Rilascia</value>
+        <value xml:lang="nl">Versie</value>
+        <value xml:lang="th">การยกเว้น</value>
+        <value xml:lang="zh">发布</value>
+    </property>
+    <property key="ScrumReOpen">
+        <value xml:lang="en">re-open</value>
+    </property>
+    <property key="ScrumReply">
+        <value xml:lang="en">Reply</value>
+    </property>
+    <property key="ScrumRequestDate">
+        <value xml:lang="en">Request Date</value>
+    </property>
+    <property key="ScrumRequesterName">
+        <value xml:lang="en">Requester Name</value>
+    </property>
+    <property key="ScrumResourceName">
+        <value xml:lang="de">Ressourcenname</value>
+        <value xml:lang="en">Resource Name</value>
+        <value xml:lang="fr">Nom de ressource</value>
+        <value xml:lang="it">Nome risorsa</value>
+        <value xml:lang="nl">Naam</value>
+        <value xml:lang="th">ชื่อแหล่งที่มา</value>
+        <value xml:lang="zh">资源名称</value>
+    </property>
+    <property key="ScrumRequestName">
+        <value xml:lang="en">Request name</value>
+    </property>
+    <property key="ScrumRevision">
+        <value xml:lang="en">Revision</value>
+    </property>
+    <property key="ScrumRevisionList">
+        <value xml:lang="en">Revision List</value>
+    </property>
+    <property key="ScrumRevisions">
+        <value xml:lang="en">Revisions</value>
+    </property>
+    <property key="ScrumRole">
+        <value xml:lang="en">Role</value>
+    </property>
+    <property key="ScrumRowSubmit">
+        <value xml:lang="en">Row Submit</value>
+        <value xml:lang="fr">Soumettre la ligne</value>
+        <value xml:lang="it">Invia riga</value>
+        <value xml:lang="nl">Rij submitten</value>
+        <value xml:lang="zh">提交行</value>
+    </property>
+    <property key="ScrumSat">
+        <value xml:lang="de">Sa</value>
+        <value xml:lang="en">Sat</value>
+        <value xml:lang="fr">sam</value>
+        <value xml:lang="it">Sab</value>
+        <value xml:lang="nl">Za</value>
+        <value xml:lang="zh">周六</value>
+    </property>
+    <property key="ScrumSelectedDate">
+        <value xml:lang="de">Datum wählen</value>
+        <value xml:lang="en">Select Date</value>
+        <value xml:lang="fr">Choisir la date</value>
+        <value xml:lang="it">Seleziona data</value>
+        <value xml:lang="nl">Datum kiezen</value>
+        <value xml:lang="zh">选择日期</value>
+    </property>
+    <property key="ScrumSeq">
+        <value xml:lang="en">Seq</value>
+    </property>
+    <property key="ScrumSetComplete">
+        <value xml:lang="de">Vollständig</value>
+        <value xml:lang="en">Complete</value>
+        <value xml:lang="fr">Achevé</value>
+        <value xml:lang="it">Completa</value>
+        <value xml:lang="nl">Afgerond</value>
+        <value xml:lang="th">เสร็จสมบูรณ์</value>
+        <value xml:lang="zh">完成</value>
+    </property>
+    <property key="ScrumSetOnHold">
+        <value xml:lang="de">Pausieren</value>
+        <value xml:lang="en">On-Hold</value>
+        <value xml:lang="fr">En attente</value>
+        <value xml:lang="it">Sospeso</value>
+        <value xml:lang="nl">Op hold</value>
+        <value xml:lang="th">หยุดไว้ชั่วคราว</value>
+        <value xml:lang="zh">暂停</value>
+    </property>
+    <property key="ScrumSetOnProjectLevel">
+        <value xml:lang="en">Set on project level</value>
+    </property>
+    <property key="ScrumSetToReview">
+        <value xml:lang="en">Set to Review</value>
+    </property>
+    <property key="ScrumScrumMembersList">
+        <value xml:lang="en">Scrum Members List</value>
+    </property>
+    <property key="ScrumSinceLastMeeting">
+        <value xml:lang="en">What have you accomplish since the last meeting?</value>
+    </property>
+    <property key="ScrumSprint">
+        <value xml:lang="en">Sprint</value>
+    </property>
+    <property key="ScrumSprintBacklog">
+        <value xml:lang="en">Sprint Backlog</value>
+    </property>
+    <property key="ScrumSprintBacklogHowMany">
+        <value xml:lang="en">How many Sprint Backlog(s)?</value>
+    </property>
+    <property key="ScrumSprintBacklogList">
+        <value xml:lang="en">Sprint Backlog List</value>
+    </property>
+    <property key="ScrumSprintGoal">
+        <value xml:lang="en">Sprint Goal</value>
+    </property>
+    <property key="ScrumSprintInformation">
+        <value xml:lang="en">Sprint Information</value>
+    </property>
+    <property key="ScrumSprintLength">
+        <value xml:lang="en">Sprint Length</value>
+    </property>
+    <property key="ScrumSprintLengthWeeks">
+        <value xml:lang="en">Sprint Length Weeks</value>
+    </property>
+    <property key="ScrumSprintList">
+        <value xml:lang="en">Sprints List</value>
+    </property>
+    <property key="ScrumSprintName">
+        <value xml:lang="en">Sprint Name</value>
+    </property>
+    <property key="ScrumSprintMember">
+        <value xml:lang="en">Sprint Member</value>
+    </property>
+    <property key="ScrumSprintMemberList">
+        <value xml:lang="en">Sprint members list</value>
+    </property>
+    <property key="ScrumSprintMoveToProject">
+        <value xml:lang="en">Move To Project</value>
+    </property>
+    <property key="ScrumStatusBacklog">
+        <value xml:lang="en">Status Backlog</value>
+    </property>
+    <property key="ScrumStory">
+        <value xml:lang="en">Story</value>
+    </property>
+    <property key="ScrumSun">
+        <value xml:lang="de">So</value>
+        <value xml:lang="en">Sun</value>
+        <value xml:lang="fr">dim</value>
+        <value xml:lang="it">Dom</value>
+        <value xml:lang="nl">Zo</value>
+        <value xml:lang="zh">周日</value>
+    </property>
+    <property key="ScrumTab">
+        <value xml:lang="en">&#160;&#160;&#160;&#160;&#160;</value>
+    </property>
+    <property key="ScrumTask">
+        <value xml:lang="en">Task</value>
+    </property>
+    <property key="ScrumTaskAttachements">
+        <value xml:lang="en">Task Attachements</value>
+    </property>
+    <property key="ScrumTaskCurrent">
+        <value xml:lang="de">Aktuelle Aufgabe</value>
+        <value xml:lang="en">Current Task</value>
+        <value xml:lang="fr">Tâche courante</value>
+        <value xml:lang="it">Compito attuale</value>
+        <value xml:lang="nl">Huidige taak</value>
+        <value xml:lang="th">งานที่ใช้กันอยู่ในปัจจุบัน</value>
+        <value xml:lang="zh">当前任务</value>
+    </property>
+    <property key="ScrumTaskId">
+        <value xml:lang="en">Task Id</value>
+    </property>
+    <property key="ScrumTaskMember">
+        <value xml:lang="de">Kein Mitglied von irgendeinem Projekt, bitte Projektmanager kontaktieren</value>
+        <value xml:lang="en">You are'nt member of any sprint, contact your project manager.</value>
+        <value xml:lang="fr">Vous n'êtes membre d'aucun projet, contactez votre directeur de projet</value>
+        <value xml:lang="it">Tu non sei membro di nessun progetto, contatta il tuo responsabile di progetto.</value>
+        <value xml:lang="nl">Je bent geen actor van een sprint. Neem contact op met de projectmanager</value>
+        <value xml:lang="th">คุณไม่เป็นสมาชิกของทุก ๆ สปริ้น, ติดต่อผู้จัดการโปรเจคของคุณ</value>
+        <value xml:lang="zh">你不属于任何项目,请与你的项目经理联系</value>
+    </property>
+    <property key="ScrumTaskMemberList">
+        <value xml:lang="en">Task Members List</value>
+    </property>
+    <property key="ScrumTaskName">
+        <value xml:lang="de">Aufgabenname</value>
+        <value xml:lang="en">Task Name</value>
+        <value xml:lang="fr">Nom de la tâche</value>
+        <value xml:lang="it">Nome compito</value>
+        <value xml:lang="nl">Naam</value>
+        <value xml:lang="th">ชื่องาน</value>
+        <value xml:lang="zh">任务名称</value>
+    </property>
+    <property key="ScrumTaskNoOpen1">
+        <value xml:lang="de">Aktuell sind keine 'offenen' Aufgaben hinterlegt</value>
+        <value xml:lang="en">Currently no 'open' tasks are assigned to you.</value>
+        <value xml:lang="fr">Actuellement, aucune tâche ne vous est affectée.</value>
+        <value xml:lang="it">Attualmente nessun compito 'aperto' è assegnato a te.</value>
+        <value xml:lang="nl">Geen 'open' taken voor jou aanwezig</value>
+        <value xml:lang="th">ในปัจจุบันไม่เปิดเผยงานที่มอบหมายให้คุณ</value>
+        <value xml:lang="zh">当前没有给你分配开放的任务</value>
+    </property>
+    <property key="ScrumTaskNoOpen2">
+        <value xml:lang="de">Füge eine exitierende oder neue Aufgabe einem deiner Projekte hinzu</value>
+        <value xml:lang="en">Add an existing or a new task to a project you are member of.</value>
+        <value xml:lang="fr">Ajouter une tâche, existante ou nouvelle, à un projet dont vous êtes membre</value>
+        <value xml:lang="it">Aggiungere uno esistente o un nuovo compito al progetto che tu sei membro di.</value>
+        <value xml:lang="nl">Taak aan een van jouw projecten toevoegen</value>
+        <value xml:lang="th">เพิ่มงานที่มีอยู่หรืองานใหม่ไปยังโปรเจคคุณเป็นสมาชิกของ</value>
+        <value xml:lang="zh">给属于你的项目增加一个新的或者已经存在的任务</value>
+    </property>
+    <property key="ScrumTaskPhase">
+        <value xml:lang="de">Übergeordnete Phase</value>
+        <value xml:lang="en">Parent Phase</value>
+        <value xml:lang="fr">Phase parente</value>
+        <value xml:lang="it">Fase padre</value>
+        <value xml:lang="nl">Parentfase</value>
+        <value xml:lang="th">กลุ่มขั้นตอนการทำงาน</value>
+        <value xml:lang="zh">父阶段</value>
+    </property>
+    <property key="ScrumTaskSummary">
+        <value xml:lang="de">Aufgaben Zusammenfassung</value>
+        <value xml:lang="en">Task Summary</value>
+        <value xml:lang="fr">Résumé de la tâche</value>
+        <value xml:lang="it">Sommario compito</value>
+        <value xml:lang="nl">Samenvatting</value>
+        <value xml:lang="th">สรุปงาน</value>
+        <value xml:lang="zh">任务总览</value>
+    </property>
+    <property key="ScrumTasks">
+        <value xml:lang="en">Tasks</value>
+    </property>
+    <property key="ScrumTaskInformationChart">
+        <value xml:lang="en">Task Information Chart</value>
+    </property>
+    <property key="ScrumTasksList">
+        <value xml:lang="en">Tasks List</value>
+    </property>
+    <property key="ScrumTaskType">
+        <value xml:lang="en">Task Type</value>
+    </property>
+    <property key="ScrumTestTasksList">
+        <value xml:lang="en">Test Tasks List</value>
+    </property>
+    <property key="ScrumThu">
+        <value xml:lang="de">Do</value>
+        <value xml:lang="en">Thu</value>
+        <value xml:lang="fr">jeu</value>
+        <value xml:lang="it">Gio</value>
+        <value xml:lang="nl">Do</value>
+        <value xml:lang="zh">周四</value>
+    </property>
+    <property key="ScrumTimesheet">
+        <value xml:lang="en">Timesheet</value>
+    </property>
+    <property key="ScrumTimesheetWarningMessage">
+        <value xml:lang="en">You have to enter hours to timesheet id: [ ${warningMessage} ]</value>
+    </property>
+    <property key="ScrumToComplete">
+        <value xml:lang="de">Fertiggestellt</value>
+        <value xml:lang="en">To complete</value>
+        <value xml:lang="fr">Changer pour 'terminé'</value>
+        <value xml:lang="it">Per completare</value>
+        <value xml:lang="nl">Naar gecompleteerd</value>
+        <value xml:lang="th">ค้นหาโปรเจคแสดงขอบเขต</value>
+        <value xml:lang="zh">查找项目的范围</value>
+    </property>
+    <property key="ScrumToolTip100CharsMaximun">
+        <value xml:lang="en">100 Chars Maximum</value>
+    </property>
+    <property key="ScrumTotals">
+        <value xml:lang="de">Summe</value>
+        <value xml:lang="en">Totals</value>
+        <value xml:lang="fr">Totaux</value>
+        <value xml:lang="nl">Totalen</value>
+    </property>
+    <property key="ScrumTue">
+        <value xml:lang="de">Di</value>
+        <value xml:lang="en">Tue</value>
+        <value xml:lang="fr">mar</value>
+        <value xml:lang="it">Mar</value>
+        <value xml:lang="nl">Di</value>
+        <value xml:lang="zh">周二</value>
+    </property>
+    <property key="ScrumUnplanBacklog">
+        <value xml:lang="en">Unplanned</value>
+    </property>
+    <property key="ScrumUnplanBacklogList">
+        <value xml:lang="en">Unplan Backlog List</value>
+    </property>
+    <property key="ScrumUnplannedBacklogItemList">
+        <value xml:lang="en">Unplanned Backlog Item List</value>
+    </property>
+    <property key="ScrumUnplanSprint">
+        <value xml:lang="en">Unplanned Sprint</value>
+    </property>
+    <property key="ScrumUpdateProductBacklog">
+        <value xml:lang="en">Update Product Backlog</value>
+    </property>
+    <property key="ScrumUpdateProject">
+        <value xml:lang="en">Update Project</value>
+    </property>
+    <property key="ScrumVerifyPassword">
+        <value xml:lang="en">Verify Password</value>
+    </property>
+    <property key="ScrumViewDailyMeetingMinutes">
+        <value xml:lang="en">View Daily Meeting Minutes</value>
+    </property>
+    <property key="ScrumViewPermissionError">
+        <value xml:lang="en">You are not allowed to view this page.</value>
+        <value xml:lang="zh">不允许你浏览这个页面。</value>
+    </property>
+    <property key="ScrumWeekNumber">
+        <value xml:lang="de">Wochen Nr.</value>
+        <value xml:lang="en">Week Number</value>
+        <value xml:lang="fr">N° de semaine</value>
+        <value xml:lang="it">Settimana numero</value>
+        <value xml:lang="nl">No.</value>
+        <value xml:lang="zh">周数</value>
+    </property>
+    <property key="ScrumWen">
+        <value xml:lang="de">Mi</value>
+        <value xml:lang="en">Wen</value>
+        <value xml:lang="fr">mer</value>
+        <value xml:lang="it">Mer</value>
+        <value xml:lang="nl">Wo</value>
+        <value xml:lang="zh">周三</value>
+    </property>
+    <property key="StatusToInProcess">
+        <value xml:lang="en">Status to In Process</value>
+    </property>
+</resource>



Re: svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Posted by Hans Bakker <ma...@antwebsystems.com>.
Thank you for your comments Adam,

we will look into it.

Regards,
Hans

On Thu, 2011-07-07 at 19:22 -0500, Adam Heath wrote:
> I have some comments in-line.
> 
> On 07/05/2011 03:15 AM, hansbak@apache.org wrote:
>  > Author: hansbak
>  > Date: Tue Jul  5 08:15:32 2011
>  > New Revision: 1142915
>  >
>  > URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
>  > Log:
>  > add support for the scrum framework donated by Antwebsystems 
> Co.Ltd. more info at: 
> http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG
>  >
>  > Added: ofbiz/trunk/specialpurpose/scrum/README.txt
>  > URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/README.txt?rev=1142915&view=auto
>  > 
> ==============================================================================
>  > --- ofbiz/trunk/specialpurpose/scrum/README.txt (added)
>  > +++ ofbiz/trunk/specialpurpose/scrum/README.txt Tue Jul  5 08:15:32 
> 2011
>  > @@ -0,0 +1,42 @@
>  > +How to install the revision of task function.
>  > +=============================================
>  > +
>  > +Server requirements
>  > +1. subversion
>  > +2. libapache2-mod-python
> 
> It'd be nice if this component wasn't hard-coded to subversion.  It sucks.
> 
> There is a java library for dealing with subversion.  Why didn't you 
> use that, instead of calling svn using Process, then processing the 
> command output?
> 
> Processing command output will fail, if someone ever changes the 
> default locale for ofbiz startup.  In such cases, the output from svn 
> will change, and your parsing will break.  This can be fixed, if you 
> use ProcessBuilder, and set the correct environment settings. However, 
> that is not cross-platform.
> 
> Best to just use the subversion java library.
> 
>  > +
>  > +Installation (On server)
>  > +
>  > +1. Install subversion
>  > +2. Hook script setting
>  > +    2.1 post-commit file is hook script file that will work when 
> users commit source code to subversion repository.
>  > +          Copy post-commit file from 
> "scrum/data/hookscripts/post-commit" to hooks folder of repository and 
> then edit file following :
>  > +          Example : python 
> /usr/share/subversion/hook-scripts/commit.py "$REPOS" "$REV"
>  > +    2.2 commit.py file is python file which will send revision 
> information to Scrum web service.
>  > +          Copy commit.py from "scrum/data/hookscripts/commit.py" 
> to "/usr/share/subversion/hook-scripts/" and then edit file following :
>  > + 
> ---------------------------------------------------------------------------------
>  > +            CONFIG_PATH = ""    // the path of the 
> revision.properties should begin from home directory.
>  > +            Example : CONFIG_PATH = 
> "/home/ofbiz/ofbiz/hot-deploy/scrum/config/revision.properties"
>  > + 
> --------------------------------------------------------------------------------
>  > +3. Configure file setting : The original configure file is in 
> scrum component (/scrum/config/revision.properties) you can put it
>  > +          anywhere that you wish but should be set the path of the 
> file in commit.py file ("CONFIG_PATH=").
>  > +          Example:
>  > + 
> --------------------------------------------------------------------------------
>  > +            revision.url =https://www.antwebsystems.com/svn/
>  > +            ofbiz.webservice.url 
> =http://www.antwebsystems.com/webtools/control/SOAPService
>  > +            host.name =www.antwebsystems.com
>  > +            host.port =80
> 
> Do not include example links to your company.  Anonymize them to be 
> www.example.com, or example.ofbiz.org.
> 
>  > +
>  > +            #-- subversion admin and password
>  > +            svn.user=harry
>  > +            svn.password=harryssecret
> 
> I would personally use "user" and "password", but this is not a big 
> problem for me.
> 
>  > + 
> --------------------------------------------------------------------------------
>  > +4. Change the location path of the updateScrumRevision service in 
> .../scrum/servicedef/services.xml file.
>  > +          Example:
>  > + 
> --------------------------------------------------------------------------------
>  > +<service name="updateScrumRevision" engine="soap" export="true"
>  > + 
> location="http://www.antwebsystems.com/webtools/control/SOAPService" 
> invoke="updateScrumRevisionChange">   // the same as ofbiz.webservice.url
>  > +<implements service="updateScrumRevisionChange"/>
>  > +</service>
>  > + 
> --------------------------------------------------------------------------------
>  > +5. Restart the server.
>  >
>  > Added: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
>  > URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/config/revision.properties?rev=1142915&view=auto
>  > 
> ==============================================================================
>  > --- ofbiz/trunk/specialpurpose/scrum/config/revision.properties (added)
>  > +++ ofbiz/trunk/specialpurpose/scrum/config/revision.properties Tue 
> Jul  5 08:15:32 2011
>  > @@ -0,0 +1,34 @@
>  > 
> +###############################################################################
>  > +# 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.
>  > 
> +###############################################################################
>  > +
>  > +# -- The section
>  > +[config]
>  > +# -- revision url example : https://www.antwebsystems.com/svn/
>  > +revision.url=https://www.antwebsystems.com/svn/
> 
> This pattern is broken.  The java files are hard-coded to look for the 
> ending "svn/", which is a restriction that should not be.  The java 
> code is also broken, in that it'll match a string that is "-svn/", 
> which is not what I think you want.
> 
>  > +
>  > +# -- The  OFBiz Web Service url
>  > 
> +ofbiz.webservice.url=http://www.antwebsystems.com/webtools/control/SOAPService
>  > +
>  > +# -- the Host name should be the name of host or by default 
> "localhost"
>  > +host.name=www.antwebsystems.com
>  > +host.port=80
>  > +
>  > +# -- subversion user and password
>  > +svn.user=general
>  > +svn.password=general23
> 
> Do not include example links to your company.  Anonymize them to be 
> www.example.com, or example.ofbiz.org.
> 
> 

-- 
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Myself on twitter: http://twitter.com/hansbak
Antwebsystems.com: Quality services for competitive rates.


Re: svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Posted by Adam Heath <do...@brainfood.com>.
I have some comments in-line.

On 07/05/2011 03:15 AM, hansbak@apache.org wrote:
 > Author: hansbak
 > Date: Tue Jul  5 08:15:32 2011
 > New Revision: 1142915
 >
 > URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
 > Log:
 > add support for the scrum framework donated by Antwebsystems 
Co.Ltd. more info at: 
http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG
 >
 > Added: ofbiz/trunk/specialpurpose/scrum/README.txt
 > URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/README.txt?rev=1142915&view=auto
 > 
==============================================================================
 > --- ofbiz/trunk/specialpurpose/scrum/README.txt (added)
 > +++ ofbiz/trunk/specialpurpose/scrum/README.txt Tue Jul  5 08:15:32 
2011
 > @@ -0,0 +1,42 @@
 > +How to install the revision of task function.
 > +=============================================
 > +
 > +Server requirements
 > +1. subversion
 > +2. libapache2-mod-python

It'd be nice if this component wasn't hard-coded to subversion.  It sucks.

There is a java library for dealing with subversion.  Why didn't you 
use that, instead of calling svn using Process, then processing the 
command output?

Processing command output will fail, if someone ever changes the 
default locale for ofbiz startup.  In such cases, the output from svn 
will change, and your parsing will break.  This can be fixed, if you 
use ProcessBuilder, and set the correct environment settings. However, 
that is not cross-platform.

Best to just use the subversion java library.

 > +
 > +Installation (On server)
 > +
 > +1. Install subversion
 > +2. Hook script setting
 > +    2.1 post-commit file is hook script file that will work when 
users commit source code to subversion repository.
 > +          Copy post-commit file from 
"scrum/data/hookscripts/post-commit" to hooks folder of repository and 
then edit file following :
 > +          Example : python 
/usr/share/subversion/hook-scripts/commit.py "$REPOS" "$REV"
 > +    2.2 commit.py file is python file which will send revision 
information to Scrum web service.
 > +          Copy commit.py from "scrum/data/hookscripts/commit.py" 
to "/usr/share/subversion/hook-scripts/" and then edit file following :
 > + 
---------------------------------------------------------------------------------
 > +            CONFIG_PATH = ""    // the path of the 
revision.properties should begin from home directory.
 > +            Example : CONFIG_PATH = 
"/home/ofbiz/ofbiz/hot-deploy/scrum/config/revision.properties"
 > + 
--------------------------------------------------------------------------------
 > +3. Configure file setting : The original configure file is in 
scrum component (/scrum/config/revision.properties) you can put it
 > +          anywhere that you wish but should be set the path of the 
file in commit.py file ("CONFIG_PATH=").
 > +          Example:
 > + 
--------------------------------------------------------------------------------
 > +            revision.url =https://www.antwebsystems.com/svn/
 > +            ofbiz.webservice.url 
=http://www.antwebsystems.com/webtools/control/SOAPService
 > +            host.name =www.antwebsystems.com
 > +            host.port =80

Do not include example links to your company.  Anonymize them to be 
www.example.com, or example.ofbiz.org.

 > +
 > +            #-- subversion admin and password
 > +            svn.user=harry
 > +            svn.password=harryssecret

I would personally use "user" and "password", but this is not a big 
problem for me.

 > + 
--------------------------------------------------------------------------------
 > +4. Change the location path of the updateScrumRevision service in 
.../scrum/servicedef/services.xml file.
 > +          Example:
 > + 
--------------------------------------------------------------------------------
 > +<service name="updateScrumRevision" engine="soap" export="true"
 > + 
location="http://www.antwebsystems.com/webtools/control/SOAPService" 
invoke="updateScrumRevisionChange">   // the same as ofbiz.webservice.url
 > +<implements service="updateScrumRevisionChange"/>
 > +</service>
 > + 
--------------------------------------------------------------------------------
 > +5. Restart the server.
 >
 > Added: ofbiz/trunk/specialpurpose/scrum/config/revision.properties
 > URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/config/revision.properties?rev=1142915&view=auto
 > 
==============================================================================
 > --- ofbiz/trunk/specialpurpose/scrum/config/revision.properties (added)
 > +++ ofbiz/trunk/specialpurpose/scrum/config/revision.properties Tue 
Jul  5 08:15:32 2011
 > @@ -0,0 +1,34 @@
 > 
+###############################################################################
 > +# 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.
 > 
+###############################################################################
 > +
 > +# -- The section
 > +[config]
 > +# -- revision url example : https://www.antwebsystems.com/svn/
 > +revision.url=https://www.antwebsystems.com/svn/

This pattern is broken.  The java files are hard-coded to look for the 
ending "svn/", which is a restriction that should not be.  The java 
code is also broken, in that it'll match a string that is "-svn/", 
which is not what I think you want.

 > +
 > +# -- The  OFBiz Web Service url
 > 
+ofbiz.webservice.url=http://www.antwebsystems.com/webtools/control/SOAPService
 > +
 > +# -- the Host name should be the name of host or by default 
"localhost"
 > +host.name=www.antwebsystems.com
 > +host.port=80
 > +
 > +# -- subversion user and password
 > +svn.user=general
 > +svn.password=general23

Do not include example links to your company.  Anonymize them to be 
www.example.com, or example.ofbiz.org.



Re: svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Posted by Adam Heath <do...@brainfood.com>.
On 07/05/2011 07:54 PM, Hans Bakker wrote:
> Sure mr Tech, we will have a look at it today....!
>
> seen our fix on your commit?

Yes, in what situations does it help?

I did run the standard series of tests, and they did work.

>
> Regards,
> Hans
>
> On Tue, 2011-07-05 at 15:03 -0500, Adam Heath wrote:
>> On 07/05/2011 03:15 AM, hansbak@apache.org wrote:
>>> Author: hansbak
>>> Date: Tue Jul  5 08:15:32 2011
>>> New Revision: 1142915
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
>>> Log:
>>> add support for the scrum framework donated by Antwebsystems Co.Ltd. more info at: http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG
>>
>> Um, hello, McFly, your commit broke the build.
>>
>> Please, please, please, Hans, run the test cases from a *clean*
>> checkout, *before* committing anything.  Pretty please!
>


Re: svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Posted by Hans Bakker <ma...@antwebsystems.com>.
Sure mr Tech, we will have a look at it today....!

seen our fix on your commit?

Regards,
Hans

On Tue, 2011-07-05 at 15:03 -0500, Adam Heath wrote:
> On 07/05/2011 03:15 AM, hansbak@apache.org wrote:
> > Author: hansbak
> > Date: Tue Jul  5 08:15:32 2011
> > New Revision: 1142915
> >
> > URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
> > Log:
> > add support for the scrum framework donated by Antwebsystems Co.Ltd. more info at: http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG
> 
> Um, hello, McFly, your commit broke the build.
> 
> Please, please, please, Hans, run the test cases from a *clean* 
> checkout, *before* committing anything.  Pretty please!

-- 
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Myself on twitter: http://twitter.com/hansbak
Antwebsystems.com: Quality services for competitive rates.


Re: svn commit: r1142915 [1/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Posted by Adam Heath <do...@brainfood.com>.
On 07/05/2011 03:15 AM, hansbak@apache.org wrote:
> Author: hansbak
> Date: Tue Jul  5 08:15:32 2011
> New Revision: 1142915
>
> URL: http://svn.apache.org/viewvc?rev=1142915&view=rev
> Log:
> add support for the scrum framework donated by Antwebsystems Co.Ltd. more info at: http://www.antwebsystems.com/control/ViewBlogArticle?articleContentId=21140&blogContentId=AWS_BLOG

Um, hello, McFly, your commit broke the build.

Please, please, please, Hans, run the test cases from a *clean* 
checkout, *before* committing anything.  Pretty please!