[jboss-svn-commits] JBL Code SVN: r7121 - in labs/jira-extensions/trunk: . jira-file-modifications jira-file-modifications/jira-3.6 jira-file-modifications/jira-3.6/edit-webapp jira-file-modifications/jira-3.6/edit-webapp/WEB-INF jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs jira-file-modifications/jira-3.6/edit-webapp/decorators jira-file-modifications/jira-3.6/edit-webapp/includes jira-file-modifications/jira-3.6/edit-webapp/includes/decorators jira-file-modifications/jira-3.6/edit-webapp/includes/navigator jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table jira-file-modifications/jira-3.6/edit-webapp/includes/panels jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project jira-file-modifications/jira-3.6/edit-webapp/secure jira-file-modifications/jira-3.6/edit-webapp/secure/admin jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views jira-file-modifications! /jira-3.6/edit-webapp/secure/admin/views/voting jira-file-modifications/jira-3.6/edit-webapp/secure/project jira-file-modifications/jira-3.6/edit-webapp/secure/project/views jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting jira-file-modifications/jira-3.6/edit-webapp/secure/views jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator multiselect multiselect/jira-3.6 multiselect/jira-3.6/edit-webapp multiselect/jira-3.6/edit-webapp/WEB-INF multiselect/jira-3.6/edit-webapp/WEB-INF/lib releasenotes-report/src/etc releasenotes-report/src/java/pl/net/mamut

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 25 19:02:16 EDT 2006


Author: sohil.shah at jboss.com
Date: 2006-10-25 19:02:12 -0400 (Wed, 25 Oct 2006)
New Revision: 7121

Added:
   labs/jira-extensions/trunk/extensions.patch
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/actions.xml
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitygroup.xml
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitymodel.xml
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/votes-assigment-types.xml
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/decorators/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/decorators/admin.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/decorators/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/decorators/bodytop.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table/header.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project/schemes.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addscheme.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addvotesassigment.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletescheme.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletevotesassigment.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editscheme.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editvotesassigments.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/viewschemes.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting/selectprojectscheme.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports/globalreports.jsp
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator/
   labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator/rnotes.jsp
   labs/jira-extensions/trunk/multiselect/jira-3.6/
   labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/
   labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/WEB-INF/
   labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/WEB-INF/lib/
   labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/WEB-INF/lib/atlassian-configurableobjects-0.4.22.jar
Modified:
   labs/jira-extensions/trunk/common.xml
   labs/jira-extensions/trunk/maven.xml
   labs/jira-extensions/trunk/releasenotes-report/src/etc/atlassian-plugin.xml
   labs/jira-extensions/trunk/releasenotes-report/src/java/pl/net/mamut/ReleaseNotesReport.java
Log:
integrating jira-3.6.2 and Ryan's patch into the codebase

Modified: labs/jira-extensions/trunk/common.xml
===================================================================
--- labs/jira-extensions/trunk/common.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/common.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -6,7 +6,7 @@
     <dependencies>
         <dependency>
             <id>atlassian-jira</id>
-            <version>3.3</version>
+            <version>3.6.2</version>
         </dependency>
 
 	<dependency>
@@ -16,7 +16,7 @@
 	
         <dependency>
           <id>atlassian-core</id>
-          <version>2.3.9</version>
+          <version>2.5.2</version>
         </dependency>
 
         <dependency>
@@ -31,7 +31,7 @@
 
         <dependency>
           <id>atlassian-configurableobjects</id>
-          <version>0.4.11</version>
+          <version>0.4.22</version>
         </dependency>
 
         <dependency>
@@ -46,7 +46,7 @@
 
         <dependency>
           <id>atlassian-velocity</id>
-          <version>0.3.9</version>
+          <version>0.3.19</version>
         </dependency>
 
         <dependency>
@@ -56,7 +56,7 @@
 
         <dependency>
           <id>atlassian-plugins</id>
-          <version>0.4</version>
+          <version>0.3.26</version>
         </dependency>
 
         <dependency>
@@ -66,8 +66,8 @@
 
         <!-- Atlassian jar dependencies -->
         <dependency>
-          <id>atlassian-jira-extras</id>
-          <version>0.5.2</version>
+          <id>atlassian-extras</id>
+          <version>0.7.20</version>
         </dependency>
 
         <dependency>
@@ -150,7 +150,7 @@
 
         <dependency>
           <id>lucene</id>
-          <version>1.4-final</version>
+          <version>1.4.3</version>
         </dependency>
 
         <dependency>

Added: labs/jira-extensions/trunk/extensions.patch
===================================================================
--- labs/jira-extensions/trunk/extensions.patch	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/extensions.patch	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,90 @@
+Index: common.xml
+===================================================================
+--- common.xml	(revision 4808)
++++ common.xml	(working copy)
+@@ -6,7 +6,7 @@
+     <dependencies>
+         <dependency>
+             <id>atlassian-jira</id>
+-            <version>3.3</version>
++            <version>3.6.2</version>
+         </dependency>
+ 
+ 	<dependency>
+@@ -16,7 +16,7 @@
+ 	
+         <dependency>
+           <id>atlassian-core</id>
+-          <version>2.3.9</version>
++          <version>2.5.2</version>
+         </dependency>
+ 
+         <dependency>
+@@ -31,7 +31,7 @@
+ 
+         <dependency>
+           <id>atlassian-configurableobjects</id>
+-          <version>0.4.11</version>
++          <version>0.4.22</version>
+         </dependency>
+ 
+         <dependency>
+@@ -46,7 +46,7 @@
+ 
+         <dependency>
+           <id>atlassian-velocity</id>
+-          <version>0.3.9</version>
++          <version>0.3.19</version>
+         </dependency>
+ 
+         <dependency>
+@@ -56,7 +56,7 @@
+ 
+         <dependency>
+           <id>atlassian-plugins</id>
+-          <version>0.4</version>
++          <version>0.3.26</version>
+         </dependency>
+ 
+         <dependency>
+@@ -66,8 +66,8 @@
+ 
+         <!-- Atlassian jar dependencies -->
+         <dependency>
+-          <id>atlassian-jira-extras</id>
+-          <version>0.5.2</version>
++          <id>atlassian-extras</id>
++          <version>0.7.20</version>
+         </dependency>
+ 
+         <dependency>
+@@ -150,7 +150,7 @@
+ 
+         <dependency>
+           <id>lucene</id>
+-          <version>1.4-final</version>
++          <version>1.4.3</version>
+         </dependency>
+ 
+         <dependency>
+Index: releasenotes-report/src/etc/atlassian-plugin.xml
+===================================================================
+--- releasenotes-report/src/etc/atlassian-plugin.xml	(revision 4808)
++++ releasenotes-report/src/etc/atlassian-plugin.xml	(working copy)
+@@ -21,14 +21,14 @@
+                 <key>versions</key>
+                 <name>report.releasenotes.versions.name</name>
+                 <description>report.releasenotes.versions.description</description>
+-                <type>selectmultiple</type>
++                <type>multiselect</type>
+                 <values class="com.atlassian.jira.portal.VersionValuesGenerator" />
+             </property>
+             <property>
+                 <key>sections</key>
+                 <name>report.releasenotes.sections.name</name>
+                 <description>report.releasenotes.sections.description</description>
+-                <type>selectmultiple</type>
++                <type>multiselect</type>
+                 <values class="pl.net.mamut.jira.IssuesTypesValueGenerator"/>
+             </property>
+             <property>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/actions.xml
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/actions.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/actions.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,2199 @@
+<!-- Actions for the JIRA Web Application -->
+<actions>
+
+    <!-- Entity Administration -->
+    <action name="user.Logout" alias="Logout">
+        <view name="error">/logoutconfirm.jsp</view>
+        <view name="confirm">/logoutconfirm.jsp</view>
+        <view name="logout">/logout.jsp</view>
+    </action>
+
+    <action name="project.AddProject" alias="AddProject" roles-required="admin">
+        <view name="error">/secure/admin/views/addproject.jsp</view>
+        <view name="input">/secure/admin/views/addproject.jsp</view>
+    </action>
+
+    <action name="project.DeleteProject" alias="DeleteProject" roles-required="admin">
+        <view name="success">/secure/admin/default.jsp</view>
+        <view name="error">/secure/admin/views/deleteprojectconfirm.jsp</view>
+        <view name="input">/secure/admin/views/deleteprojectconfirm.jsp</view>
+    </action>
+
+    <action name="admin.notification.SelectProjectScheme" alias="SelectProjectScheme" roles-required="admin">
+        <view name="success">/secure/project/views/notifications/selectprojectscheme.jsp</view>
+        <view name="input">/secure/project/views/notifications/selectprojectscheme.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.SelectProjectWorkflowScheme" alias="SelectProjectWorkflowScheme" roles-required="admin">
+        <view name="input">/secure/project/views/workflows/selectprojectscheme.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.SelectProjectWorkflowSchemeStep2" alias="SelectProjectWorkflowSchemeStep2" roles-required="admin">
+        <view name="success">/secure/project/views/workflows/selectprojectschemestep2.jsp</view>
+        <view name="error">/secure/project/views/workflows/selectprojectschemestep2.jsp</view>
+        <view name="input">/secure/project/views/workflows/selectprojectschemestep2.jsp</view>
+        <view name="workflowmigrationerror">/secure/views/workflowmigrationerror.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.SelectProjectCategory" alias="SelectProjectCategory" roles-required="admin">
+        <view name="success">/secure/project/views/selectprojectcategory.jsp</view>
+        <view name="input">/secure/project/views/selectprojectcategory.jsp</view>
+    </action>
+
+    <action name="admin.permission.SelectProjectPermissionScheme" alias="SelectProjectPermissionScheme" roles-required="admin">
+        <view name="success">/secure/project/views/permissions/selectprojectpermissionscheme.jsp</view>
+        <view name="input">/secure/project/views/permissions/selectprojectpermissionscheme.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.SelectProjectIssueSecurityScheme" alias="SelectProjectIssueSecurityScheme" roles-required="admin">
+        <view name="success">/secure/project/views/issuesecurity/selectprojectissuesecurityscheme.jsp</view>
+        <view name="input">/secure/project/views/issuesecurity/selectprojectissuesecurityscheme.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.workflow.ActivateWorkflow" alias="ActivateWorkflow" roles-required="admin">
+        <view name="workflowmigrationerror">/secure/views/workflowmigrationerror.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!-- User Administration -->
+    <action name="admin.user.GroupBrowser" alias="GroupBrowser" roles-required="admin">
+        <view name="success">/secure/admin/user/views/groupbrowser.jsp</view>
+    </action>
+
+    <action name="admin.user.ViewGroup" alias="ViewGroup" roles-required="admin">
+        <view name="success">/secure/admin/user/views/viewgroup.jsp</view>
+    </action>
+
+    <action name="admin.user.DeleteGroup" alias="DeleteGroup" roles-required="admin">
+        <view name="error">/secure/admin/user/views/deletegroupconfirm.jsp</view>
+        <view name="input">/secure/admin/user/views/deletegroupconfirm.jsp</view>
+    </action>
+
+    <action name="admin.user.UserBrowser" alias="UserBrowser" roles-required="admin">
+        <view name="success">/secure/admin/user/views/userbrowser.jsp</view>
+    </action>
+
+    <action name="admin.user.UserPickerBrowser" alias="UserPickerBrowser" roles-required="pickusers">
+        <view name="success">/secure/popups/userpicker.jsp</view>
+        <view name="input">/secure/popups/userpicker.jsp</view>
+    </action>
+
+    <action name="issue.navigator.DateRangePicker" alias="DateRangePicker">
+        <view name="duedate">/secure/popups/duedatepicker.jsp</view>
+        <view name="generic">/secure/popups/daterangepicker.jsp</view>
+    </action>
+
+    <action name="admin.IconPicker" alias="IconPicker">
+        <view name="error">/secure/popups/iconpicker.jsp</view>
+        <view name="success">/secure/popups/iconpicker.jsp</view>
+    </action>
+
+    <action name="admin.user.AddUser" alias="AddUser" roles-required="admin">
+        <view name="error">/secure/admin/user/views/adduser.jsp</view>
+        <view name="input">/secure/admin/user/views/adduser.jsp</view>
+    </action>
+
+    <action name="admin.user.ViewUser" alias="ViewUser" roles-required="admin">
+        <view name="success">/secure/admin/user/views/viewuser.jsp</view>
+        <view name="error">/secure/admin/user/views/viewuser.jsp</view>
+    </action>
+
+    <action name="admin.user.EditUser" alias="EditUser" roles-required="admin">
+        <view name="error">/secure/admin/user/views/editprofile.jsp</view>
+        <view name="input">/secure/admin/user/views/editprofile.jsp</view>
+    </action>
+
+    <action name="admin.user.EditUserGroups" alias="EditUserGroups" roles-required="admin">
+        <view name="error">/secure/admin/user/views/editusergroups.jsp</view>
+        <view name="success">/secure/admin/user/views/editusergroups.jsp</view>
+    </action>
+
+    <action name="admin.user.DeleteUser" alias="DeleteUser" roles-required="admin">
+        <view name="error">/secure/admin/user/views/deleteuserconfirm.jsp</view>
+        <view name="input">/secure/admin/user/views/deleteuserconfirm.jsp</view>
+    </action>
+
+    <action name="admin.user.SetPassword" alias="SetPassword" roles-required="admin">
+        <view name="error">/secure/admin/user/views/setpassword.jsp</view>
+        <view name="input">/secure/admin/user/views/setpassword.jsp</view>
+    </action>
+
+    <action name="project.EditVersionDetails" alias="EditVersionDetails">
+        <view name="success">/secure/project/views/editversiondetails.jsp</view>
+        <view name="error">/secure/project/views/editversiondetails.jsp</view>
+        <view name="input">/secure/project/views/editversiondetails.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!-- Project administration -->
+    <action name="project.ViewProjects" alias="ViewProjects">
+        <view name="success">/secure/project/views/viewprojects.jsp</view>
+    </action>
+
+    <action name="project.ViewProject" alias="ViewProject">
+        <view name="input">/secure/project/views/viewprojecterror.jsp</view>
+        <view name="success">/secure/project/views/viewproject.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.EditProject" alias="EditProject">
+        <view name="success">/secure/project/views/editproject.jsp</view>
+        <view name="error">/secure/project/views/editproject.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.AddComponent" alias="AddComponent">
+        <view name="success">/secure/project/views/addcomponent.jsp</view>
+        <view name="error">/secure/project/views/addcomponent.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.DeleteComponent" alias="DeleteComponent">
+        <view name="success">/secure/project/views/deletecomponentconfirm.jsp</view>
+        <view name="error">/secure/project/views/deletecomponentconfirm.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.EditComponent" alias="EditComponent">
+        <view name="success">/secure/project/views/editcomponent.jsp</view>
+        <view name="error">/secure/project/views/editcomponent.jsp</view>
+        <view name="input">/secure/project/views/editcomponent.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.enterprise.SelectComponentAssignees" alias="SelectComponentAssignees">
+        <view name="error">/secure/project/views/select_componentassignees.jsp</view>
+        <view name="input">/secure/project/views/select_componentassignees.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.ManageVersions" alias="ManageVersions">
+        <view name="success">/secure/project/views/manageversions.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+        <command name="moveUp" alias="VersionUp">
+            <view name="success">/secure/project/views/manageversions.jsp</view>
+            <view name="error">/secure/project/views/manageversions.jsp</view>
+        </command>
+        <command name="moveDown" alias="VersionDown">
+            <view name="success">/secure/project/views/manageversions.jsp</view>
+            <view name="error">/secure/project/views/manageversions.jsp</view>
+        </command>
+        <command name="moveFirst" alias="VersionFirst">
+            <view name="success">/secure/project/views/manageversions.jsp</view>
+            <view name="error">/secure/project/views/manageversions.jsp</view>
+        </command>
+        <command name="moveLast" alias="VersionLast">
+            <view name="success">/secure/project/views/manageversions.jsp</view>
+            <view name="error">/secure/project/views/manageversions.jsp</view>
+        </command>
+    </action>
+
+    <action name="project.AddVersion" alias="AddVersion">
+        <view name="success">/secure/project/views/manageversions.jsp</view>
+        <view name="error">/secure/project/views/manageversions.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.EditVersionReleaseDate" alias="EditVersionReleaseDate">
+        <view name="success">/secure/project/views/editversionreleasedate.jsp</view>
+        <view name="error">/secure/project/views/editversionreleasedate.jsp</view>
+        <view name="input">/secure/project/views/editversionreleasedate.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.EditVersionReleases" alias="EditVersionReleases">
+        <view name="success">/secure/project/views/manageversions.jsp</view>
+        <view name="input">/secure/project/views/checkversionreleases.jsp</view>
+        <view name="checkrelease">/secure/project/views/checkversionreleases.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.EditVersionArchives" alias="EditVersionArchives">
+        <view name="success">/secure/project/views/manageversions.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.MergeVersions" alias="MergeVersions">
+        <view name="success">/secure/project/views/mergeversionconfirm.jsp</view>
+        <view name="input">/secure/project/views/mergeversionselect.jsp</view>
+        <view name="error">/secure/project/views/mergeversionselect.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+        <command name="merge" alias="Merge">
+            <view name="error">/secure/project/views/mergeversionselect.jsp</view>
+            <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+        </command>
+    </action>
+
+    <action name="project.RescheduleVersions" alias="RescheduleVersions">
+        <view name="success">/secure/project/views/rescheduleversions.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="project.DeleteVersion" alias="DeleteVersion">
+        <view name="success">/secure/project/views/deleteversionconfirm.jsp</view>
+        <view name="error">/secure/project/views/deleteversionconfirm.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!--ProjectCategory Actions-->
+    <action name="projectcategory.AddProjectCategory" alias="ViewProjectCategories" roles-required="admin">
+        <view name="success">/secure/admin/views/projectcategory/viewprojectcategories.jsp</view>
+        <view name="input">/secure/admin/views/projectcategory/viewprojectcategories.jsp</view>
+        <view name="error">/secure/admin/views/projectcategory/viewprojectcategories.jsp</view>
+    </action>
+
+    <action name="projectcategory.AddProjectCategory" alias="AddProjectCategory" roles-required="admin">
+        <view name="input">/secure/admin/views/projectcategory/viewprojectcategories.jsp</view>
+        <view name="error">/secure/admin/views/projectcategory/viewprojectcategories.jsp</view>
+    </action>
+
+    <action name="projectcategory.EditProjectCategory" alias="EditProjectCategory" roles-required="admin">
+        <view name="input">/secure/admin/views/projectcategory/editprojectcategory.jsp</view>
+        <view name="error">/secure/admin/views/projectcategory/editprojectcategory.jsp</view>
+    </action>
+
+    <action name="projectcategory.DeleteProjectCategory" alias="DeleteProjectCategory" roles-required="admin">
+        <view name="input">/secure/admin/views/projectcategory/deleteprojectcategoryconfirm.jsp</view>
+        <view name="error">/secure/admin/views/projectcategory/deleteprojectcategoryconfirm.jsp</view>
+    </action>
+
+    <!-- Utility Actions -->
+    <action name="util.ExportAll" alias="XmlBackup" roles-required="admin">
+        <view name="success">/secure/admin/views/exportall_result.jsp</view>
+        <view name="error">/secure/admin/views/exportall_options.jsp</view>
+        <view name="confirm">/secure/admin/views/exportall_confirm.jsp</view>
+        <view name="fixchars">/secure/admin/views/exportall_fixchars.jsp</view>
+        <view name="input">/secure/admin/views/exportall_options.jsp</view>
+    </action>
+
+    <action name="util.ImportAll" alias="XmlRestore" roles-required="admin">
+        <view name="success">/secure/admin/views/importall_result.jsp</view>
+        <view name="error">/secure/admin/views/importall_options.jsp</view>
+        <view name="input">/secure/admin/views/importall_options.jsp</view>
+    </action>
+
+    <!-- The security check is built into this action, as the user is not loged in
+    when it is called. -->
+    <action name="util.CleanData" alias="CleanData">
+        <view name="success">/views/cleandatabase.jsp</view>
+        <view name="error">/views/cleandatabase.jsp</view>
+    </action>
+    <action name="util.LDAPConfigurer" alias="LDAPConfigurer">
+        <view name="success">/views/ldapconfigurer_result.jsp</view>
+        <view name="error">/views/ldapconfigurer.jsp</view>
+    </action>
+
+    <action name="util.BugzillaImport" alias="BugzillaImport" roles-required="admin">
+        <view name="input">/secure/admin/views/bugzillaimport/bugzilla_connect.jsp</view>
+        <view name="success">/secure/admin/views/bugzillaimport/bugzilla_select.jsp</view>
+        <view name="error">/secure/admin/views/bugzillaimport/bugzilla_connect.jsp</view>
+
+        <view name="monitor">/secure/admin/views/bugzillaimport/bugzilla_monitor.jsp?decorator=none</view>
+
+        <command name="setProjectDefaults" alias="BugzillaSetProjectDefaults">
+            <view name="choosemappings">/secure/admin/views/bugzillaimport/bugzilla_choosemappings.jsp</view>
+        </command>
+
+        <command name="run" alias="BugzillaRun">
+            <view name="success">/secure/admin/views/bugzillaimport/bugzilla_run.jsp</view>
+            <view name="input">/secure/admin/views/bugzillaimport/bugzilla_choosemappings.jsp</view>
+            <view name="error">/secure/admin/views/bugzillaimport/bugzilla_select.jsp</view>
+        </command>
+
+    </action>
+    <action name="util.MantisImport" alias="MantisImport" roles-required="admin">
+        <view name="input">/secure/admin/views/mantisimport/mantis_connect.jsp</view>
+        <view name="success">/secure/admin/views/mantisimport/mantis_select.jsp</view>
+        <view name="error">/secure/admin/views/mantisimport/mantis_connect.jsp</view>
+
+        <view name="monitor">/secure/admin/views/mantisimport/mantis_monitor.jsp?decorator=none</view>
+
+        <command name="setProjectDefaults" alias="MantisSetProjectDefaults">
+            <view name="choosemappings">/secure/admin/views/mantisimport/mantis_choosemappings.jsp</view>
+        </command>
+
+        <command name="run" alias="MantisRun">
+            <view name="success">/secure/admin/views/mantisimport/mantis_run.jsp</view>
+            <view name="input">/secure/admin/views/mantisimport/mantis_choosemappings.jsp</view>
+            <view name="error">/secure/admin/views/mantisimport/mantis_select.jsp</view>
+        </command>
+    </action>
+
+    <action name="util.TestTrackProXMLImport" alias="TestTrackProXMLImport" roles-required="admin">
+        <view name="input">/secure/admin/views/testtrackproimport/testtrackpro_xmlimport.jsp</view>
+        <view name="success">/secure/admin/views/testtrackproimport/testtrackpro_xmlimport.jsp</view>
+    </action>
+
+    <action name="util.CsvImporter" alias="CsvImport" roles-required="admin">
+        <view name="error">/secure/admin/views/importers/csv/csvimport.jsp</view>
+        <view name="input">/secure/admin/views/importers/csv/csvimport.jsp</view>
+        <view name="settings">/secure/admin/views/importers/csv/importsettings.jsp</view>
+        <view name="logs">/secure/admin/views/importers/csv/viewlogs.jsp</view>
+        <view name="finished">/secure/admin/views/importers/csv/finishedimport.jsp</view>
+        <view name="success">/secure/admin/views/importers/csv/csvimport.jsp</view>
+    </action>
+
+    <action name="util.csv.ConfigureCsvMapping" alias="ConfigureCsvMapping" roles-required="admin">
+        <view name="error">/secure/admin/views/importers/csv/csvconfig.jsp</view>
+        <view name="input">/secure/admin/views/importers/csv/csvconfig.jsp</view>
+        <view name="1">/secure/admin/views/importers/csv/configproject.jsp</view>
+        <view name="2">/secure/admin/views/importers/csv/configissuemapping.jsp</view>
+        <view name="3">/secure/admin/views/importers/csv/configvaluemapping.jsp</view>
+        <view name="5">/secure/admin/views/importers/csv/savepropertiesfile.jsp</view>
+        <view name="4">/secure/admin/views/importers/csv/configdateuserdefaults.jsp</view>
+        <view name="success">/secure/admin/views/importers/csv/csvimport.jsp</view>
+        <view name="importwithoutsaving">CsvImport!settings.jspa</view>
+    </action>
+
+    <!--    <action name="util.IdsImporter" alias="IdsImport" roles-required="admin">-->
+    <!--        <view name="input">/secure/admin/views/importers/importcsv.jsp</view>-->
+    <!--        <view name="success">/secure/admin/views/importers/importcsv.jsp</view>-->
+    <!--    </action>-->
+    <!--    <action name="util.XmlImporter" alias="XmlImport" roles-required="admin">-->
+    <!--        <view name="input">/secure/admin/views/importers/xmlimport.jsp</view>-->
+    <!--        <view name="success">/secure/admin/views/importers/xmlimport.jsp</view>-->
+    <!--    </action>-->
+
+    <action name="util.ShowConstantsHelp" alias="ShowConstantsHelp" roles-required="use">
+        <view name="success">/secure/showconstantshelp.jsp</view>
+    </action>
+
+    <action name="util.JellyRunner" alias="JellyRunner" roles-required="admin">
+        <view name="input">/secure/admin/views/jelly_runner.jsp</view>
+        <view name="error">/secure/admin/views/jelly_runner.jsp</view>
+        <view name="success">/secure/admin/views/jelly_result.jsp</view>
+    </action>
+
+    <!-- JIRA Administration -->
+    <action name="admin.ViewPlugins" alias="ViewPlugins" roles-required="admin">
+        <view name="input">/secure/admin/views/plugins/viewplugins.jsp</view>
+        <view name="success">/secure/admin/views/plugins/viewplugins.jsp</view>
+    </action>
+
+    <action name="admin.ViewListeners" alias="ViewListeners" roles-required="admin">
+        <view name="input">/secure/admin/views/listeners/viewlisteners.jsp</view>
+        <view name="success">/secure/admin/views/listeners/viewlisteners.jsp</view>
+    </action>
+
+    <action name="admin.EditListener" alias="EditListener" roles-required="admin">
+        <view name="input">/secure/admin/views/listeners/editlistener.jsp</view>
+        <view name="error">/secure/admin/views/listeners/editlistener.jsp</view>
+    </action>
+
+    <action name="admin.ViewServices" alias="ViewServices" roles-required="admin">
+        <view name="input">/secure/admin/views/services/viewservices.jsp</view>
+        <view name="success">/secure/admin/views/services/viewservices.jsp</view>
+    </action>
+
+    <action name="admin.EditService" alias="EditService" roles-required="admin">
+        <view name="input">/secure/admin/views/services/editservice.jsp</view>
+        <view name="error">/secure/admin/views/services/editservice.jsp</view>
+    </action>
+
+    <action name="admin.linking.ViewLinkTypes" alias="ViewLinkTypes" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/viewlinktypes.jsp</view>
+        <view name="error">/secure/admin/jira/views/viewlinktypes.jsp</view>
+        <view name="success">/secure/admin/jira/views/viewlinktypes.jsp</view>
+
+        <command name="activate" alias="IssueLinkingActivate">
+            <view name="success">/secure/admin/jira/views/viewlinktypes.jsp</view>
+            <view name="error">/secure/admin/jira/views/viewlinktypes.jsp</view>
+        </command>
+        <command name="deactivate" alias="IssueLinkingDeActivate">
+            <view name="success">/secure/admin/jira/views/viewlinktypes.jsp</view>
+            <view name="error">/secure/admin/jira/views/viewlinktypes.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.linking.EditLinkType" alias="EditLinkType" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/editlinktype.jsp</view>
+        <view name="error">/secure/admin/jira/views/editlinktype.jsp</view>
+    </action>
+
+    <action name="admin.linking.DeleteLinkType" alias="DeleteLinkType" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/deletelinktype.jsp</view>
+        <view name="error">/secure/admin/jira/views/deletelinktype.jsp</view>
+    </action>
+
+    <action name="admin.ViewApplicationProperties" alias="ViewApplicationProperties" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/applicationproperties.jsp</view>
+    </action>
+
+    <action name="admin.ViewAttachmentSettings" alias="ViewAttachmentSettings" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/attachments.jsp</view>
+    </action>
+
+    <action name="admin.SchedulerAdmin" alias="SchedulerAdmin" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/scheduleradmin.jsp</view>
+    </action>
+
+    <action name="admin.MailQueueAdmin" alias="MailQueueAdmin" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/mailqueueadmin.jsp</view>
+        <view name="success">/secure/admin/jira/views/mailqueueadmin.jsp</view>
+    </action>
+
+    <action name="admin.IndexAdminImpl" alias="IndexAdmin" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/indexing.jsp</view>
+        <view name="error">/secure/admin/jira/views/indexing.jsp</view>
+
+        <command name="reindex" alias="IndexReIndex">
+            <view name="success">/secure/admin/jira/views/indexing.jsp</view>
+            <view name="error">/secure/admin/jira/views/indexing.jsp</view>
+        </command>
+        <command name="activate" alias="IndexActivate">
+            <view name="success">/secure/admin/jira/views/indexing.jsp</view>
+            <view name="error">/secure/admin/jira/views/indexing.jsp</view>
+        </command>
+        <command name="deactivate" alias="IndexDeActivate">
+            <view name="success">/secure/admin/jira/views/indexing.jsp</view>
+            <view name="error">/secure/admin/jira/views/indexing.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.TimeTrackingAdmin" alias="TimeTrackingAdmin" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/timetracking.jsp</view>
+        <view name="error">/secure/admin/jira/views/timetracking.jsp</view>
+
+        <command name="activate" alias="TimeTrackingActivate">
+            <view name="success">/secure/admin/jira/views/timetracking.jsp</view>
+            <view name="error">/secure/admin/jira/views/timetracking.jsp</view>
+        </command>
+        <command name="deactivate" alias="TimeTrackingDeActivate">
+            <view name="success">/secure/admin/jira/views/timetracking.jsp</view>
+            <view name="error">/secure/admin/jira/views/timetracking.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.TrackbackAdmin" alias="TrackbackAdmin" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/trackback.jsp</view>
+        <view name="input">/secure/admin/jira/views/edittrackback.jsp</view>
+        <view name="error">/secure/admin/jira/views/edittrackback.jsp</view>
+
+        <command name="activate" alias="TrackbackActivate">
+            <view name="success">/secure/admin/jira/views/trackback.jsp</view>
+            <view name="error">/secure/admin/jira/views/trackback.jsp</view>
+        </command>
+        <command name="deactivate" alias="TrackbackDeActivate">
+            <view name="success">/secure/admin/jira/views/trackback.jsp</view>
+            <view name="error">/secure/admin/jira/views/trackback.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.ConfigureDefaultPortal" alias="EditDefaultDashboard" roles-required="admin">
+        <view name="input">/secure/admin/views/editdefaultdashboardconfig.jsp</view>
+        <view name="error">/secure/admin/views/editdefaultdashboardconfig.jsp</view>
+    </action>
+
+    <action name="admin.AddDefaultPortlet" alias="AddDefaultPortlet" roles-required="admin">
+        <view name="error">/secure/admin/views/editdefaultdashboardconfig.jsp</view>
+        <view name="input">/secure/admin/views/adddefaultportlet.jsp</view>
+    </action>
+
+    <action name="admin.SaveDefaultConfiguration" alias="SaveDefaultPortlet" roles-required="admin">
+        <view name="input">/secure/admin/views/configuredefaultportlet.jsp</view>
+    </action>
+
+    <action name="admin.ViewLicense" alias="ViewLicense" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/viewlicense.jsp</view>
+        <view name="input">/secure/admin/jira/views/viewlicense.jsp</view>
+        <view name="error">/secure/admin/jira/views/viewlicense.jsp</view>
+        <view name="oldlicense">/secure/errors.jsp</view>
+    </action>
+
+    <action name="admin.EditApplicationProperties" alias="EditApplicationProperties" roles-required="admin">
+        <view name="error">/secure/admin/jira/views/editapplicationproperties.jsp</view>
+        <view name="input">/secure/admin/jira/views/editapplicationproperties.jsp</view>
+    </action>
+
+    <action name="admin.EditAttachmentSettings" alias="EditAttachmentSettings" roles-required="admin">
+        <view name="error">/secure/admin/jira/views/editattachmentsettings.jsp</view>
+        <view name="input">/secure/admin/jira/views/editattachmentsettings.jsp</view>
+    </action>
+
+    <action name="admin.GlobalPermissions" alias="GlobalPermissions" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/globalpermissions.jsp</view>
+        <view name="error">/secure/admin/jira/views/globalpermissions.jsp</view>
+    </action>
+
+    <action name="admin.ViewLookAndFeel" alias="ViewLookAndFeel" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/lookandfeel.jsp</view>
+    </action>
+
+    <action name="admin.EditLookAndFeel" alias="EditLookAndFeel" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/editlookandfeel.jsp</view>
+        <view name="error">/secure/admin/jira/views/editlookandfeel.jsp</view>
+    </action>
+
+    <action name="admin.ConfigureIssueCache" alias="ConfigureCache" roles-required="admin">
+        <command name="viewCacheConfig" alias="ViewCacheConfig">
+            <view name="success">/secure/admin/views/viewcacheconfiguration.jsp</view>
+        </command>
+        <command name="flushCache" alias="FlushIssueCache">
+            <view name="success">/secure/admin/views/viewcacheconfiguration.jsp</view>
+        </command>
+        <command name="chooseCacheCapacity" alias="ChooseCacheCapacity">
+            <view name="input">/secure/admin/views/editcacheconfiguration.jsp</view>
+        </command>
+        <command name="flushStats" alias="ResetCacheStats">
+            <view name="success">/secure/admin/views/viewcacheconfiguration.jsp</view>
+        </command>
+        <command name="setCacheCapacity" alias="SetCacheCapacity">
+            <view name="success">/secure/admin/views/viewcacheconfiguration.jsp</view>
+            <view name="error">/secure/admin/views/editcacheconfiguration.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.ViewSystemInfo" alias="ViewSystemInfo" roles-required="admin">
+        <view name="success">/secure/admin/jira/views/systeminfo.jsp</view>
+    </action>
+
+    <action name="admin.JiraSupportRequest" alias="JiraSupportRequest" roles-required="admin">
+        <view name="input">/secure/admin/jira/views/jirasupportrequest.jsp</view>
+        <view name="success">/secure/admin/jira/views/jirasupportrequest.jsp</view>
+    </action>
+
+    <action name="admin.SetupLicense" alias="SetupLicense">
+        <view name="success">/views/setuplicense.jsp</view>
+        <view name="error">/views/setuplicense.jsp</view>
+    </action>
+
+    <action name="admin.ConfirmNewInstallationWithOldLicense" alias="ConfirmNewInstallationWithOldLicense">
+        <view name="success">/views/confirmnewinstallationwitholdlicense.jsp</view>
+        <view name="error">/views/confirmnewinstallationwitholdlicense.jsp</view>
+    </action>
+
+    <!-- Constants Administration -->
+    <action name="admin.priorities.ViewPriorities" alias="ViewPriorities" roles-required="admin">
+        <view name="success">/secure/admin/views/priorities/viewpriorities.jsp</view>
+        <command name="addPriority" alias="AddPriority">
+            <view name="success">/secure/admin/views/priorities/viewpriorities.jsp</view>
+            <view name="error">/secure/admin/views/priorities/viewpriorities.jsp</view>
+        </command>
+        <command name="moveDown" alias="PriorityDown">
+            <view name="success">/secure/admin/views/priorities/viewpriorities.jsp</view>
+            <view name="error">/secure/admin/views/priorities/viewpriorities.jsp</view>
+        </command>
+        <command name="moveUp" alias="PriorityUp">
+            <view name="success">/secure/admin/views/priorities/viewpriorities.jsp</view>
+            <view name="error">/secure/admin/views/priorities/viewpriorities.jsp</view>
+        </command>
+        <command name="makeDefault" alias="MakeDefaultPriority">
+            <view name="success">/secure/admin/views/priorities/viewpriorities.jsp</view>
+            <view name="error">/secure/admin/views/priorities/viewpriorities.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.priorities.EditPriority" alias="EditPriority" roles-required="admin">
+        <view name="input">/secure/admin/views/priorities/editpriority.jsp</view>
+        <view name="error">/secure/admin/views/priorities/editpriority.jsp</view>
+    </action>
+
+    <action name="admin.priorities.DeletePriority" alias="DeletePriority" roles-required="admin">
+        <view name="input">/secure/admin/views/priorities/deletepriority.jsp</view>
+        <view name="error">/secure/admin/views/priorities/deletepriority.jsp</view>
+    </action>
+
+    <action name="admin.resolutions.ViewResolutions" alias="ViewResolutions" roles-required="admin">
+        <view name="success">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+        <command name="addConstant" alias="AddResolution">
+            <view name="success">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+            <view name="error">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+        </command>
+        <command name="moveDown" alias="ResolutionDown">
+            <view name="success">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+            <view name="error">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+        </command>
+        <command name="moveUp" alias="ResolutionUp">
+            <view name="success">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+            <view name="error">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+        </command>
+        <command name="makeDefault" alias="MakeDefaultResolution">
+            <view name="success">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+            <view name="error">/secure/admin/views/resolutions/viewresolutions.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.resolutions.EditResolution" alias="EditResolution" roles-required="admin">
+        <view name="input">/secure/admin/views/resolutions/editresolution.jsp</view>
+        <view name="error">/secure/admin/views/resolutions/editresolution.jsp</view>
+    </action>
+
+    <action name="admin.resolutions.DeleteResolution" alias="DeleteResolution" roles-required="admin">
+        <view name="input">/secure/admin/views/resolutions/deleteresolution.jsp</view>
+        <view name="error">/secure/admin/views/resolutions/deleteresolution.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.ViewIssueFields" alias="ViewIssueFields" roles-required="admin">
+        <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+        <command name="moveDown" alias="IssueFieldDown">
+            <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+            <view name="error">/secure/admin/views/viewissuefields.jsp</view>
+        </command>
+        <command name="moveUp" alias="IssueFieldUp">
+            <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+            <view name="error">/secure/admin/views/viewissuefields.jsp</view>
+        </command>
+        <command name="hide" alias="IssueFieldHide">
+            <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+            <view name="error">/secure/admin/views/viewissuefields.jsp</view>
+        </command>
+        <command name="require" alias="IssueFieldRequire">
+            <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+            <view name="error">/secure/admin/views/viewissuefields.jsp</view>
+        </command>
+        <command name="restoreDefaults" alias="RestoreDefaults">
+            <view name="success">/secure/admin/views/viewissuefields.jsp</view>
+            <view name="error">/secure/admin/views/viewissuefields.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.EditDefaultFieldLayoutItem" alias="EditDefaultFieldLayoutItem" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/editdefaultfieldlayoutitem.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/editdefaultfieldlayoutitem.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.enterprise.ViewSchemes" alias="ViewFieldLayoutSchemes" roles-required="admin">
+        <view name="success">/secure/admin/views/issuefields/viewfieldlayoutschemes.jsp</view>
+
+        <command name="addScheme" alias="AddFieldLayoutScheme">
+            <view name="error">/secure/admin/views/issuefields/viewfieldlayoutschemes.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.enterprise.EditFieldLayoutScheme" alias="EditFieldLayoutScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/editfieldlayoutscheme.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/editfieldlayoutscheme.jsp</view>
+
+        <command name="deleteScheme" alias="DeleteFieldLayoutScheme">
+            <view name="confirm">/secure/admin/views/issuefields/deletefieldlayoutscheme.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/deletefieldlayoutscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.enterprise.CopyFieldLayoutScheme" alias="CopyFieldLayoutScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/copyfieldlayoutscheme.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/copyfieldlayoutscheme.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.enterprise.ConfigureFieldLayoutScheme" alias="ConfigureFieldLayoutScheme" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/configurefieldlayoutscheme.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/configurefieldlayoutscheme.jsp</view>
+
+        <command name="addFieldLayoutSchemeEntity" alias="AddFieldLayoutSchemeEntity">
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayoutscheme.jsp</view>
+        </command>
+
+        <command name="deleteFieldLayoutSchemeEntity" alias="DeleteFieldLayoutSchemeEntity">
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayoutscheme.jsp</view>
+        </command>
+
+        <command name="editFieldLayoutSchemeEntity" alias="EditFieldLayoutSchemeEntity">
+            <view name="input">/secure/admin/views/issuefields/editfieldlayoutschemeentity.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/editfieldlayoutschemeentity.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.enterprise.SelectFieldLayoutScheme" alias="SelectFieldLayoutScheme" roles-required="admin">
+        <view name="input">/secure/project/views/issuefields/selectfieldlayoutscheme.jsp</view>
+        <view name="error">/secure/project/views/issuefields/selectfieldlayoutscheme.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.enterprise.ViewFieldLayouts" alias="ViewFieldLayouts" roles-required="admin">
+        <view name="success">/secure/admin/views/issuefields/viewfieldlayouts.jsp</view>
+
+        <command name="addFieldLayout" alias="AddFieldLayout">
+            <view name="error">/secure/admin/views/issuefields/viewfieldlayouts.jsp</view>
+        </command>
+
+        <command name="deleteFieldLayout" alias="DeleteFieldLayout">
+            <view name="confirm">/secure/admin/views/issuefields/confirmdeletefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/confirmdeletefieldlayout.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.enterprise.EditFieldLayout" alias="EditFieldLayout" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/editfieldlayout.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/editfieldlayout.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.enterprise.CopyFieldLayout" alias="CopyFieldLayout" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/copyfieldlayout.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/copyfieldlayout.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.enterprise.ConfigureFieldLayout" alias="ConfigureFieldLayout" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        <command name="moveDown" alias="EditFieldLayoutDown">
+            <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        </command>
+        <command name="moveUp" alias="EditFieldLayoutUp">
+            <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        </command>
+        <command name="hide" alias="EditFieldLayoutHide">
+            <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        </command>
+        <command name="require" alias="EditFieldLayoutRequire">
+            <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        </command>
+        <command name="restoreDefaults" alias="EditFieldLayoutRestoreDefaults">
+            <view name="success">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/configurefieldlayout.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.enterprise.EditFieldLayoutItem" alias="EditFieldLayoutItem" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/editfieldlayoutitem.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/editfieldlayoutitem.jsp</view>
+    </action>
+
+    <!-- Field Screens -->
+    <action name="admin.issuefields.screens.ViewFieldScreens" alias="ViewFieldScreens" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/viewfieldscreens.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/viewfieldscreens.jsp</view>
+
+        <command name="addFieldScreen" alias="AddFieldScreen">
+            <view name="error">/secure/admin/views/issuefields/screens/viewfieldscreens.jsp</view>
+        </command>
+
+        <command name="deleteFieldScreen" alias="DeleteFieldScreen">
+            <view name="confirm">/secure/admin/views/issuefields/screens/confirmdeletefieldscreen.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/confirmdeletefieldscreen.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.EditFieldScreen" alias="EditFieldScreen" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/screens/editfieldscreen.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/screens/editfieldscreen.jsp</view>
+
+        <command name="copyFieldScreen" alias="CopyFieldScreen">
+            <view name="input">/secure/admin/views/issuefields/screens/copyfieldscreen.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/copyfieldscreen.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.AssociateFieldToScreens" alias="AssociateFieldToScreens" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/screens/associatefield.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/screens/associatefield.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.screens.ConfigureFieldScreen" alias="ConfigureFieldScreen" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+
+        <command name="deleteField" alias="DeleteFieldScreenLayoutItem">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="addField" alias="AddFieldScreenLayoutItem">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="addTab" alias="AddFieldScreenTab">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="deleteTab" alias="DeleteFieldScreenTab">
+            <view name="confirm">/secure/admin/views/issuefields/screens/confirmdeletefieldscreentab.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="renameTab" alias="RenameFieldScreenTab">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveLayoutItemFirst" alias="FieldScreenLayoutItemFirst">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveLayoutItemUp" alias="FieldScreenLayoutItemUp">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveLayoutItemDown" alias="FieldScreenLayoutItemDown">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveLayoutItemLast" alias="FieldScreenLayoutItemLast">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="configureTab" alias="ConfigureFieldScreenTab">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveTabLeft" alias="MoveFieldScreenTabLeft">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+
+        <command name="moveTabRight" alias="MoveFieldScreenTabRight">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreen.jsp</view>
+        </command>
+    </action>
+
+    <!-- Issue Type Screen Schemes -->
+    <action name="admin.issuefields.screens.enterprise.ViewIssueTypeScreenSchemes" alias="ViewIssueTypeScreenSchemes" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/enterprise/viewissuetypescreenschemes.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/enterprise/viewissuetypescreenschemes.jsp</view>
+
+        <command name="addIssueTypeScreenScheme" alias="AddIssueTypeScreenScheme">
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/viewissuetypescreenschemes.jsp</view>
+        </command>
+
+        <command name="deleteIssueTypeScreenScheme" alias="DeleteIssueTypeScreenScheme">
+            <view name="confirm">/secure/admin/views/issuefields/screens/enterprise/confirmdeleteissuetypescreenscheme.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/confirmdeleteissuetypescreenscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.enterprise.EditIssueTypeScreenScheme" alias="EditIssueTypeScreenScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/screens/enterprise/editissuetypescreenscheme.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/screens/enterprise/editissuetypescreenscheme.jsp</view>
+
+        <command name="copyIssueTypeScreenScheme" alias="CopyIssueTypeScreenScheme">
+            <view name="input">/secure/admin/views/issuefields/screens/enterprise/copyissuetypescreenscheme.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/copyissuetypescreenscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.enterprise.ConfigureIssueTypeScreenScheme" alias="ConfigureIssueTypeScreenScheme" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/enterprise/configureissuetypescreenscheme.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/enterprise/configureissuetypescreenscheme.jsp</view>
+
+        <command name="addIssueTypeScreenSchemeEntity" alias="AddIssueTypeScreenSchemeEntity">
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/configureissuetypescreenscheme.jsp</view>
+        </command>
+
+        <command name="deleteIssueTypeScreenSchemeEntity" alias="DeleteIssueTypeScreenSchemeEntity">
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/configureissuetypescreenscheme.jsp</view>
+        </command>
+
+        <command name="editIssueTypeScreenSchemeEntity" alias="EditIssueTypeScreenSchemeEntity">
+            <view name="error">/secure/admin/views/issuefields/screens/enterprise/editissuetypescreenschemeentity.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.enterprise.SelectIssueTypeScreenScheme" alias="SelectIssueTypeScreenScheme" roles-required="admin">
+        <view name="input">/secure/project/views/issuefields/selectissuetypescreenscheme.jsp</view>
+        <view name="error">/secure/project/views/issuefields/selectissuetypescreenscheme.jsp</view>
+    </action>
+
+    <action name="admin.issuefields.screens.SelectScreenScheme" alias="SelectScreenScheme" roles-required="admin">
+        <view name="input">/secure/project/views/issuefields/selectscreenscheme.jsp</view>
+        <view name="error">/secure/project/views/issuefields/selectscreenscheme.jsp</view>
+    </action>
+
+    <!-- Field Screen Schemes -->
+    <action name="admin.issuefields.screens.ViewFieldScreenSchemes" alias="ViewFieldScreenSchemes" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/viewfieldscreenschemes.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/viewfieldscreenschemes.jsp</view>
+
+        <command name="addFieldScreenScheme" alias="AddFieldScreenScheme">
+            <view name="error">/secure/admin/views/issuefields/screens/viewfieldscreenschemes.jsp</view>
+        </command>
+
+        <command name="deleteFieldScreenScheme" alias="DeleteFieldScreenScheme">
+            <view name="confirm">/secure/admin/views/issuefields/screens/confirmdeletefieldscreenscheme.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/confirmdeletefieldscreenscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.EditFieldScreenScheme" alias="EditFieldScreenScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/screens/editfieldscreenscheme.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/screens/editfieldscreenscheme.jsp</view>
+
+        <command name="copyFieldScreenScheme" alias="CopyFieldScreenScheme">
+            <view name="input">/secure/admin/views/issuefields/screens/copyfieldscreenscheme.jsp</view>
+            <view name="error">/secure/admin/views/issuefields/screens/copyfieldscreenscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.ConfigureFieldScreenScheme" alias="ConfigureFieldScreenScheme" roles-required="admin">
+        <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreenscheme.jsp</view>
+        <view name="success">/secure/admin/views/issuefields/screens/configurefieldscreenscheme.jsp</view>
+
+        <command name="addFieldScreenSchemeItem" alias="AddFieldScreenSchemeItem">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreenscheme.jsp</view>
+        </command>
+
+        <command name="deleteFieldScreenSchemeItem" alias="DeleteFieldScreenSchemeItem">
+            <view name="error">/secure/admin/views/issuefields/screens/configurefieldscreenscheme.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuefields.screens.EditFieldScreenSchemeItem" alias="EditFieldScreenSchemeItem" roles-required="admin">
+        <view name="input">/secure/admin/views/issuefields/screens/editfieldscreenschemeitem.jsp</view>
+        <view name="error">/secure/admin/views/issuefields/screens/editfieldscreenschemeitem.jsp</view>
+    </action>
+
+    <action name="admin.issuetypes.ViewIssueTypes" alias="ViewIssueTypes" roles-required="admin">
+        <view name="success">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+        <command name="addIssueType" alias="AddIssueType">
+            <view name="success">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+            <view name="error">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+        </command>
+        <command name="moveDown" alias="IssueTypeDown">
+            <view name="success">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+            <view name="error">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+        </command>
+        <command name="moveUp" alias="IssueTypeUp">
+            <view name="success">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+            <view name="error">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+        </command>
+        <command name="makeDefault" alias="MakeDefaultIssueType">
+            <view name="success">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+            <view name="error">/secure/admin/views/issuetypes/viewissuetypes.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.subtasks.ManageSubTasks" alias="ManageSubTasks" roles-required="admin">
+        <view name="input">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        <view name="success">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        <command name="enableSubTasks" alias="EnableSubTasks">
+            <view name="success">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+            <view name="error">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        </command>
+        <command name="addSubTaskIssueType" alias="AddSubTaskIssueType">
+            <view name="success">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+            <view name="error">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        </command>
+        <command name="moveSubTaskIssueTypeUp" alias="MoveSubTaskIssueTypeUp">
+            <view name="success">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+            <view name="error">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        </command>
+        <command name="moveSubTaskIssueTypeDown" alias="MoveSubTaskIssueTypeDown">
+            <view name="success">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+            <view name="error">/secure/admin/views/subtasks/managesubtasks.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.subtasks.DisableSubTasks" alias="DisableSubTasks" roles-required="admin">
+        <view name="input">/secure/admin/views/subtasks/disablesubtasks.jsp</view>
+        <view name="error">/secure/admin/views/subtasks/disablesubtasks.jsp</view>
+    </action>
+
+    <action name="admin.subtasks.EditSubTaskIssueTypes" alias="EditSubTaskIssueTypes" roles-required="admin">
+        <view name="input">/secure/admin/views/subtasks/editsubtaskissuetypes.jsp</view>
+        <view name="error">/secure/admin/views/subtasks/editsubtaskissuetypes.jsp</view>
+    </action>
+
+    <action name="admin.subtasks.DeleteSubTaskIssueType" alias="DeleteSubTaskIssueType" roles-required="admin">
+        <view name="input">/secure/admin/views/subtasks/deletesubtaskissuetype.jsp</view>
+        <view name="error">/secure/admin/views/subtasks/deletesubtaskissuetype.jsp</view>
+    </action>
+
+    <action name="admin.ViewIssueColumns" alias="ViewIssueColumns" roles-required="admin">
+        <view name="input">/secure/admin/views/viewissuecolumns.jsp</view>
+        <view name="error">/secure/admin/views/viewissuecolumns.jsp</view>
+        <view name="success">/secure/admin/views/viewissuecolumns.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.issuetypes.EditIssueType" alias="EditIssueType" roles-required="admin">
+        <view name="input">/secure/admin/views/issuetypes/editissuetype.jsp</view>
+        <view name="error">/secure/admin/views/issuetypes/editissuetype.jsp</view>
+    </action>
+
+    <action name="admin.translation.ViewTranslations" alias="ViewTranslations" roles-required="admin">
+        <view name="success">/secure/admin/views/translations/viewtranslations.jsp</view>
+        <view name="input">/secure/admin/views/translations/viewtranslations.jsp</view>
+        <view name="error">/secure/admin/views/translations/viewranslations.jsp</view>
+    </action>
+
+    <action name="admin.issuetypes.DeleteIssueType" alias="DeleteIssueType" roles-required="admin">
+        <view name="input">/secure/admin/views/issuetypes/deleteissuetype.jsp</view>
+        <view name="error">/secure/admin/views/issuetypes/deleteissuetype.jsp</view>
+    </action>
+
+    <action name="admin.statuses.ViewStatuses" alias="ViewStatuses" roles-required="admin">
+        <view name="success">/secure/admin/views/statuses/viewstatuses.jsp</view>
+        <command name="addStatus" alias="AddStatus">
+            <view name="success">/secure/admin/views/statuses/viewstatuses.jsp</view>
+            <view name="error">/secure/admin/views/statuses/viewstatuses.jsp</view>
+        </command>
+        <command name="moveDown" alias="StatusDown">
+            <view name="success">/secure/admin/views/statuses/viewstatuses.jsp</view>
+            <view name="error">/secure/admin/views/statuses/viewstatuses.jsp</view>
+        </command>
+        <command name="moveUp" alias="StatusUp">
+            <view name="success">/secure/admin/views/statuses/viewstatuses.jsp</view>
+            <view name="error">/secure/admin/views/statuses/viewstatuses.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.statuses.EditStatus" alias="EditStatus" roles-required="admin">
+        <view name="input">/secure/admin/views/statuses/editstatus.jsp</view>
+        <view name="error">/secure/admin/views/statuses/editstatus.jsp</view>
+    </action>
+
+    <action name="admin.statuses.DeleteStatus" alias="DeleteStatus" roles-required="admin">
+        <view name="input">/secure/admin/views/statuses/deletestatus.jsp</view>
+        <view name="error">/secure/admin/views/statuses/deletestatus.jsp</view>
+    </action>
+
+    <!-- =============================================================================== Custom Field Administration -->
+
+    <action name="admin.customfields.ViewCustomFields" alias="ViewCustomFields" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/customfields.jsp</view>
+        <view name="success">/secure/admin/views/customfields/customfields.jsp</view>
+    </action>
+
+    <action name="admin.customfields.CreateCustomField" alias="CreateCustomField" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/createcustomfield.jsp</view>
+        <view name="error">/secure/admin/views/customfields/createcustomfield-details.jsp</view>
+        <view name="details">/secure/admin/views/customfields/createcustomfield-details.jsp</view>
+    </action>
+
+    <action name="admin.customfields.EditCustomField" alias="EditCustomField" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/editcustomfield.jsp</view>
+        <view name="error">/secure/admin/views/customfields/editcustomfield.jsp</view>
+    </action>
+
+    <action name="admin.customfields.ConfigureCustomField" alias="ConfigureCustomField" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/configurecustomfield.jsp</view>
+        <view name="error">/secure/admin/views/customfields/configurecustomfield.jsp</view>
+        <view name="success">/secure/admin/views/customfields/configurecustomfield.jsp</view>
+    </action>
+
+    <action name="admin.customfields.ManageConfigurationScheme" alias="ManageConfigurationScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/manageconfig.jsp</view>
+    </action>
+
+    <action name="admin.customfields.ManageConfiguration" alias="ManageConfiguration" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/manageconfig.jsp</view>
+    </action>
+
+    <action name="admin.customfields.EditCustomFieldDefaults" alias="EditCustomFieldDefaults" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/editcustomfield-defaults.jsp</view>
+        <view name="error">/secure/admin/views/customfields/editcustomfield-defaults.jsp</view>
+    </action>
+
+    <action name="admin.customfields.EditCustomFieldOptions" alias="EditCustomFieldOptions" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/editcustomfieldoptions.jsp</view>
+        <view name="error">/secure/admin/views/customfields/editcustomfieldoptions.jsp</view>
+        <view name="confirmdelete">/secure/admin/views/customfields/deletecustomfieldoption.jsp</view>
+
+        <command name="configureOption" alias="ConfigureCustomFieldOptions">
+            <view name="error">/secure/admin/views/customfields/editcustomfieldoptions.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.customfields.EditBasicConfig" alias="EditBasicConfig" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/editbasicconfig.jsp</view>
+        <view name="error">/secure/admin/views/customfields/editbasicconfig.jsp</view>
+    </action>
+
+    <action name="admin.customfields.DeleteCustomField" alias="DeleteCustomField" roles-required="admin">
+        <view name="input">/secure/admin/views/customfields/deletecustomfield.jsp</view>
+        <view name="error">/secure/admin/views/cuscctomfields/deletecustomfield.jsp</view>
+    </action>
+
+    <!-- CVS Repository management -->
+    <action name="admin.vcs.AddRepository" alias="AddRepository" roles-required="admin">
+        <view name="input">/secure/admin/views/vcs/addcvsrepository.jsp</view>
+        <view name="error">/secure/admin/views/vcs/viewrepository.jsp</view>
+        <command name="view" alias="ViewRepositories">
+            <view name="success">/secure/admin/views/vcs/viewrepository.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.vcs.UpdateRepository" alias="UpdateRepository" roles-required="admin">
+        <view name="input">/secure/admin/views/vcs/updaterepositories.jsp</view>
+        <view name="error">/secure/admin/views/vcs/viewrepository.jsp</view>
+    </action>
+
+    <action name="admin.vcs.RepositoryTest" alias="RepositoryTest" roles-required="admin">
+        <view name="success">/secure/admin/views/vcs/repositorytest.jsp</view>
+        <view name="error">/secure/admin/views/vcs/repositorytest.jsp</view>
+    </action>
+
+    <action name="admin.vcs.DeleteRepository" alias="DeleteRepository" roles-required="admin">
+        <view name="input">/secure/admin/views/vcs/deleterepository.jsp</view>
+        <view name="error">/secure/admin/views/vcs/deleterepository.jsp</view>
+    </action>
+
+    <action name="admin.vcs.SelectProjectRepository" alias="SelectProjectRepository" roles-required="admin">
+        <view name="success">/secure/admin/views/vcs/selectprojectrepository.jsp</view>
+        <view name="input">/secure/admin/views/vcs/selectprojectrepository.jsp</view>
+    </action>
+
+    <action name="admin.vcs.enterprise.EnterpriseSelectProjectRepository" alias="EnterpriseSelectProjectRepository" roles-required="admin">
+        <view name="success">/secure/admin/views/vcs/enterprise/enterpriseselectprojectrepository.jsp</view>
+        <view name="input">/secure/admin/views/vcs/enterprise/enterpriseselectprojectrepository.jsp</view>
+    </action>
+
+    <!-- Mail Server Management -->
+    <action name="admin.mail.AddMailServer" alias="AddPopMailServer" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/addpopmailserver.jsp</view>
+        <view name="error">/secure/admin/views/mail/viewmailserver.jsp</view>
+    </action>
+
+    <action name="admin.mail.AddMailServer" alias="AddSmtpMailServer" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/addsmtpmailserver.jsp</view>
+        <view name="error">/secure/admin/views/mail/viewmailserver.jsp</view>
+    </action>
+
+    <action name="admin.mail.UpdateMailServer" alias="UpdatePopMailServer" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/updatepopmailserver.jsp</view>
+        <view name="error">/secure/admin/views/mail/viewmailserver.jsp</view>
+        <command name="view" alias="ViewMailServers">
+            <view name="success">/secure/admin/views/mail/viewmailserver.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.mail.UpdateMailServer" alias="UpdateSmtpMailServer" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/updatesmtpmailserver.jsp</view>
+        <view name="error">/secure/admin/views/mail/viewmailserver.jsp</view>
+        <command name="view" alias="ViewMailServers">
+            <view name="success">/secure/admin/views/mail/viewmailserver.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.mail.DeleteMailServer" alias="DeleteMailServer" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/deletemailserver.jsp</view>
+        <view name="error">/secure/admin/views/mail/viewmailserver.jsp</view>
+        <command name="view" alias="ViewMailServers">
+            <view name="success">/secure/admin/views/mail/viewmailserver.jsp</view>
+        </command>
+    </action>
+
+    <action name="project.ProjectEmail" alias="ProjectEmail" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/configureprojectemail.jsp</view>
+        <view name="error">/secure/admin/views/mail/configureprojectemail.jsp</view>
+    </action>
+
+    <!-- Release Note-->
+    <action name="browser.ReleaseNote" alias="ReleaseNote">
+        <view name="success">/secure/views/project/releasenote.jsp</view>
+        <view name="error">/secure/views/project/releasenoteconfigure.jsp</view>
+        <view name="input">/secure/views/project/releasenoteconfigure.jsp</view>
+        <command name="configure" alias="ConfigureReleaseNote">
+            <view name="success">/secure/views/project/releasenoteconfigure.jsp</view>
+            <view name="error">/secure/views/project/releasenoteconfigureerror.jsp</view>
+        </command>
+    </action>
+
+    <!-- User Management -->
+    <action name="user.ViewProfile" alias="ViewProfile" roles-required="use">
+        <view name="success">/secure/views/user/viewprofile.jsp</view>
+        <view name="usernotfound">/secure/views/user/viewprofile-usernotfound.jsp</view>
+    </action>
+
+    <action name="user.ChangePassword" alias="ChangePassword" roles-required="use">
+        <view name="error">/secure/views/user/changepassword.jsp</view>
+        <view name="input">/secure/views/user/changepassword.jsp</view>
+    </action>
+
+    <action name="user.EditProfile" alias="EditProfile" roles-required="use">
+        <view name="error">/secure/views/user/editprofile.jsp</view>
+        <view name="input">/secure/views/user/editprofile.jsp</view>
+    </action>
+
+    <action name="user.ViewUserPreferences" alias="ViewUserPreferences" roles-required="use">
+        <view name="success">/secure/views/user/viewuserpreferences.jsp</view>
+    </action>
+
+    <action name="user.UpdateUserPreferences" alias="UpdateUserPreferences" roles-required="use">
+        <view name="error">/secure/views/user/updateuserpreferences.jsp</view>
+        <view name="input">/secure/views/user/updateuserpreferences.jsp</view>
+    </action>
+
+    <action name="user.UserVotes" alias="UserVotes" roles-required="use">
+        <view name="success">/secure/views/user/uservotes.jsp</view>
+    </action>
+
+    <action name="user.UserWatches" alias="UserWatches" roles-required="use">
+        <view name="success">/secure/views/user/userwatches.jsp</view>
+    </action>
+
+    <action name="user.PersonalBrowser" alias="BrowsePersonalProject" roles-required="use">
+        <view name="success">/secure/views/user/browsepersonalproject.jsp</view>
+        <view name="permissionviolation">/secure/views/permissionviolation.jsp</view>
+    </action>
+
+    <action name="user.ViewUserIssueColumns" alias="ViewUserIssueColumns" roles-required="use">
+        <view name="input">/secure/views/user/viewuserissuecolumns.jsp</view>
+        <view name="error">/secure/views/user/viewuserissuecolumns.jsp</view>
+        <view name="success">/secure/views/user/viewuserissuecolumns.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="admin.enterprise.ViewSearchRequestIssueColumns" alias="ViewSearchRequestIssueColumns" roles-required="use">
+        <view name="input">/secure/views/enterprise/viewsearchrequestissuecolumns.jsp</view>
+        <view name="error">/secure/views/enterprise/viewsearchrequestissuecolumns.jsp</view>
+        <view name="success">/secure/views/enterprise/viewsearchrequestissuecolumns.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!-- Filter actions -->
+    <action name="filter.ManageFilters" alias="ManageFilters">
+        <view name="success">/secure/views/filter/managefilters.jsp</view>
+        <view name="error">/secure/views/filter/managefilters.jsp</view>
+        <command name="view" alias="ViewSubscriptions">
+            <view name="success">/secure/views/filter/viewfiltersubscriptions.jsp</view>
+        </command>
+    </action>
+
+    <!-- this is aliased specifically to allow a getRedirect() back to ManageFilters.jspa -->
+    <action name="filter.ManageFilters" alias="DeleteFilter" roles-required="use">
+        <view name="input">/secure/views/filter/deletefilterconfirm.jsp</view>
+        <view name="success">/secure/views/filter/managefilters.jsp</view>
+        <view name="error">/secure/views/filter/deletefilterconfirm.jsp</view>
+    </action>
+
+    <action name="filter.RenameFilter" alias="RenameFilter" roles-required="use">
+        <view name="error">/secure/views/filter/renamefilter.jsp</view>
+        <view name="input">/secure/views/filter/renamefilter.jsp</view>
+    </action>
+
+    <action name="filter.SaveFilter" alias="SaveFilter" roles-required="use">
+        <view name="error">/secure/views/filter/savefilter.jsp</view>
+        <view name="input">/secure/views/filter/savefilter.jsp</view>
+    </action>
+
+    <action name="filter.SaveAsFilter" alias="SaveAsFilter" roles-required="use">
+        <view name="error">/secure/views/filter/saveasfilter.jsp</view>
+        <view name="input">/secure/views/filter/saveasfilter.jsp</view>
+    </action>
+
+    <action name="filter.professional.ShareFilter" alias="ShareFilter" roles-required="use">
+        <view name="error">/secure/views/filter/sharefilter.jsp</view>
+        <view name="input">/secure/views/filter/sharefilter.jsp</view>
+    </action>
+
+    <!-- Non-User Views -->
+    <action name="user.Signup" alias="Signup">
+        <view name="success">/views/signup-success.jsp</view>
+        <view name="error">/views/signup.jsp</view>
+        <view name="input">/views/signup.jsp</view>
+        <view name="modebreach">/views/modebreach.jsp</view>
+    </action>
+
+    <action name="user.ForgotPassword">
+        <command name="usernames" alias="ForgotUsernames">
+            <view name="success">/views/forgotusernames-success.jsp</view>
+            <view name="error">/views/forgotusernames.jsp</view>
+            <view name="input">/views/forgotusernames.jsp</view>
+        </command>
+        <command name="password" alias="ForgotPassword">
+            <view name="success">/views/forgotpassword-success.jsp</view>
+            <view name="error">/views/forgotpassword.jsp</view>
+            <view name="input">/views/forgotpassword.jsp</view>
+        </command>
+    </action>
+
+
+
+    <!-- Issue Views -->
+    <action name="issue.IssueNavigator" alias="IssueNavigator">
+        <view name="success">/secure/views/navigator/navigator.jsp</view>
+        <view name="rss">/secure/views/navigator/navigator-rss.jsp</view>
+        <view name="excel">/secure/views/navigator/navigator-excel-current.jsp</view>
+        <view name="excel-current">/secure/views/navigator/navigator-excel-current.jsp</view>
+        <view name="full">/secure/views/navigator/navigator-full.jsp</view>
+        <view name="error">/secure/views/navigator/navigator.jsp</view>
+	<view name="rnotes">/secure/views/navigator/rnotes.jsp</view>
+    </action>
+
+    <action name="issue.ViewIssue" alias="ViewIssue">
+        <view name="success">/secure/views/issue/viewissue.jsp</view>
+        <view name="rss">/secure/views/issue/viewissue-rss.jsp</view>
+        <view name="issuenotfound">/secure/views/issuenotfound.jsp</view>
+        <view name="permissionviolation">/secure/views/permissionviolation.jsp</view>
+
+        <command name="moveIssueLink" alias="MoveIssueLink">
+            <view name="error">/secure/views/issue/viewissue.jsp</view>
+        </command>
+    </action>
+
+    <action name="issue.CreateIssue" alias="CreateIssue">
+        <view name="success">/secure/views/createissue-details.jsp</view>
+        <view name="error">/secure/views/createissue-start.jsp</view>
+        <view name="input">/secure/views/createissue-start.jsp</view>
+    </action>
+
+    <action name="issue.CreateIssueDetails" alias="CreateIssueDetails">
+        <view name="error">/secure/views/createissue-details.jsp</view>
+        <view name="input">/secure/views/createissue-details.jsp</view>
+    </action>
+
+    <!-- Sub Tasks -->
+    <action name="issue.CreateSubTaskIssue" alias="CreateSubTaskIssue">
+        <view name="success">/secure/views/createsubtaskissue-details.jsp</view>
+        <view name="error">/secure/views/createsubtaskissue-start.jsp</view>
+        <view name="input">/secure/views/createsubtaskissue-start.jsp</view>
+    </action>
+
+    <action name="issue.CreateSubTaskIssueDetails" alias="CreateSubTaskIssueDetails">
+        <view name="error">/secure/views/createsubtaskissue-details.jsp</view>
+        <view name="input">/secure/views/createsubtaskissue-details.jsp</view>
+    </action>
+
+    <action name="issue.EditSubTaskIssue" alias="EditSubTaskIssue">
+        <view name="error">/secure/views/issue/editsubtaskissue.jsp</view>
+        <view name="input">/secure/views/issue/editsubtaskissue.jsp</view>
+    </action>
+
+
+    <action name="issue.CloneIssueDetails" alias="CloneIssueDetails">
+        <view name="input">/secure/views/cloneissue-start.jsp</view>
+        <view name="error">/secure/views/cloneissue-start.jsp</view>
+    </action>
+
+
+    <!--Watch List Management-->
+    <action name="issue.ManageWatchers" alias="ManageWatchers">
+        <view name="success">/secure/views/issue/managewatchers.jsp</view>
+        <view name="input">/secure/views/issue/managewatchers.jsp</view>
+        <view name="error">/secure/views/issue/managewatchers.jsp</view>
+        <view name="watchingnotenabled">/secure/views/issue/managewatchers.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!--View Voters-->
+    <action name="issue.ViewVoters" alias="ViewVoters">
+        <view name="success">/secure/views/issue/viewvoters.jsp</view>
+        <view name="input">/secure/views/issue/viewvoters.jsp</view>
+        <view name="error">/secure/views/issue/viewvoters.jsp</view>
+        <view name="votingnotenabled">/secure/views/issue/viewvoters.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <!-- Bulk Change -->
+    <action name="issue.bulkedit.BulkEdit1" alias="BulkEdit1">
+        <view name="input">/secure/views/bulkedit/bulkedit.jsp</view>
+        <view name="error">/secure/views/bulkedit/bulkedit.jsp</view>
+    </action>
+
+    <action name="issue.bulkedit.BulkChooseOperation" alias="BulkChooseOperation">
+        <view name="success">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
+        <view name="error">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
+    </action>
+
+    <action name="issue.bulkedit.BulkDelete" alias="BulkDelete">
+        <command name="details" alias="BulkDeleteDetails">
+            <view name="success">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
+        </command>
+        <command name="detailsValidation" alias="BulkDeleteDetailsValidation">
+            <view name="input">/secure/views/bulkedit/bulkdeleteconfirmation.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkdeleteconfirmation.jsp</view>
+        </command>
+        <command name="perform" alias="BulkDeletePerform">
+            <view name="error">/secure/views/bulkedit/bulkdeleteerror.jsp</view>
+        </command>
+    </action>
+
+    <action name="issue.bulkedit.BulkMove" alias="BulkMove">
+        <command name="details" alias="BulkMoveDetails">
+            <view name="success">/secure/views/bulkedit/bulkmove_contextdetails.jsp</view>
+            <view name="input">/secure/views/bulkedit/bulkmove_contextdetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkmove_selectionerror.jsp</view>
+        </command>
+        <command name="contextValidation" alias="BulkMoveContextValidation">
+            <view name="success">/secure/views/bulkedit/bulkmove_statusdetails.jsp</view>
+            <view name="input">/secure/views/bulkedit/bulkmove_contextdetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkmove_contextdetails.jsp</view>
+        </command>
+        <command name="statusValidation" alias="BulkMoveStatusValidation">
+            <view name="success">/secure/views/bulkedit/bulkmove_fielddetails.jsp</view>
+            <view name="input">/secure/views/bulkedit/bulkmove_statusdetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkmove_statusdetails.jsp</view>
+        </command>
+        <command name="fieldsValidation" alias="BulkMoveFieldsValidation">
+            <view name="success">/secure/views/bulkedit/bulkmove_confirmation.jsp</view>
+            <view name="input">/secure/views/bulkedit/bulkmove_fielddetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkmove_fielddetails.jsp</view>
+        </command>
+        <command name="perform" alias="BulkMovePerform">
+            <view name="error">/secure/views/bulkedit/bulkmoveerror.jsp</view>
+        </command>
+    </action>
+
+    <action name="issue.bulkedit.BulkEdit" alias="BulkEdit">
+        <command name="details" alias="BulkEditDetails">
+            <view name="input">/secure/views/bulkedit/bulkedit_operationdetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkedit_operationdetails.jsp</view>
+        </command>
+        <command name="detailsValidation" alias="BulkEditDetailsValidation">
+            <view name="success">/secure/views/bulkedit/bulkedit_confirmation.jsp</view>
+            <view name="input">/secure/views/bulkedit/bulkedit_operationdetails.jsp</view>
+            <view name="error">/secure/views/bulkedit/bulkedit_operationdetails.jsp</view>
+        </command>
+        <command name="perform" alias="BulkEditPerform">
+            <view name="error">/secure/views/bulkedit/bulkediterror.jsp</view>
+        </command>
+    </action>
+
+    <action name="issue.bulkedit.BulkCancelWizard" alias="BulkCancelWizard">
+        <view name="error">/secure/views/bulkedit/bulkedit.jsp</view>
+    </action>
+
+    <action name="issue.EditIssue" alias="EditIssue">
+        <view name="error">/secure/views/issue/editissue.jsp</view>
+        <view name="input">/secure/views/issue/editissue.jsp</view>
+    </action>
+
+    <action name="issue.UpdateIssueFields" alias="UpdateIssueFields">
+        <view name="error">/secure/views/issue/updatefieldserror.jsp</view>
+        <view name="input">/secure/views/issue/updatefieldserror.jsp</view>
+    </action>
+
+    <action name="issue.AddComment" alias="AddComment">
+        <view name="error">/secure/views/issue/addcomment.jsp</view>
+        <view name="input">/secure/views/issue/addcomment.jsp</view>
+    </action>
+
+    <action name="issue.DeleteIssue" alias="DeleteIssue">
+        <view name="error">/secure/views/issue/deleteissueconfirm.jsp</view>
+        <view name="input">/secure/views/issue/deleteissueconfirm.jsp</view>
+    </action>
+
+    <action name="issue.AttachFile" alias="AttachFile">
+        <view name="error">/secure/views/issue/attachfile.jsp</view>
+        <view name="input">/secure/views/issue/attachfile.jsp</view>
+        <view name="screenshot">/secure/popups/attachscreenshot.jsp</view>
+    </action>
+
+    <action name="issue.ManageAttachments" alias="ManageAttachments">
+        <view name="error">/secure/views/issue/manageattachments.jsp</view>
+        <view name="issuenotfound">/secure/views/issuenotfound.jsp</view>
+        <view name="success">/secure/views/issue/manageattachments.jsp</view>
+    </action>
+
+    <action name="issue.ManageLinks" alias="ManageLinks" roles-required="use">
+        <view name="success">/secure/views/issue/managelinks.jsp</view>
+        <view name="error">/secure/views/issue/managelinks.jsp</view>
+    </action>
+
+    <action name="issue.DeleteComment" alias="DeleteComment">
+        <view name="error">/secure/views/issue/deletecommentconfirm.jsp</view>
+        <view name="input">/secure/views/issue/deletecommentconfirm.jsp</view>
+    </action>
+
+    <action name="issue.DeleteEmail" alias="DeleteEmail">
+        <view name="error">/secure/views/issue/deleteemailconfirm.jsp</view>
+        <view name="input">/secure/views/issue/deleteemailconfirm.jsp</view>
+    </action>
+
+    <action name="issue.LogWork" alias="LogWork">
+        <view name="error">/secure/views/issue/logwork.jsp</view>
+        <view name="input">/secure/views/issue/logwork.jsp</view>
+    </action>
+
+    <action name="issue.LinkExistingIssue" alias="LinkExistingIssue">
+        <view name="error">/secure/views/issue/linkexistingissue.jsp</view>
+        <view name="input">/secure/views/issue/linkexistingissue.jsp</view>
+    </action>
+
+    <action name="issue.IssuePicker" alias="IssuePicker">
+        <view name="success">/secure/popups/issuepicker.jsp</view>
+    </action>
+
+    <action name="issue.MoveSubTask" alias="MoveSubTask">
+        <view name="input">/secure/views/issue/movesubtask.jsp</view>
+        <view name="error">/secure/views/issue/movesubtask.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="issue.MoveIssue" alias="MoveIssue">
+        <view name="input">/secure/views/issue/moveissue.jsp</view>
+        <view name="error">/secure/views/issue/moveissue.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="issue.enterprise.MoveIssueUpdateWorkflow" alias="MoveIssueUpdateWorkflow">
+        <view name="input">/secure/views/issue/moveissue-updateworkflow.jsp</view>
+        <view name="success">MoveIssueUpdateFields!default.jspa</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="issue.MoveIssueUpdateFields" alias="MoveIssueUpdateFields">
+        <view name="input">/secure/views/issue/moveissue-updatefields.jsp</view>
+        <view name="error">/secure/views/issue/moveissue-updatefields.jsp</view>
+        <view name="success">MoveIssueConfirm!default.jspa</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="issue.MoveIssueConfirm" alias="MoveIssueConfirm">
+        <view name="input">/secure/views/issue/moveissue-confirm.jsp</view>
+        <view name="error">/secure/views/issue/moveissue-confirm.jsp</view>
+        <view name="workflowmigrationerror">/secure/views/workflowmigrationerror.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+
+    <!-- Bulk Editing
+    <action name="issue.bulk.BulkEdit" alias="BulkEdit">
+        <view name="success">/secure/views/bulkedit.jsp</view>
+    </action>
+
+    <action name="issue.bulk.BulkAssignIssue" alias="BulkAssignIssue">
+        <view name="input">/secure/views/bulkedit.jsp</view>
+    </action>
+
+    <action name="issue.bulk.BulkDeleteIssue" alias="BulkDeleteIssue">
+        <view name="input">/secure/views/bulkedit.jsp</view>
+    </action>
+
+    <action name="issue.bulk.BulkAddComment" alias="BulkAddComment">
+        <view name="input">/secure/views/bulkedit.jsp</view>
+    </action>
+     -->
+
+
+    <!-- Browser -->
+    <action name="browser.Browser">
+        <command name="projects" alias="BrowseProjects">
+            <view name="success">/secure/views/browser/browseprojects.jsp</view>
+        </command>
+        <command name="project" alias="BrowseProject">
+            <view name="success">/secure/views/browser/browseproject.jsp</view>
+            <view name="selectproject">/secure/views/browser/browseprojects.jsp</view>
+            <view name="permissionviolation">/secure/views/permissionviolation.jsp</view>
+        </command>
+    </action>
+
+    <action name="browser.TimeTrackingReport" alias="TimeTrackingReport">
+        <view name="input">/secure/views/browser/timetrackreport-start.jsp</view>
+        <view name="error">/secure/views/browser/timetrackreport-start.jsp</view>
+        <view name="success">/secure/views/browser/timetrackreport-result.jsp</view>
+        <view name="permissionviolation">/secure/views/permissionviolation.jsp</view>
+        <view name="excel">/secure/views/browser/timetrackreport-excel.jsp</view>
+        <command name="excelView" alias="excel"/>
+    </action>
+
+    <action name="browser.DeveloperWorkloadReport" alias="DeveloperWorkloadReport">
+        <view name="input">/secure/views/browser/workload/developerworkloadreport-start.jsp</view>
+        <view name="success">/secure/views/browser/workload/developerworkloadreport-success.jsp</view>
+    </action>
+
+    <action name="browser.VersionWorkloadReport" alias="VersionWorkloadReport">
+        <view name="input">/secure/views/browser/workload/versionworkloadreport-start.jsp</view>
+        <view name="success">/secure/views/browser/workload/versionworkloadreport-success.jsp</view>
+    </action>
+
+    <action name="browser.ConfigureReport" alias="ConfigureReport">
+        <view name="input">/secure/views/browser/configurereport.jsp</view>
+        <view name="error">/secure/views/browser/configurereport.jsp</view>
+        <view name="success">/secure/views/browser/report-result.jsp</view>
+        <view name="excel">/secure/views/browser/report-excel.jsp</view>
+        <command name="excelView" alias="excel"/>
+    </action>
+
+    <!-- Dashboard -->
+    <action name="Dashboard">
+        <view name="success">/secure/views/dashboard.jsp</view>
+        <view name="error">/secure/views/dashboard.jsp</view>
+    </action>
+
+    <action name="portal.RunPortlet" alias="RunPortlet">
+        <view name="success">/secure/views/runportlet.jsp</view>
+        <view name="error">/secure/views/runportlet.jsp</view>
+    </action>
+
+    <!-- Setup wizard -->
+    <action name="setup.Setup" alias="Setup">
+        <view name="success">Setup2!default.jspa</view>
+        <view name="error">/views/setup.jsp</view>
+        <view name="input">/views/setup.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+    </action>
+
+    <action name="setup.Setup2" alias="Setup2">
+        <view name="success">Setup3!default.jspa</view>
+        <view name="error">/view/setup2.jsp</view>
+        <view name="input">/views/setup2.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+        <view name="existingadmins">SetupExisting!default.jspa</view>
+    </action>
+
+    <action name="setup.Setup2Existing" alias="SetupExisting">
+        <view name="success">Setup3!default.jspa</view>
+        <view name="input">/views/setup2-existingadmins.jsp</view>
+        <view name="error">/views/setup2-existingadmins.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+    </action>
+
+    <action name="setup.Setup3" alias="Setup3">
+        <view name="success">SetupComplete!default.jspa</view>
+        <view name="error">/views/setup3.jsp</view>
+        <view name="input">/views/setup3.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+    </action>
+
+    <action name="setup.SetupComplete" alias="SetupComplete">
+        <view name="success">/views/setup-finish.jsp</view>
+        <view name="error">/views/setup-finish.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+        <view name="oldlicense">/secure/errors.jsp</view>
+    </action>
+
+    <action name="setup.SetupImport" alias="SetupImport">
+        <view name="success">/views/setup-finish.jsp</view>
+        <view name="input">/views/setup-import.jsp</view>
+        <view name="error">/views/setup-import.jsp</view>
+        <view name="setupalready">/views/setupalready.jsp</view>
+    </action>
+
+
+
+    <!-- Misc Actions -->
+    <action name="JiraWebActionSupport" alias="Administrators">
+        <view name="success">/views/administrators.jsp</view>
+    </action>
+
+    <!-- Workflow -->
+    <action name="workflow.WorkflowUIDispatcher" alias="WorkflowUIDispatcher">
+        <view name="success">SimpleWorkflowAction.jspa</view>
+        <view name="error">/secure/views/workflowerror.jsp</view>
+    </action>
+
+    <action name="issue.AssignIssue" alias="AssignIssue">
+        <view name="error">/secure/views/issue/assignissue.jsp</view>
+        <view name="input">/secure/views/issue/assignissue.jsp</view>
+    </action>
+
+    <action name="issue.ResolveIssue" alias="ResolveIssue">
+        <view name="error">/secure/views/issue/resolveissue.jsp</view>
+        <view name="input">/secure/views/issue/resolveissue.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="issue.CommentAssignIssue" alias="CommentAssignIssue">
+        <view name="error">/secure/views/issue/commentassignissue.jsp</view>
+        <view name="input">/secure/views/issue/commentassignissue.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+
+    <action name="workflow.SimpleWorkflowAction" alias="SimpleWorkflowAction">
+        <view name="input">/secure/views/workflowerror.jsp</view>
+        <view name="error">/secure/views/workflowerror.jsp</view>
+    </action>
+
+
+    <!-- Notification -->
+    <action name="admin.notification.AddScheme" alias="AddNotificationScheme">
+        <view name="input">/secure/admin/views/notifications/addscheme.jsp</view>
+    </action>
+
+    <action name="admin.notification.EditScheme" alias="EditNotificationScheme">
+        <view name="input">/secure/admin/views/notifications/editscheme.jsp</view>
+        <view name="success">/secure/admin/views/notifications/editscheme.jsp</view>
+    </action>
+
+    <action name="admin.notification.ViewSchemes" alias="ViewNotificationSchemes">
+        <view name="success">/secure/admin/views/notifications/viewschemes.jsp</view>
+    </action>
+
+    <action name="admin.notification.DeleteScheme" alias="DeleteNotificationScheme">
+        <view name="input">/secure/admin/views/notifications/deletescheme.jsp</view>
+        <view name="success">/secure/admin/views/notifications/deletescheme.jsp</view>
+    </action>
+
+    <action name="admin.notification.EditNotifications" alias="EditNotifications">
+        <view name="input">/secure/admin/views/notifications/editnotifications.jsp</view>
+        <view name="success">/secure/admin/views/notifications/editnotifications.jsp</view>
+    </action>
+
+    <action name="admin.notification.AddNotification" alias="AddNotification">
+        <view name="input">/secure/admin/views/notifications/addnotification.jsp</view>
+        <view name="success">/secure/admin/views/notifications/addnotification.jsp</view>
+    </action>
+
+    <action name="admin.notification.DeleteNotification" alias="DeleteNotification">
+        <view name="input">/secure/admin/views/notifications/deletenotification.jsp</view>
+        <view name="success">/secure/admin/views/notifications/deletenotification.jsp</view>
+    </action>
+
+    <action name="admin.notification.CopyScheme" alias="CopyNotificationScheme">
+        <view name="success">/secure/admin/views/notifications/viewschemes.jsp</view>
+        <view name="error">ViewNotificationSchemes.jspa</view>
+    </action>
+
+    <!-- Permission Schemes -->
+
+    <action name="admin.permission.ViewSchemes" alias="ViewPermissionSchemes" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/viewschemes.jsp</view>
+        <view name="success">/secure/admin/views/permissions/viewschemes.jsp</view>
+    </action>
+
+    <action name="admin.permission.AddScheme" alias="AddPermissionScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/addscheme.jsp</view>
+    </action>
+
+    <action name="admin.permission.EditScheme" alias="EditPermissionScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/editscheme.jsp</view>
+        <view name="success">/secure/admin/views/permissions/editscheme.jsp</view>
+    </action>
+
+    <action name="admin.permission.DeleteScheme" alias="DeletePermissionScheme" roles-required="admin">
+        <view name="error">/secure/admin/views/permissions/viewschemes.jsp</view>
+        <view name="input">/secure/admin/views/permissions/deletescheme.jsp</view>
+        <view name="success">/secure/admin/views/permissions/deletescheme.jsp</view>
+    </action>
+
+    <action name="admin.permission.CopyScheme" alias="CopyPermissionScheme" roles-required="admin">
+        <view name="success">/secure/admin/views/permissions/viewschemes.jsp</view>
+        <view name="error">ViewPermissionSchemes.jspa</view>
+    </action>
+
+    <action name="admin.permission.EditPermissions" alias="EditPermissions" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/editpermissions.jsp</view>
+        <view name="success">/secure/admin/views/permissions/editpermissions.jsp</view>
+    </action>
+
+    <action name="admin.permission.DeletePermission" alias="DeletePermission" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/deletepermission.jsp</view>
+        <view name="success">/secure/admin/views/permissions/deletepermissions.jsp</view>
+    </action>
+
+    <action name="admin.permission.AddPermission" alias="AddPermission" roles-required="admin">
+        <view name="input">/secure/admin/views/permissions/addpermission.jsp</view>
+        <view name="success">/secure/admin/views/permissions/addpermission.jsp</view>
+    </action>
+
+    <!-- Workflow -->
+    <action name="admin.workflow.ListWorkflows" alias="ListWorkflows" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/listworkflows.jsp</view>
+        <view name="success">/secure/admin/views/workflow/listworkflows.jsp</view>
+
+        <command name="addWorkflow" alias="AddWorkflow">
+            <view name="success">/secure/admin/views/workflow/listworkflows.jsp</view>
+            <view name="error">/secure/admin/views/workflow/listworkflows.jsp</view>
+        </command>
+
+        <command name="deleteWorkflow" alias="DeleteWorkflow">
+            <view name="input">/secure/admin/views/workflow/deleteworkflow.jsp</view>
+            <view name="error">/secure/admin/views/workflow/deleteworkflow.jsp</view>
+        </command>
+
+        <command name="enableWorkflow" alias="EnableWorkflow">
+            <view name="error">/secure/admin/views/workflow/listworkflows.jsp</view>
+        </command>
+
+        <command name="disableWorkflow" alias="DisableWorkflow">
+            <view name="error">/secure/admin/views/workflow/listworkflows.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.workflow.CloneWorkflow" alias="CloneWorkflow" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/cloneworkflow.jsp</view>
+        <view name="error">/secure/admin/views/workflow/cloneworkflow.jsp</view>
+    </action>
+
+    <action name="admin.workflow.ActivateWorkflow" alias="ActivateWorkflow" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/activateworkflow.jsp</view>
+        <view name="error">/secure/admin/views/workflow/activateworkflow.jsp</view>
+        <view name="success">/secure/admin/views/workflow/listworkflows.jsp</view>
+    </action>
+
+    <action name="admin.workflow.ImportWorkflow" alias="ImportWorkflowFromXml" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/importworkflowfromxml.jsp</view>
+        <view name="error">/secure/admin/views/workflow/importworkflowfromxml.jsp</view>
+    </action>
+
+    <action name="admin.workflow.ViewWorkflowSteps" alias="ViewWorkflowSteps" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowsteps.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowsteps.jsp</view>
+
+        <command name="addStep" alias="AddWorkflowStep">
+            <view name="success">/secure/admin/views/workflow/viewworkflowsteps.jsp</view>
+            <view name="error">/secure/admin/views/workflow/viewworkflowsteps.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.workflow.ViewWorkflowStepMetaAttributes" alias="ViewWorkflowStepMetaAttributes" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+
+        <command name="addMetaAttribute" alias="AddWorkflowStepMetaAttribute">
+            <view name="input">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+        </command>
+
+        <command name="removeMetaAttribute" alias="RemoveWorkflowStepMetaAttribute">
+            <view name="input">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowstepmetaattributes.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.workflow.ViewWorkflowTransitionMetaAttributes" alias="ViewWorkflowTransitionMetaAttributes" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+
+        <command name="addMetaAttribute" alias="AddWorkflowTransitionMetaAttribute">
+            <view name="input">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+        </command>
+
+        <command name="removeMetaAttribute" alias="RemoveWorkflowTransitionMetaAttribute">
+            <view name="input">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowtransitionmetaattributes.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.workflow.ViewWorkflowXml" alias="ViewWorkflowXml" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowxml.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowxml.jsp</view>
+    </action>
+
+    <action name="admin.workflow.EditWorkflowStep" alias="EditWorkflowStep" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editworkflowstep.jsp</view>
+        <view name="error">/secure/admin/views/workflow/editworkflowstep.jsp</view>
+    </action>
+
+    <action name="admin.workflow.DeleteWorkflowStep" alias="DeleteWorkflowStep" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/deleteworkflowstep.jsp</view>
+    </action>
+
+    <action name="admin.workflow.ViewWorkflowStep" alias="ViewWorkflowStep" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowstep.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowstep.jsp</view>
+    </action>
+
+    <action name="admin.workflow.AddWorkflowTransition" alias="AddWorkflowTransition" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransition.jsp</view>
+        <view name="error">/secure/admin/views/workflow/addworkflowtransition.jsp</view>
+    </action>
+
+    <action name="admin.workflow.EditWorkflowTransition" alias="EditWorkflowTransition" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editworkflowtransition.jsp</view>
+        <view name="error">/secure/admin/views/workflow/editworkflowtransition.jsp</view>
+    </action>
+
+    <!-- Workflow Transition Conditions -->
+    <action name="admin.workflow.AddWorkflowTransitionCondition" alias="AddWorkflowTransitionCondition" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptor.jsp</view>
+    </action>
+
+    <action name="admin.workflow.AddWorkflowTransitionConditionParams" alias="AddWorkflowTransitionConditionParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <action name="admin.workflow.DeleteWorkflowTransitionCondition" alias="DeleteWorkflowTransitionCondition" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/deleteworkflowtransitiondescriptor.jsp</view>
+        <view name="error">/secure/admin/views/workflow/deleteworkflowtransitiondescriptor.jsp</view>
+    </action>
+
+    <action name="admin.workflow.EditWorkflowTransitionConditionParams" alias="EditWorkflowTransitionConditionParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <!-- Workflow Transition Functions -->
+    <action name="admin.workflow.AddWorkflowTransitionPostFunction" alias="AddWorkflowTransitionPostFunction" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptor.jsp</view>
+    </action>
+
+    <action name="admin.workflow.AddWorkflowTransitionFunctionParams" alias="AddWorkflowTransitionFunctionParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <action name="admin.workflow.DeleteWorkflowTransitionPostFunction" alias="DeleteWorkflowTransitionPostFunction" roles-required="admin">
+        <view name="error">/secure/admin/views/workflow/deleteworkflowtransitiondescriptor.jsp</view>
+    </action>
+
+    <action name="admin.workflow.EditWorkflowTransitionPostFunctionParams" alias="EditWorkflowTransitionPostFunctionParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <!-- Workflow Transition Validators -->
+    <action name="admin.workflow.AddWorkflowTransitionValidator" alias="AddWorkflowTransitionValidator" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptor.jsp</view>
+    </action>
+
+    <action name="admin.workflow.AddWorkflowTransitionValidatorParams" alias="AddWorkflowTransitionValidatorParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/addworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <action name="admin.workflow.DeleteWorkflowTransitionValidator" alias="DeleteWorkflowTransitionValidator" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/deleteworkflowtransitiondescriptor.jsp.jsp</view>
+        <view name="error">/secure/admin/views/workflow/deleteworkflowtransitiondescriptor.jsp.jsp</view>
+    </action>
+
+    <action name="admin.workflow.EditWorkflowTransitionValidatorParams" alias="EditWorkflowTransitionValidatorParams" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+        <view name="error">/secure/admin/views/workflow/editworkflowtransitiondescriptorparams.jsp</view>
+    </action>
+
+    <!-- Workflow Transition Conditional Steps -->
+    <action name="admin.workflow.ViewWorkflowTransitionConditionalResult" alias="ViewWorkflowTransitionConditionalResult" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/viewworkflowtransitiondescriptorxml.jsp</view>
+        <view name="success">/secure/admin/views/workflow/viewworkflowtransitiondescriptorxml.jsp</view>
+    </action>
+
+    <!-- Workflow Transitions -->
+    <action name="admin.workflow.ViewWorkflowTransition" alias="ViewWorkflowTransition" roles-required="admin">
+        <view name="success">/secure/admin/views/workflow/viewworkflowtransition.jsp</view>
+
+        <command name="moveWorkflowFunctionUp" alias="MoveWorkflowFunctionUp">
+            <view name="error">/secure/admin/views/workflow/viewworkflowtransition.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowtransition.jsp</view>
+        </command>
+
+        <command name="moveWorkflowFunctionDown" alias="MoveWorkflowFunctionDown">
+            <view name="error">/secure/admin/views/workflow/viewworkflowtransition.jsp</view>
+            <view name="success">/secure/admin/views/workflow/viewworkflowtransition.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.workflow.DeleteWorkflowTransitions" alias="DeleteWorkflowTransitions" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/deleteworkflowtransitions.jsp</view>
+        <view name="error">/secure/admin/views/workflow/deleteworkflowtransitions.jsp</view>
+        <view name="confirm">/secure/admin/views/workflow/confirmdeleteworkflowtransitions.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.AddScheme" alias="AddWorkflowScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/addscheme.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.EditScheme" alias="EditWorkflowScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/editscheme.jsp</view>
+        <view name="success">/secure/admin/views/workflow/editscheme.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.ViewSchemes" alias="ViewWorkflowSchemes" roles-required="admin">
+        <view name="success">/secure/admin/views/workflow/viewschemes.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.DeleteScheme" alias="DeleteWorkflowScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/workflow/deletescheme.jsp</view>
+        <view name="success">/secure/admin/views/workflow/deletescheme.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.CopyScheme" alias="CopyWorkflowScheme" roles-required="admin">
+        <view name="success">/secure/admin/views/workflow/viewschemes.jsp</view>
+        <view name="error">ViewWorkflowSchemes.jspa</view>
+    </action>
+
+    <action name="admin.workflow.scheme.EditWorkflowSchemeEntities" alias="EditWorkflowSchemeEntities">
+        <view name="input">/secure/admin/views/workflow/editworkflowschemeentities.jsp</view>
+        <view name="success">/secure/admin/views/workflow/editworkflowschemeentities.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.AddWorkflowSchemeEntity" alias="AddWorkflowSchemeEntity">
+        <view name="input">/secure/admin/views/workflow/addworkflowschemeentity.jsp</view>
+        <view name="success">/secure/admin/views/workflow/addworkflowschemeentity.jsp</view>
+    </action>
+
+    <action name="admin.workflow.scheme.DeleteWorkflowSchemeEntity" alias="DeleteWorkflowSchemeEntity">
+        <view name="input">/secure/admin/views/workflow/deleteworkflowschemeentity.jsp</view>
+        <view name="success">/secure/admin/views/workflow/deleteworkflowschemeentity.jsp</view>
+    </action>
+
+
+
+    <!-- Issue Security Schemes -->
+    <action name="admin.issuesecurity.ViewSchemes" alias="ViewIssueSecuritySchemes" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/viewschemes.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/viewschemes.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.AddScheme" alias="AddIssueSecurityScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/addscheme.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.EditScheme" alias="EditIssueSecurityScheme" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/editscheme.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/editscheme.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.DeleteScheme" alias="DeleteIssueSecurityScheme" roles-required="admin">
+        <view name="error">/secure/admin/views/issuesecurity/viewschemes.jsp</view>
+        <view name="input">/secure/admin/views/issuesecurity/deletescheme.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/deletescheme.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.CopyScheme" alias="CopyIssueSecurityScheme" roles-required="admin">
+        <view name="success">/secure/admin/views/issuesecurity/viewschemes.jsp</view>
+        <view name="error">ViewIssueSecuritySchemes.jspa</view>
+    </action>
+
+    <action name="admin.issuesecurity.EditIssueSecurities" alias="EditIssueSecurities" roles-required="admin">
+        <view name="error">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+        <view name="input">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+        <command name="addLevel" alias="AddLevel" roles-required="admin">
+            <view name="error">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+            <view name="input">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+            <view name="success">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+        </command>
+        <command name="makeDefaultLevel" alias="MakeDefaultLevel" roles-required="admin">
+            <view name="error">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+            <view name="input">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+            <view name="success">/secure/admin/views/issuesecurity/editissuesecurities.jsp</view>
+        </command>
+    </action>
+
+    <action name="admin.issuesecurity.DeleteIssueSecurity" alias="DeleteIssueSecurity" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/deleteissuesecurity.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/deleteissuesecurity.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.DeleteIssueSecurityLevel" alias="DeleteIssueSecurityLevel" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/deleteissuesecuritylevel.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/deleteissuesecuritylevel.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.SelectProjectSecuritySchemeStep2" alias="SelectProjectSecuritySchemeStep2" roles-required="admin">
+        <view name="error">/secure/project/views/issuesecurity/selectschemestep2.jsp</view>
+        <view name="input">/secure/project/views/issuesecurity/selectschemestep2.jsp</view>
+        <view name="success">/secure/project/views/issuesecurity/selectschemestep2.jsp</view>
+    </action>
+
+    <action name="admin.issuesecurity.AddIssueSecurity" alias="AddIssueSecurity" roles-required="admin">
+        <view name="input">/secure/admin/views/issuesecurity/addissuesecurity.jsp</view>
+        <view name="success">/secure/admin/views/issuesecurity/addissuesecurity.jsp</view>
+    </action>
+
+    <action name="admin.IntegrityChecker" alias="IntegrityChecker" roles-required="admin">
+        <view name="input">/secure/admin/views/integritychecker.jsp</view>
+        <view name="error">/secure/admin/views/integritychecker.jsp</view>
+        <view name="success">/secure/admin/views/integritychecker.jsp</view>
+        <view name="preview">/secure/admin/views/integritycheckerpreview.jsp</view>
+        <view name="correct">/secure/admin/views/integritycheckercorrect.jsp</view>
+    </action>
+
+    <action name="admin.ConfigureLogging" alias="ConfigureLogging" roles-required="admin">
+        <view name="input">/secure/admin/views/configurelogging.jsp</view>
+        <view name="error">/secure/admin/views/configurelogging.jsp</view>
+    </action>
+
+    <action name="admin.ViewLogging" alias="ViewLogging" roles-required="admin">
+        <view name="success">/secure/admin/views/viewlogging.jsp</view>
+        <view name="input">/secure/admin/views/viewlogging.jsp</view>
+    </action>
+
+    <!-- SEND TEST EMAIL -->
+    <action name="admin.mail.SendTestMail" alias="SendTestMail">
+        <view name="input">/secure/admin/views/mail/sendtestmail.jsp</view>
+    </action>
+
+    <!-- Send Bulk Mail -->
+    <action name="admin.mail.SendBulkMail" alias="SendBulkMail" roles-required="admin">
+        <view name="input">/secure/admin/views/mail/sendbulkmail.jsp</view>
+        <view name="success">/secure/admin/views/mail/sendbulkmail_result.jsp</view>
+        <view name="error">/secure/admin/views/mail/sendbulkmail_result.jsp</view>
+    </action>
+
+    <!-- Filter Subscription -->
+    <action name="filter.FilterSubscription" alias="FilterSubscription" roles-required="use">
+        <view name="error">/secure/views/filter/managefilters.jsp</view>
+        <view name="input">/secure/views/filter/subscribefilter.jsp</view>
+        <command name="delete" alias="DeleteSubscription">
+            <view name="error">/secure/views/filter/viewfiltersubscriptions.jsp</view>
+        </command>
+        <command name="runNow" alias="RunSubscription">
+            <view name="error">/secure/views/filter/viewfiltersubscriptions.jsp</view>
+        </command>
+    </action>
+
+    <!-- Portlet actions -->
+    <action name="user.ConfigurePortal" alias="DashboardConfig" roles-required="use">
+        <view name="input">/secure/views/user/dashboardconfig.jsp</view>
+        <view name="error">/secure/views/user/dashboardconfig.jsp</view>
+        <view name="initialise">/secure/views/user/dashboardconfiginit.jsp</view>
+    </action>
+
+    <action name="user.SetupPortal" alias="SetupPortal" roles-required="use">
+        <view name="input">/secure/views/user/dashboardconfiginit.jsp</view>
+        <command name="createNew" alias="DashboardConfigInit">
+            <view name="input">/secure/views/user/dashboardconfiginit.jsp</view>
+        </command>
+    </action>
+
+    <action name="user.ConfigurePortalPages" alias="ConfigurePortalPages" roles-required="use">
+        <view name="input">/secure/views/user/portalconfig.jsp</view>
+        <view name="error">/secure/views/user/portalconfig.jsp</view>
+        <view name="initialise">/secure/views/user/dashboardconfiginit.jsp</view>
+    </action>
+
+    <action name="user.RestoreDefaultDashboard" alias="RestoreDefaultDashboard" roles-required="use">
+        <view name="success">/secure/views/user/</view>
+        <view name="input">/secure/views/user/restoredefaultdashboardconfirm.jsp</view>
+        <view name="error">/secure/views/user/restoredefaultdashboardconfirm.jsp</view>
+    </action>
+
+    <action name="user.DeletePortlet" alias="DeletePortlet" roles-required="use">
+        <view name="success">/secure/views/user/></view>
+    </action>
+
+    <action name="user.AddPortlet" alias="AddPortlet" roles-required="use">
+        <view name="error">/secure/views/user/dashboardconfig.jsp</view>
+        <view name="input">/secure/views/user/addportlet.jsp</view>
+    </action>
+
+    <action name="user.SaveConfiguration" alias="SavePortlet" roles-required="use">
+        <view name="input">/secure/views/user/configureportlet.jsp</view>
+    </action>
+
+    <!-- The Quick Search bar which now replaces the issue key link -->
+    <action name="issue.QuickSearch" alias="QuickSearch">
+        <view name="input">/secure/views/navigator.jsp</view>
+    </action>
+
+    <action name="popups.Calendar" alias="Calendar">
+        <view name="input">/secure/popups/calendar.jsp</view>
+        <view name="success">/secure/popups/calendar.jsp</view>
+    </action>
+
+    <!-- Voting -->
+    <action name="admin.voting.AddScheme" alias="AddVotingScheme">
+        <view name="input">/secure/admin/views/voting/addscheme.jsp</view>
+    </action>
+
+    <action name="admin.voting.EditScheme" alias="EditVotingScheme">
+        <view name="input">/secure/admin/views/voting/editscheme.jsp</view>
+        <view name="success">/secure/admin/views/voting/editscheme.jsp</view>
+    </action>
+
+    <action name="admin.voting.ViewSchemes" alias="ViewVotingSchemes">
+        <view name="success">/secure/admin/views/voting/viewschemes.jsp</view>
+    </action>
+
+    <action name="admin.voting.DeleteScheme" alias="DeleteVotingScheme">
+        <view name="input">/secure/admin/views/voting/deletescheme.jsp</view>
+        <view name="success">/secure/admin/views/voting/deletescheme.jsp</view>
+    </action>
+
+    <action name="admin.voting.EditVotesAssigments" alias="EditVotesAssigments">
+        <view name="input">/secure/admin/views/voting/editvotesassigments.jsp</view>
+        <view name="success">/secure/admin/views/voting/editvotesassigments.jsp</view>
+    </action>
+
+    <action name="admin.voting.AddVotesAssigment" alias="AddVotesAssigment">
+        <view name="input">/secure/admin/views/voting/addvotesassigment.jsp</view>
+        <view name="success">/secure/admin/views/voting/addvotesassigment.jsp</view>
+    </action>
+
+    <action name="admin.voting.DeleteVotesAssigment" alias="DeleteVotesAssigment">
+        <view name="input">/secure/admin/views/voting/deletevotesassigment.jsp</view>
+        <view name="success">/secure/admin/views/voting/deletevotesassigment.jsp</view>
+    </action>
+
+    <action name="admin.voting.CopyScheme" alias="CopyVotingScheme">
+        <view name="success">/secure/admin/views/voting/viewschemes.jsp</view>
+        <view name="error">ViewVotingSchemes.jspa</view>
+    </action>
+        
+    <action name="admin.voting.SelectProjectVotingScheme" alias="SelectProjectVotingScheme" roles-required="admin">
+        <view name="success">/secure/project/views/voting/selectprojectscheme.jsp</view>
+        <view name="input">/secure/project/views/voting/selectprojectscheme.jsp</view>
+        <view name="securitybreach">/secure/views/securitybreach.jsp</view>
+    </action>
+</actions>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitygroup.xml
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitygroup.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitygroup.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE entitygroup PUBLIC "-//OFBiz//DTD Entity Group//EN" "http://www.ofbiz.org/dtds/entitygroup.dtd">
+<entitygroup>
+    <!-- sequence entity -->
+    <entity-group group="default" entity="SequenceValueItem"/>
+
+    <!-- osuser -->
+    <entity-group group="default" entity="OSUser"/>
+    <entity-group group="default" entity="OSMembership"/>
+    <entity-group group="default" entity="OSGroup"/>
+
+    <!-- oscore -->
+    <entity-group group="default" entity="OSPropertyEntry"/>
+    <entity-group group="default" entity="OSPropertyString"/>
+    <entity-group group="default" entity="OSPropertyText"/>
+    <entity-group group="default" entity="OSPropertyData"/>
+    <entity-group group="default" entity="OSPropertyDate"/>
+    <entity-group group="default" entity="OSPropertyDecimal"/>
+    <entity-group group="default" entity="OSPropertyNumber"/>
+
+    <!-- osworkflow -->
+    <entity-group group="default" entity="OSWorkflowEntry"/>
+    <entity-group group="default" entity="OSCurrentStep"/>
+    <entity-group group="default" entity="OSHistoryStep"/>
+    <entity-group group="default" entity="OSCurrentStepPrev"/>
+    <entity-group group="default" entity="OSHistoryStepPrev"/>
+
+    <!-- association entities -->
+    <entity-group group="default" entity="NodeAssociation"/>
+    <entity-group group="default" entity="UserAssociation"/>
+
+    <!-- JIRA entities -->
+    <entity-group group="default" entity="ListenerConfig"/>
+    <entity-group group="default" entity="ServiceConfig"/>
+    <entity-group group="default" entity="Project"/>
+    <entity-group group="default" entity="Version"/>
+    <entity-group group="default" entity="Component"/>
+    <entity-group group="default" entity="ProjectCategory"/>
+    <entity-group group="default" entity="Issue"/>
+    <entity-group group="default" entity="Action"/>
+    <entity-group group="default" entity="FileAttachment"/>
+    <entity-group group="default" entity="Permission"/>
+    <entity-group group="default" entity="SearchRequest"/>
+    <entity-group group="default" entity="IssueLinkType"/>
+    <entity-group group="default" entity="IssueLink"/>
+    <entity-group group="default" entity="TrackbackPing"/>
+    <entity-group group="default" entity="Priority"/>
+    <entity-group group="default" entity="Resolution"/>
+    <entity-group group="default" entity="IssueType"/>
+    <entity-group group="default" entity="Status"/>
+
+    <entity-group group="default" entity="CustomField"/>
+    <entity-group group="default" entity="CustomFieldValue"/>
+    <entity-group group="default" entity="CustomFieldOption"/>
+
+    <entity-group group="default" entity="FieldConfigScheme"/>
+    <entity-group group="default" entity="FieldConfigSchemeIssueType"/>
+    <entity-group group="default" entity="FieldConfiguration"/>
+    <entity-group group="default" entity="ConfigurationContext"/>
+    <entity-group group="default" entity="GenericConfiguration"/>
+
+    <entity-group group="default" entity="ChangeGroup"/>
+    <entity-group group="default" entity="ChangeItem"/>
+
+    <entity-group group="default" entity="MailServer"/>
+
+    <!-- Notifications -->
+    <entity-group group="default" entity="NotificationScheme"/>
+    <entity-group group="default" entity="Notification"/>
+    <entity-group group="default" entity="NotificationInstance"/>
+
+    <entity-group group="default" entity="PermissionScheme"/>
+    <entity-group group="default" entity="SchemePermissions"/>
+
+    <entity-group group="default" entity="IssueSecurityScheme"/>
+    <entity-group group="default" entity="SchemeIssueSecurities"/>
+    <entity-group group="default" entity="SchemeIssueSecurityLevels"/>
+
+    <!-- Filter Subscription -->
+    <entity-group group="default" entity="FilterSubscription"/>
+
+    <!-- Quartz -->
+    <entity-group group="default" entity="QRTZJobDetails"/>
+    <entity-group group="default" entity="QRTZJobListeners"/>
+    <entity-group group="default" entity="QRTZTriggers"/>
+    <entity-group group="default" entity="QRTZSimpleTriggers"/>
+    <entity-group group="default" entity="QRTZCronTriggers"/>
+    <entity-group group="default" entity="QRTZTriggerListeners"/>
+    <entity-group group="default" entity="QRTZFiredTriggers"/>
+    <entity-group group="default" entity="QRTZCalendars"/>
+
+    <entity-group group="default" entity="PortalPage"/>
+    <entity-group group="default" entity="PortletConfiguration"/>
+    <entity-group group="default" entity="VersionControl"/>
+
+    <entity-group group="default" entity="UpgradeHistory"/>
+
+    <entity-group group="default" entity="FieldLayoutScheme"/>
+    <entity-group group="default" entity="FieldLayoutSchemeEntity"/>
+    <entity-group group="default" entity="FieldLayout"/>
+    <entity-group group="default" entity="FieldLayoutItem"/>
+    <entity-group group="default" entity="FieldLayoutSchemeAssociation"/>
+
+    <entity-group group="default" entity="ColumnLayout"/>
+    <entity-group group="default" entity="ColumnLayoutItem"/>
+
+    <!-- Field Screen -->
+    <entity-group group="default" entity="FieldScreen"/>
+    <entity-group group="default" entity="FieldScreenTab"/>
+    <entity-group group="default" entity="FieldScreenLayoutItem"/>
+
+    <!-- Field Screen Scheme -->
+    <entity-group group="default" entity="FieldScreenScheme"/>
+    <entity-group group="default" entity="FieldScreenSchemeItem"/>
+
+    <!-- Issue Type Screen Scheme -->
+    <entity-group group="default" entity="IssueTypeScreenScheme"/>
+    <entity-group group="default" entity="IssueTypeScreenSchemeEntity"/>
+
+    <!-- Workflow -->
+    <entity-group group="default" entity="Workflow"/>
+    <entity-group group="default" entity="WorkflowScheme"/>
+    <entity-group group="default" entity="WorkflowSchemeEntity"/>
+
+    <!-- Views for counts -->
+    <entity-group group="default" entity="IssueCount"/>
+    <entity-group group="default" entity="ProjectCount"/>
+    <entity-group group="default" entity="CustomFieldCount"/>
+    <entity-group group="default" entity="WorkflowCount"/>
+    <entity-group group="default" entity="OSUserCount"/>
+    <entity-group group="default" entity="OSGroupCount"/>
+
+    <!-- Voting -->
+    <entity-group group="default" entity="VotingScheme"/>
+    <entity-group group="default" entity="VotesAssigment"/>
+</entitygroup>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitymodel.xml
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitymodel.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/entitydefs/entitymodel.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,1638 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE entitymodel PUBLIC "-//OFBiz//DTD Entity Model//EN" "http://www.ofbiz.org/dtds/entitymodel.dtd">
+
+<entitymodel>
+    <title>Entity Model for JIRA</title>
+    <description>None</description>
+    <copyright>Copyright (c) 2002-2005 Atlassian</copyright>
+    <author>Mike Cannon-Brookes and Atlassian Dev Team</author>
+    <version>1.0</version>
+
+    <!-- sequence generator table -->
+    <entity entity-name="SequenceValueItem" table-name="" package-name="">
+        <field name="seqName" type="id-long-ne"></field>
+        <field name="seqId" type="numeric"></field>
+        <prim-key field="seqName"/>
+    </entity>
+
+
+    <!-- OSUser implementation -->
+    <entity entity-name="OSUser" table-name="userbase" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="username" type="long-varchar"/>
+        <field name="passwordHash" type="long-varchar"/>
+        <prim-key field="id"/>
+
+        <index name="osuser_name">
+            <index-field name="name"/>
+        </index>
+    </entity>
+
+    <entity entity-name="OSMembership" table-name="membershipbase" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="userName" type="long-varchar"/>
+        <field name="groupName" type="long-varchar"/>
+        <prim-key field="id"/>
+
+        <index name="mshipbase_user">
+            <index-field name="userName"/>
+        </index>
+
+        <index name="mshipbase_group">
+            <index-field name="groupName"/>
+        </index>
+    </entity>
+
+    <entity entity-name="OSGroup" table-name="groupbase" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="name" col-name="groupname" type="long-varchar"/>
+        <prim-key field="id"/>
+
+        <index name="osgroup_name">
+            <index-field name="name"/>
+        </index>
+    </entity>
+
+
+    <!-- PropertySet implementation -->
+    <entity entity-name="OSPropertyEntry" table-name="propertyentry" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="entityName" type="long-varchar"/>
+        <field name="entityId" type="numeric"/>
+        <field name="propertyKey" type="long-varchar"/>
+        <field name="type" col-name="propertytype" type="integer"/>
+        <prim-key field="id"/>
+
+        <index name="osproperty_all">
+            <index-field name="entityName"/>
+            <index-field name="entityId"/>
+        </index>
+
+        <!--  It would be nice to use the index below indtead of the one above. However MySQL does not allow to index more than 500 characters.
+              As entityName and propertyKey are both 255 characters each (long-varchar for MySQl is 255 chars) the index goes over the 500 limit. -->
+        <!--        <index name="osproperty_key">-->
+        <!--            <index-field name="entityName"/>-->
+        <!--            <index-field name="entityId"/>-->
+        <!--            <index-field name="propertyKey"/>-->
+        <!--        </index>-->
+    </entity>
+
+    <entity entity-name="OSPropertyString" table-name="propertystring" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="very-long"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSPropertyText" table-name="propertytext" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="very-long"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSPropertyDate" table-name="propertydate" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="date-time"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSPropertyData" table-name="propertydata" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="blob"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSPropertyDecimal" table-name="propertydecimal" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="floating-point"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSPropertyNumber" table-name="propertynumber" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="value" col-name="propertyvalue" type="numeric"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <!-- OSWorkflow entities -->
+    <entity entity-name="OSWorkflowEntry" table-name="OS_WFENTRY" package-name="">
+        <field name="id" col-name="ID" type="numeric"/>
+        <field name="name" col-name="NAME" type="short-varchar"/>
+        <!-- The column is no longer used as of workflow 2.6 -->
+        <field name="initialized" col-name="INITIALIZED" type="integer"/>
+        <!-- This column replaced the 'INITIALIZED' column -->
+        <field name="state" col-name="STATE" type="integer"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSCurrentStep" table-name="OS_CURRENTSTEP" package-name="">
+        <field name="id" col-name="ID" type="numeric"/>
+        <field name="entryId" col-name="ENTRY_ID" type="numeric"/>
+        <field name="stepId" col-name="STEP_ID" type="integer"/>
+        <field name="actionId" col-name="ACTION_ID" type="integer"/>
+        <field name="owner" col-name="OWNER" type="short-varchar"/>
+        <field name="startDate" col-name="START_DATE" type="date-time"/>
+        <field name="dueDate" col-name="DUE_DATE" type="date-time"/>
+        <field name="finishDate" col-name="FINISH_DATE" type="date-time"/>
+        <field name="status" col-name="STATUS" type="short-varchar"/>
+        <field name="caller" col-name="CALLER" type="short-varchar"/>
+        <prim-key field="id"/>
+
+        <relation type="one" title="Related" rel-entity-name="Issue">
+            <key-map field-name="entryId" rel-field-name="workflowId"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="OSHistoryStep" table-name="OS_HISTORYSTEP" package-name="">
+        <field name="id" col-name="ID" type="numeric"/>
+        <field name="entryId" col-name="ENTRY_ID" type="numeric"/>
+        <field name="stepId" col-name="STEP_ID" type="integer"/>
+        <field name="actionId" col-name="ACTION_ID" type="integer"/>
+        <field name="owner" col-name="OWNER" type="short-varchar"/>
+        <field name="startDate" col-name="START_DATE" type="date-time"/>
+        <field name="dueDate" col-name="DUE_DATE" type="date-time"/>
+        <field name="finishDate" col-name="FINISH_DATE" type="date-time"/>
+        <field name="status" col-name="STATUS" type="short-varchar"/>
+        <field name="caller" col-name="CALLER" type="short-varchar"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="OSCurrentStepPrev" table-name="OS_CURRENTSTEP_PREV" package-name="">
+        <field name="id" col-name="ID" type="numeric"/>
+        <field name="previousId" col-name="PREVIOUS_ID" type="numeric"/>
+        <prim-key field="id"/>
+        <prim-key field="previousId"/>
+    </entity>
+
+    <entity entity-name="OSHistoryStepPrev" table-name="OS_HISTORYSTEP_PREV" package-name="">
+        <field name="id" col-name="ID" type="numeric"/>
+        <field name="previousId" col-name="PREVIOUS_ID" type="numeric"/>
+        <prim-key field="id"/>
+        <prim-key field="previousId"/>
+    </entity>
+
+    <!-- JIRA Entities -->
+    <entity entity-name="ListenerConfig" table-name="listenerconfig" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="clazz" type="long-varchar"/>
+        <field name="name" col-name="listenername" type="long-varchar"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="ServiceConfig" table-name="serviceconfig" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="time" type="numeric" col-name="delaytime"/>
+        <field name="clazz" type="long-varchar"/>
+        <field name="name" col-name="servicename" type="long-varchar"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="Project" table-name="project" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="name" col-name="pname" type="long-varchar"/>
+        <field name="url" type="long-varchar"/>
+        <field name="lead" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="key" col-name="pkey" type="long-varchar"/>
+        <field name="counter" col-name="pcounter" type="numeric"/>
+        <field name="assigneetype" type="numeric"/>
+        <prim-key field="id"/>
+        <relation type="many" title="Child" rel-entity-name="Component">
+            <key-map field-name="id" rel-field-name="project"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="Version">
+            <key-map field-name="id" rel-field-name="project"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="project"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="SearchRequest">
+            <key-map field-name="id" rel-field-name="project"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="Version" table-name="version" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="project" type="numeric"/>
+        <field name="name" col-name="vname" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="sequence" type="numeric"/>
+        <field name="released" type="very-short"/>
+        <field name="archived" type="very-short"/>
+        <field name="url" type="long-varchar"/>
+        <field name="releasedate" type="date-time"/>
+        <prim-key field="id"/>
+        <relation type="one" title="Parent" rel-entity-name="Project">
+            <key-map field-name="project" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="Component" table-name="component" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="project" type="numeric"/>
+        <field name="name" col-name="cname" type="long-varchar"/>
+        <field name="description" col-name="description" type="very-long"/>
+        <field name="url" type="long-varchar"/>
+        <field name="lead" type="long-varchar"/>
+        <field name="assigneetype" type="numeric"/>
+        <prim-key field="id"/>
+        <relation type="one" title="Parent" rel-entity-name="Project">
+            <key-map field-name="project" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="ProjectCategory" table-name="projectcategory" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="name" col-name="cname" type="long-varchar"/>
+        <field name="description" col-name="description" type="very-long"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="Issue" table-name="jiraissue" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="key" col-name="pkey" type="long-varchar"/>
+
+        <field name="project" type="numeric"/>
+
+        <field name="reporter" type="long-varchar"/>
+        <field name="assignee" type="long-varchar"/>
+
+        <field name="type" col-name="issuetype" type="long-varchar"/>
+        <field name="summary" type="long-varchar"/>
+        <field name="description" type="extremely-long"/>
+        <field name="environment" type="very-long"/>
+        <field name="priority" type="long-varchar"/>
+        <field name="resolution" type="long-varchar"/>
+        <field name="status" col-name="issuestatus" type="long-varchar"/>
+        <field name="created" type="date-time"/>
+        <field name="updated" type="date-time"/>
+        <field name="duedate" type="date-time"/>
+
+        <field name="votes" type="numeric"/>
+        <field name="timeoriginalestimate" type="numeric"/>
+        <field name="timeestimate" type="numeric"/>
+        <field name="timespent" type="numeric"/>
+
+        <field name="workflowId" type="numeric"/>
+        <field name="security" type="numeric"/>
+
+        <!-- deprecated fields - do not use -->
+        <field name="fixfor" type="numeric"/>
+        <field name="component" type="numeric"/>
+
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Project">
+            <key-map field-name="project" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="Action">
+            <key-map field-name="id" rel-field-name="issue"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="FileAttachment">
+            <key-map field-name="id" rel-field-name="issue"/>
+        </relation>
+        <relation type="many" title="Source" rel-entity-name="IssueLink">
+            <key-map field-name="id" rel-field-name="source"/>
+        </relation>
+        <relation type="many" title="Destination" rel-entity-name="IssueLink">
+            <key-map field-name="id" rel-field-name="destination"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="CustomFieldValue">
+            <key-map field-name="id" rel-field-name="issue"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="ChangeGroup">
+            <key-map field-name="id" rel-field-name="issue"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="SchemeIssueSecurityLevels">
+            <key-map field-name="security" rel-field-name="id"/>
+        </relation>
+
+        <relation type="one" title="Related" rel-entity-name="OSWorkflowEntry">
+            <key-map field-name="workflowId" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Related" rel-entity-name="OSCurrentStep">
+            <key-map field-name="workflowId" rel-field-name="entryId"/>
+        </relation>
+        <relation type="one" title="Child" rel-entity-name="TrackbackPing">
+            <key-map field-name="id" rel-field-name="issue"/>
+        </relation>
+
+        <index name="issue_key">
+            <index-field name="key"/>
+        </index>
+    </entity>
+
+    <entity entity-name="Action" table-name="jiraaction" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issue" col-name="issueid" type="numeric"/>
+
+        <field name="author" type="long-varchar"/>
+        <field name="type" col-name="actiontype" type="long-varchar"/>
+        <field name="level" col-name="actionlevel" type="long-varchar"/>
+        <field name="body" col-name="actionbody" type="extremely-long"/>
+        <field name="created" type="date-time"/>
+
+        <!-- an arbitrary number that can be attached to actions used for time log -->
+        <field name="numvalue" col-name="actionnum" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Issue">
+            <key-map field-name="issue" rel-field-name="id"/>
+        </relation>
+
+        <!-- As actions are usually selected by type for a specific issue create a multi-column index -->
+        <index name="action_issue">
+            <index-field name="issue"/>
+            <index-field name="type"/>
+        </index>
+    </entity>
+
+    <entity entity-name="FileAttachment" table-name="fileattachment" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issue" col-name="issueid" type="numeric"/>
+        <field name="mimetype" type="long-varchar"/>
+        <field name="filename" type="long-varchar"/>
+        <field name="created" type="date-time"/>
+        <field name="filesize" type="numeric"/>
+        <field name="author" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Issue">
+            <key-map field-name="issue" rel-field-name="id"/>
+        </relation>
+
+        <!-- index 'fileattachment_issueid' -->
+        <index name="attach_issue">
+            <index-field name="issue"/>
+        </index>
+    </entity>
+
+
+    <entity entity-name="SearchRequest" table-name="searchrequest" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="filtername" type="long-varchar"/>
+        <field name="author" col-name="authorname" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="user" col-name="username" type="long-varchar"/>
+        <field name="group" col-name="groupname" type="long-varchar"/>
+        <field name="project" col-name="projectid" type="numeric"/>
+        <field name="request" col-name="reqcontent" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Project">
+            <key-map field-name="project" rel-field-name="id"/>
+        </relation>
+
+        <index name="sr_author">
+            <index-field name="author"/>
+        </index>
+        <index name="sr_group">
+            <index-field name="group"/>
+        </index>
+    </entity>
+
+    <entity entity-name="IssueLinkType" table-name="issuelinktype" package-name="">
+        <field name="id" type="numeric"/>
+
+        <!-- the name of the link type -->
+        <field name="linkname" type="long-varchar"/>
+
+        <!-- a description of the 'forward' link -->
+        <field name="inward" type="long-varchar"/>
+
+        <!-- a description of the 'backward' link -->
+        <field name="outward" type="long-varchar"/>
+
+        <!-- a type of the link -->
+        <field name="style" col-name="pstyle" type="short-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Child" rel-entity-name="IssueLink">
+            <key-map field-name="id" rel-field-name="linktype"/>
+        </relation>
+
+        <index name="linktypename">
+            <index-field name="linkname"/>
+        </index>
+
+        <index name="linktypestyle">
+            <index-field name="style"/>
+        </index>
+    </entity>
+
+    <entity entity-name="IssueLink" table-name="issuelink" package-name="">
+        <field name="id" type="numeric"/>
+
+        <!-- the name of the link type -->
+        <field name="linktype" type="numeric"/>
+
+        <!-- the id of the source issue -->
+        <field name="source" type="numeric"/>
+
+        <!-- the id of the destination issue -->
+        <field name="destination" type="numeric"/>
+
+        <!-- Used to order links of the same 'style' e.g. sub-tasks -->
+        <field name="sequence" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="IssueLinkType">
+            <key-map field-name="linktype" rel-field-name="id"/>
+        </relation>
+
+        <relation type="one" title="Source" rel-entity-name="Issue">
+            <key-map field-name="source" rel-field-name="id"/>
+        </relation>
+
+        <relation type="one" title="Destination" rel-entity-name="Issue">
+            <key-map field-name="destination" rel-field-name="id"/>
+        </relation>
+
+        <index name="issuelink_src">
+            <index-field name="source"/>
+        </index>
+
+        <index name="issuelink_dest">
+            <index-field name="destination"/>
+        </index>
+
+        <index name="issuelink_type">
+            <index-field name="linktype"/>
+        </index>
+    </entity>
+
+    <entity entity-name="TrackbackPing" table-name="trackback_ping" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="issue" type="numeric"/>
+        <field name="url" type="long-varchar"/>
+        <field name="title" type="long-varchar"/>
+        <field name="blogname" type="long-varchar"/>
+        <field name="excerpt" type="long-varchar"/>
+        <field name="created" type="date-time"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Issue">
+            <key-map field-name="issue" rel-field-name="id"/>
+        </relation>
+
+    </entity>
+
+
+    <!-- an entity to represent custom priorities -->
+    <entity entity-name="Priority" table-name="priority" package-name="">
+        <!--
+            The ID of this priority, usually just an integer.
+            It is a varchar field for a) backwards compatibility and b) data import from other systems.
+            This means the PK must be created manually.
+        -->
+        <field name="id" type="short-varchar"/>
+
+        <!-- the sequence of this priority. 1 is high, > 1 is low.-->
+        <field name="sequence" type="numeric"/>
+
+        <!-- the name of this priority -->
+        <field name="name" col-name="pname" type="short-varchar"/>
+
+        <!-- a description of this priority -->
+        <field name="description" type="very-long"/>
+
+        <!-- relative URL of an icon for this priority - must be 16x16 -->
+        <field name="iconurl" type="long-varchar"/>
+
+        <!-- hex string or the color for this priority -->
+        <field name="statusColor" type="short-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="priority"/>
+        </relation>
+    </entity>
+
+    <!-- an entity to represent custom resolutions -->
+    <entity entity-name="Resolution" table-name="resolution" package-name="">
+        <!--
+            The ID of this resolution, usually just an integer.
+            It is a varchar field for a) backwards compatibility and b) data import from other systems.
+            This means the PK must be created manually.
+        -->
+        <field name="id" type="short-varchar"/>
+
+        <!-- the sequence of this resolution. 1 is high, > 1 is low.-->
+        <field name="sequence" type="numeric"/>
+
+        <!-- the name of this resolution -->
+        <field name="name" col-name="pname" type="short-varchar"/>
+
+        <!-- a description of this resolution -->
+        <field name="description" type="very-long"/>
+
+        <!-- relative URL of an icon for this resolution - must be 16x16 - not used at the moment -->
+        <field name="iconurl" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="resolution"/>
+        </relation>
+    </entity>
+
+    <!-- an entity to represent custom issue types -->
+    <entity entity-name="IssueType" table-name="issuetype" package-name="">
+        <!--
+            The ID of this type, usually just an integer.
+            It is a varchar field for a) backwards compatibility and b) data import from other systems.
+            This means the PK must be created manually.
+        -->
+        <field name="id" type="short-varchar"/>
+
+        <!-- the sequence of this type. 1 is high, > 1 is low.-->
+        <field name="sequence" type="numeric"/>
+
+        <!-- the name of this issue type -->
+        <field name="name" col-name="pname" type="short-varchar"/>
+
+        <!-- the 'type' of this issue type -->
+        <field name="style" col-name="pstyle" type="short-varchar"/>
+
+        <!-- a description of this issue type -->
+        <field name="description" type="very-long"/>
+
+        <!-- relative URL of an icon for this issue type - must be 16x16 -->
+        <field name="iconurl" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="type"/>
+        </relation>
+
+        <relation type="many" title="Related" rel-entity-name="FieldConfigSchemeIssueType">
+            <key-map field-name="id" rel-field-name="issuetype"/>
+        </relation>
+    </entity>
+
+    <!-- an entity to represent issue status -->
+    <entity entity-name="Status" table-name="issuestatus" package-name="">
+        <!--
+            The ID of this resolution, usually just an integer.
+            It is a varchar field for a) backwards compatibility and b) data import from other systems.
+            This means the PK must be created manually.
+        -->
+        <field name="id" type="short-varchar"/>
+
+        <!-- the sequence of this status. 1 is high, > 1 is low.-->
+        <field name="sequence" type="numeric"/>
+
+        <!-- the name of this status -->
+        <field name="name" col-name="pname" type="short-varchar"/>
+
+        <!-- a description of this status -->
+        <field name="description" type="very-long"/>
+
+        <!-- relative URL of an icon for this status - must be 16x16 -->
+        <field name="iconurl" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="status"/>
+        </relation>
+    </entity>
+
+
+    <!-- =========================================================================================================== -->
+    <!--                                                                                         Custom Field Tables -->
+    <!-- =========================================================================================================== -->
+
+    <!-- an entity to represent a custom field -->
+    <entity entity-name="CustomField" table-name="customfield" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="customfieldtypekey" type="long-varchar" />
+        <field name="customfieldsearcherkey" type="long-varchar" />
+
+        <field name="name" col-name="cfname" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <!-- @deprecated as of 3.0 -->
+        <field name="default" col-name="defaultvalue" type="long-varchar"/>
+        <field name="fieldtype" type="numeric"/>
+        <!-- @deprecated as of 3.1 -->
+        <field name="project" type="numeric"/>
+        <field name="issuetype" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="IssueType">
+            <key-map field-name="issuetype" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="Project">
+            <key-map field-name="project" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="CustomFieldValue">
+            <key-map field-name="id" rel-field-name="customfield"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="CustomFieldOption">
+            <key-map field-name="id" rel-field-name="customfield"/>
+        </relation>
+    </entity>
+
+    <!-- an entity to represent custom field values-->
+    <entity entity-name="CustomFieldValue" table-name="customfieldvalue" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="issue" type="numeric"/>
+        <field name="customfield" type="numeric"/>
+        <!-- will store the "parentKey" of the value. Used for cascading dropdowns -->
+        <field name="parentkey" type="long-varchar"/>
+
+        <field name="stringvalue" type="long-varchar"/>
+        <field name="numbervalue" type="floating-point"/>
+        <field name="textvalue" type="extremely-long"/>
+        <field name="datevalue" type="date-time"/>
+
+        <!-- @deprecated as of 3.0 -->
+        <field name="valuetype" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Issue">
+            <key-map field-name="issue" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="CustomField">
+            <key-map field-name="customfield" rel-field-name="id"/>
+        </relation>
+
+        <index name="cfvalue_issue">
+            <index-field name="issue"/>
+            <index-field name="customfield"/>
+        </index>
+    </entity>
+
+    <!-- an entity to represent custom field options -->
+    <entity entity-name="CustomFieldOption" table-name="customfieldoption" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="customfield" type="numeric"/>
+        <field name="customfieldconfig" type="numeric"/>
+        <field name="parentoptionid" type="numeric"/>
+        <field name="sequence" type="numeric"/>
+
+        <field name="value" col-name="customvalue" type="long-varchar"/>
+
+        <!-- @deprecated as of 3.1 -->
+        <field name="type" col-name="optiontype" type="short-varchar" />
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="CustomField">
+            <key-map field-name="customfield" rel-field-name="id"/>
+        </relation>
+
+        <index name="cf_cfoption">
+            <index-field name="customfield"/>
+        </index>
+    </entity>
+
+    <!-- Context that stores custom field schemes per context. Note the key is in format customfield_XXXX @since JIRA 3.2-->
+    <entity entity-name="ConfigurationContext" table-name="configurationcontext" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="projectcategory" type="numeric"/>
+        <field name="project" type="numeric"/> 
+        <field name="key" col-name="customfield" type="long-varchar"/>
+        <field name="fieldconfigscheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <index name="confcontext">
+            <index-field name="projectcategory" />
+            <index-field name="project" />
+            <index-field name="key" />
+        </index>
+    </entity>
+
+    <!-- Configuration scheme for custom fields @since JIRA 3.2-->
+    <entity entity-name="FieldConfigScheme" table-name="fieldconfigscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="configname" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <field name="customfield" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="CustomField">
+            <key-map field-name="customfield" rel-field-name="id"/>
+        </relation>
+
+        <relation type="many" title="Related" rel-entity-name="FieldConfigSchemeIssueType">
+            <key-map field-name="id" rel-field-name="fieldconfigscheme"/>
+        </relation>
+
+        <index name="fcs_customfield">
+            <index-field name="customfield" />
+        </index>
+    </entity>
+
+    <!-- Many to many link entity with between schems and config @since JIRA 3.2-->
+    <entity entity-name="FieldConfigSchemeIssueType" table-name="fieldconfigschemeissuetype" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issuetype" type="long-varchar"/>
+        <field name="fieldconfigscheme" type="numeric"/>
+        <field name="fieldconfiguration" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldConfigScheme">
+            <key-map field-name="fieldconfigscheme" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="FieldConfiguration">
+            <key-map field-name="fieldconfiguration" rel-field-name="id"/>
+        </relation>
+
+        <index name="fcs_issuetype">
+            <index-field name="issuetype" />
+        </index>
+
+        <index name="fcs_scheme">
+            <index-field name="fieldconfigscheme" />
+        </index>
+    </entity>
+
+    <!-- Configuration for custom fields @since JIRA 3.2-->
+    <entity entity-name="FieldConfiguration" table-name="fieldconfiguration" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="configname" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <field name="customfield" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="CustomField">
+            <key-map field-name="customfield" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+
+    <!-- Stores arbitary objects as XML @since JIRA 3.2-->
+    <entity entity-name="GenericConfiguration" table-name="genericconfiguration" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="datatype" type="short-varchar"/>
+        <field name="datakey" type="short-varchar"/>
+
+        <field name="xmlvalue" type="very-long"/>
+
+        <prim-key field="id"/>
+        <index name="type_key" unique="true">
+            <index-field name="datatype" />
+            <index-field name="datakey" />
+        </index>
+
+    </entity>
+
+    <!-- entity to represent a 'batch' of changes to an issue -->
+    <entity entity-name="ChangeGroup" table-name="changegroup" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issue" col-name="issueid" type="numeric"/>
+        <field name="author" type="long-varchar"/>
+        <field name="created" type="date-time"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="Issue">
+            <key-map field-name="issue" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="ChangeItem">
+            <key-map field-name="id" rel-field-name="group"/>
+        </relation>
+
+        <index name="chggroup_issue">
+            <index-field name="issue"/>
+        </index>
+    </entity>
+
+    <!-- entity to represent a single change to an issue. Always part of a change group -->
+    <entity entity-name="ChangeItem" table-name="changeitem" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="group" col-name="groupid" type="numeric"/>
+
+        <!-- whether this is a built in field ('jira') or a custom field ('custom') - basically used to avoid naming scope problems -->
+        <!-- also used for keeping record of the bug_id of a bug from Bugzilla Import-->
+        <!-- and for keeing record of ids in issue move-->
+        <field name="fieldtype" type="long-varchar"/>
+        <field name="field" type="long-varchar"/>
+
+        <field name="oldvalue" type="extremely-long"/>
+        <!-- a string representation of the new value (ie "Documentation" instead of "4" for a component which might be deleted) -->
+        <field name="oldstring" type="extremely-long"/>
+
+        <field name="newvalue" type="extremely-long"/>
+        <!-- a string representation of the new value -->
+        <field name="newstring" type="extremely-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="ChangeGroup">
+            <key-map field-name="group" rel-field-name="id"/>
+        </relation>
+
+        <index name="chgitem_chggrp">
+            <index-field name="group"/>
+        </index>
+    </entity>
+
+    <!-- Generic Associative Entity - awesome for M-M mappings between entities -->
+    <entity entity-name="NodeAssociation" table-name="nodeassociation" package-name="">
+        <field name="sourceNodeId" type="numeric"/>
+        <field name="sourceNodeEntity" type="short-varchar"/>
+        <field name="sinkNodeId" type="numeric"/>
+        <field name="sinkNodeEntity" type="short-varchar"/>
+        <field name="associationType" type="short-varchar"/>
+        <field name="sequence" type="integer"/>
+        <prim-key field="sourceNodeId"/>
+        <prim-key field="sourceNodeEntity"/>
+        <prim-key field="sinkNodeId"/>
+        <prim-key field="sinkNodeEntity"/>
+        <prim-key field="associationType"/>
+
+        <index name="node_source">
+            <index-field name="sourceNodeId"/>
+            <index-field name="sourceNodeEntity"/>
+        </index>
+        <index name="node_sink">
+            <index-field name="sinkNodeId"/>
+            <index-field name="sinkNodeEntity"/>
+        </index>
+    </entity>
+
+    <!-- Associative Entity between users entities -->
+    <entity entity-name="UserAssociation" table-name="userassociation" package-name="">
+        <field name="sourceName" type="short-varchar"/>
+        <field name="sinkNodeId" type="numeric"/>
+        <field name="sinkNodeEntity" type="short-varchar"/>
+        <field name="associationType" type="short-varchar"/>
+        <field name="sequence" type="integer"/>
+        <prim-key field="sourceName"/>
+        <prim-key field="sinkNodeId"/>
+        <prim-key field="sinkNodeEntity"/>
+        <prim-key field="associationType"/>
+
+        <index name="user_source">
+            <index-field name="sourceName"/>
+        </index>
+        <index name="user_sink">
+            <index-field name="sinkNodeId"/>
+            <index-field name="sinkNodeEntity"/>
+        </index>
+    </entity>
+
+    <entity entity-name="MailServer" table-name="mailserver" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="from" col-name="mailfrom" type="long-varchar"/>
+        <field name="prefix" type="short-varchar"/>
+        <field name="smtpPort" col-name="smtp_port" type="short-varchar"/>
+        <!-- Change 'type' for FrontBase - see end of file -->
+        <field name="type" type="short-varchar"/>
+        <field name="servername" type="long-varchar"/>
+        <field name="jndilocation" type="long-varchar"/>
+        <field name="username" col-name="mailusername" type="long-varchar"/>
+        <field name="password" col-name="mailpassword" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="NotificationScheme" table-name="notificationscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="Notification">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="NotificationInstance" table-name="notificationinstance" package-name="">
+        <field name="id" type="numeric"/>
+        <!-- Notification type - see IssueEventType -->
+        <field name="type" col-name="notificationtype" type="short-varchar"/>
+        <!-- Id of the entity which this mail is about.  Referred-to table deducable from 'type' -->
+        <field name="source" type="numeric"/>
+        <!-- Email address of sent email -->
+        <field name="email" col-name="emailaddress" type="long-varchar"/>
+        <field name="messageid" type="long-varchar"/>
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="Notification" table-name="notification" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="scheme" type="numeric"/>
+        <field name="event" type="short-varchar"/>
+        <!-- Change 'type' for FrontBase - see end of file -->
+        <field name="type" type="short-varchar"/>
+        <field name="parameter" type="short-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="NotificationScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="ntfctn_scheme">
+            <index-field name="scheme"/>
+        </index>
+    </entity>
+
+    <entity entity-name="PermissionScheme" table-name="permissionscheme" package-name="">
+        <!--Default Permission Scheme for this table will have an id of 0 -->
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="SchemePermissions">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="SchemePermissions" table-name="schemepermissions" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="scheme" type="numeric"/>
+        <field name="permission" type="numeric"/>
+        <!-- Change 'type' for FrontBase - see end of file -->
+        <field name="type" type="long-varchar"/>
+        <field name="parameter" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="PermissionScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="prmssn_scheme">
+            <index-field name="scheme"/>
+        </index>
+    </entity>
+
+    <entity entity-name="IssueSecurityScheme" table-name="issuesecurityscheme" package-name="">
+        <!--Default Issue Security Scheme for this table will have an id of 0 -->
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="defaultlevel" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="SchemeIssueSecurities">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+
+        <relation type="many" title="Child" rel-entity-name="SchemeIssueSecurityLevels">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+
+        <relation type="one" title="Parent" rel-entity-name="SchemeIssueSecurityLevels">
+            <key-map field-name="defaultlevel" rel-field-name="id"/>
+        </relation>
+
+    </entity>
+
+    <entity entity-name="SchemeIssueSecurities" table-name="schemeissuesecurities" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="scheme" type="numeric"/>
+        <field name="security" type="numeric"/>
+        <!-- Change 'type' for FrontBase - see end of file -->
+        <field name="type" type="long-varchar"/>
+        <field name="parameter" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="IssueSecurityScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="SchemeIssueSecurityLevels">
+            <key-map field-name="security" rel-field-name="id"/>
+        </relation>
+
+        <index name="sec_scheme">
+            <index-field name="scheme"/>
+        </index>
+
+        <index name="sec_security">
+            <index-field name="security"/>
+        </index>
+    </entity>
+
+    <entity entity-name="SchemeIssueSecurityLevels" table-name="schemeissuesecuritylevels" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+        <field name="scheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="IssueSecurityScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="SchemeIssueSecurities">
+            <key-map field-name="id" rel-field-name="security"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="Issue">
+            <key-map field-name="id" rel-field-name="security"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="IssueSecurityScheme">
+            <key-map field-name="id" rel-field-name="defaultlevel"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="FilterSubscription" table-name="filtersubscription" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="filterID" type="numeric"/>
+        <field name="username" type="short-varchar"/>
+        <field name="group" col-name="groupname" type="short-varchar"/>
+        <field name="lastRun" type="date-time"/>
+        <field name="emailOnEmpty" type="very-short"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="SearchRequest">
+            <key-map field-name="filterID" rel-field-name="id"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="OSUser">
+            <key-map field-name="username" rel-field-name="name"/>
+        </relation>
+
+        <index name="subscrpt_user">
+            <index-field name="filterID"/>
+            <index-field name="username"/>
+        </index>
+
+        <index name="subscrptn_group">
+            <index-field name="filterID"/>
+            <index-field name="group"/>
+        </index>
+    </entity>
+
+    <!-- QUARTZ -->
+    <entity entity-name="QRTZJobDetails" table-name="qrtz_job_details" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="jobName" type="long-varchar"/>
+        <field name="jobGroup" type="long-varchar"/>
+        <field name="className" type="long-varchar"/>
+        <field name="isDurable" type="short-varchar"/>
+        <field name="isStateful" type="short-varchar"/>
+        <field name="requestsRecovery" type="short-varchar"/>
+        <field name="jobData" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="QRTZTriggers">
+            <key-map field-name="id" rel-field-name="job"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="QRTZJobListeners">
+            <key-map field-name="id" rel-field-name="job"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZJobListeners" table-name="qrtz_job_listeners" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="job" type="numeric"/>
+        <field name="jobListener" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZJobDetails">
+            <key-map field-name="job" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZTriggers" table-name="qrtz_triggers" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="triggerName" type="long-varchar"/>
+        <field name="triggerGroup" type="long-varchar"/>
+        <field name="job" type="numeric"/>
+        <field name="nextFire" type="date-time"/>
+        <field name="triggerState" type="long-varchar"/>
+        <field name="triggerType" type="short-varchar"/>
+        <field name="startTime" type="date-time"/>
+        <field name="endTime" type="date-time"/>
+        <field name="calendarName" type="long-varchar"/>
+        <field name="misfireInstr" type="integer"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZJobDetails">
+            <key-map field-name="job" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZSimpleTriggers" table-name="qrtz_simple_triggers" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="trigger" col-name="trigger_id" type="numeric"/>
+        <field name="repeatCount" type="integer"/>
+        <field name="repeatInterval" type="numeric"/>
+        <field name="timesTriggered" type="integer"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZTriggers">
+            <key-map field-name="trigger" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZCronTriggers" table-name="qrtz_cron_triggers" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="trigger" col-name="trigger_id" type="numeric"/>
+        <field name="cronExperssion" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZTriggers">
+            <key-map field-name="trigger" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZTriggerListeners" table-name="qrtz_trigger_listeners" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="trigger" col-name="trigger_id" type="numeric"/>
+        <field name="triggerListener" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZTriggers">
+            <key-map field-name="trigger" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZFiredTriggers" table-name="qrtz_fired_triggers" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="entryId" type="long-varchar"/>
+        <field name="trigger" col-name="trigger_id" type="numeric"/>
+        <field name="triggerListener" type="long-varchar"/>
+        <field name="firedTime" type="date-time"/>
+        <field name="triggerState" type="long-varchar"/>
+
+        <prim-key field="entryId"/>
+
+        <relation type="one" title="Parent" rel-entity-name="QRTZTriggers">
+            <key-map field-name="trigger" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="QRTZCalendars" table-name="qrtz_calendars" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="calendarName" type="long-varchar"/>
+        <field name="calendar" type="very-long"/>
+
+        <prim-key field="calendarName"/>
+    </entity>
+
+    <entity entity-name="PortalPage" table-name="portalpage" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="username" type="long-varchar"/>
+        <field name="pagename" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+        <field name="sequence" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="PortletConfiguration">
+            <key-map field-name="id" rel-field-name="portalpage"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="PortletConfiguration" table-name="portletconfiguration" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="portalpage" type="numeric"/>
+        <field name="portletId" type="long-varchar"/>
+        <field name="columnNumber" type="integer"/>
+        <!-- For HSQL 1.7.2+ instead use: <field name="position" col-name="positionsequence" type="integer"/> -->
+        <field name="position" col-name="positionsequence" type="integer"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="PortalPage">
+            <key-map field-name="portalpage" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="UpgradeHistory" table-name="upgradehistory" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="upgradeclass" type="long-varchar"/>
+
+        <prim-key field="upgradeclass"/>
+    </entity>
+
+    <entity entity-name="FieldLayoutScheme" table-name="fieldlayoutscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="FieldLayout">
+            <key-map field-name="id" rel-field-name="layoutscheme"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="FieldLayoutSchemeAssociation">
+            <key-map field-name="id" rel-field-name="fieldlayoutscheme"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="FieldLayoutSchemeEntity" table-name="fieldlayoutschemeentity" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="scheme" type="numeric"/>
+        <field name="issuetype" col-name="issuetype" type="long-varchar"/>
+        <field name="fieldlayout" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldLayoutScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="fieldlayout_scheme">
+            <index-field name="scheme"/>
+        </index>
+
+        <index name="fieldlayout_layout">
+            <index-field name="fieldlayout"/>
+        </index>
+    </entity>
+
+    <!-- deprecated. FieldLayoutSchemeEntity table is used to map field layouts to issue types  -->
+    <entity entity-name="FieldLayoutSchemeAssociation" table-name="fieldlayoutschemeassociation" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issuetype" type="long-varchar"/>
+        <field name="project" type="numeric"/>
+        <field name="fieldlayoutscheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldLayoutScheme">
+            <key-map field-name="fieldlayoutscheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="fl_scheme_assoc">
+            <index-field name="project"/>
+            <index-field name="issuetype"/>
+        </index>
+    </entity>
+
+    <entity entity-name="FieldLayout" table-name="fieldlayout" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+        
+        <!-- used to record whether the FieldLayout is e.g. system default -->
+        <field name="type" type="long-varchar"/>
+
+        <!-- deprecated -->
+        <field name="layoutscheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldLayoutScheme">
+            <key-map field-name="layoutscheme" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="FieldLayoutItem">
+            <key-map field-name="id" rel-field-name="fieldlayout"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="FieldLayoutItem" table-name="fieldlayoutitem" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="fieldlayout" type="numeric"/>
+        <field name="fieldidentifier" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <!-- deprecated -->
+        <field name="verticalposition" type="numeric"/>
+
+        <field name="ishidden" type="short-varchar"/>
+        <field name="isrequired" type="short-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldLayout">
+            <key-map field-name="fieldlayout" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <!-- User field configuration for the columns they want to show on the Issue Navigator -->
+    <entity entity-name="ColumnLayout" table-name="columnlayout" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="username" type="long-varchar"/>
+        <field name="searchrequest" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="OSUser">
+            <key-map field-name="username" rel-field-name="name"/>
+        </relation>
+        <relation type="one" title="Parent" rel-entity-name="SearchRequest">
+            <key-map field-name="searchrequest" rel-field-name="id"/>
+        </relation>
+        <relation type="many" title="Child" rel-entity-name="ColumnLayoutItem">
+            <key-map field-name="id" rel-field-name="columnlayout"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="ColumnLayoutItem" table-name="columnlayoutitem" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="columnlayout" type="numeric"/>
+        <field name="fieldidentifier" type="long-varchar"/>
+        <field name="horizontalposition" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="ColumnLayout">
+            <key-map field-name="columnlayout" rel-field-name="id"/>
+        </relation>
+    </entity>
+
+    <!-- Field Screen tables -->
+    <entity entity-name="FieldScreen" table-name="fieldscreen" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+
+    <entity entity-name="FieldScreenTab" table-name="fieldscreentab" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+        <field name="sequence" type="numeric"/>
+        <field name="fieldscreen" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldScreen">
+            <key-map field-name="fieldscreen" rel-field-name="id"/>
+        </relation>
+
+        <index name="fieldscreen_tab">
+            <index-field name="fieldscreen"/>
+        </index>
+    </entity>
+
+    <entity entity-name="FieldScreenLayoutItem" table-name="fieldscreenlayoutitem" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="fieldidentifier" type="long-varchar"/>
+        <field name="sequence" type="numeric"/>
+        <field name="fieldscreentab" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldScreenTab">
+            <key-map field-name="fieldscreentab" rel-field-name="id"/>
+        </relation>
+
+        <index name="fieldscitem_tab">
+            <index-field name="fieldscreentab"/>
+        </index>
+
+        <index name="fieldscreen_field">
+            <index-field name="fieldidentifier"/>
+        </index>
+    </entity>
+
+    <!-- Issue Type Screen Scheme tables -->
+    <entity entity-name="IssueTypeScreenScheme" table-name="issuetypescreenscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="IssueTypeScreenSchemeEntity" table-name="issuetypescreenschemeentity" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="issuetype" type="long-varchar"/>
+        <field name="scheme" type="numeric"/>
+        <field name="fieldscreenscheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="IssueTypeScreenScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <relation type="one" title="Child" rel-entity-name="FieldScreenScheme">
+            <key-map field-name="fieldscreenscheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="fieldscreen_scheme">
+            <index-field name="fieldscreenscheme"/>
+        </index>
+    </entity>
+
+    <!-- Field Screen Scheme tables -->
+    <entity entity-name="FieldScreenScheme" table-name="fieldscreenscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="FieldScreenSchemeItem" table-name="fieldscreenschemeitem" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="operation" type="numeric"/>
+        <field name="fieldscreen" type="numeric"/>
+        <field name="fieldscreenscheme" type="numeric"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="FieldScreenScheme">
+            <key-map field-name="fieldscreenscheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="screenitem_scheme">
+            <index-field name="fieldscreenscheme"/>
+        </index>
+    </entity>
+
+    <!-- This table is deprecated. Use jiraschemeperms   -->
+    <entity entity-name="Permission" table-name="jiraperms" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="type" col-name="permtype" type="numeric"/>
+        <field name="project" col-name="projectid" type="numeric"/>
+        <field name="group" col-name="groupname" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="VersionControl" table-name="versioncontrol" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="vcsname" type="long-varchar"/>
+        <field name="description" col-name="vcsdescription" type="long-varchar"/>
+        <field name="type" col-name="vcstype" type="long-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="Workflow" table-name="jiraworkflows" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" col-name="workflowname" type="long-varchar"/>
+        <field name="creator" col-name="creatorname" type="long-varchar"/>
+        <field name="descriptor" type="extremely-long"/>
+        <field name="islocked" type="short-varchar"/>
+
+        <prim-key field="id"/>
+    </entity>
+
+    <entity entity-name="WorkflowScheme" table-name="workflowscheme" package-name="">
+        <!--Default Workflow Scheme for this table will have an id of 0 -->
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="WorkflowSchemeEntity">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="WorkflowSchemeEntity" table-name="workflowschemeentity" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="scheme" type="numeric"/>
+        <field name="workflow" type="long-varchar"/>
+        <field name="issuetype" col-name="issuetype" type="long-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="WorkflowScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="workflow_scheme">
+            <index-field name="scheme"/>
+        </index>
+    </entity>
+
+    <!-- Views -->
+    <view-entity entity-name="IssueCount" package-name="">
+      <member-entity entity-alias="I" entity-name="Issue" />
+      <alias entity-alias="I" field="id" function="count" name="count" />
+    </view-entity>
+
+    <view-entity entity-name="ProjectCount" package-name="">
+      <member-entity entity-alias="P" entity-name="Project" />
+      <alias entity-alias="P" field="id" function="count" name="count" />
+    </view-entity>
+
+    <view-entity entity-name="CustomFieldCount" package-name="">
+      <member-entity entity-alias="CF" entity-name="CustomField" />
+      <alias entity-alias="CF" field="id" function="count" name="count" />
+    </view-entity>
+
+    <view-entity entity-name="WorkflowCount" package-name="">
+      <member-entity entity-alias="WF" entity-name="Workflow" />
+      <alias entity-alias="WF" field="id" function="count" name="count" />
+    </view-entity>
+
+    <view-entity entity-name="OSUserCount" package-name="">
+      <member-entity entity-alias="U" entity-name="OSUser" />
+      <alias entity-alias="U" field="id" function="count" name="count" />
+    </view-entity>
+
+    <view-entity entity-name="OSGroupCount" package-name="">
+      <member-entity entity-alias="G" entity-name="OSGroup" />
+      <alias entity-alias="G" field="id" function="count" name="count" />
+    </view-entity>
+
+    <!-- Voting -->
+    <entity entity-name="VotingScheme" table-name="votingscheme" package-name="">
+        <field name="id" type="numeric"/>
+
+        <field name="name" type="long-varchar"/>
+        <field name="description" type="very-long"/>
+
+        <prim-key field="id"/>
+
+        <relation type="many" title="Child" rel-entity-name="VotesAssigment">
+            <key-map field-name="id" rel-field-name="scheme"/>
+        </relation>
+    </entity>
+
+    <entity entity-name="VotesAssigment" table-name="votesassigment" package-name="">
+        <field name="id" type="numeric"/>
+        <field name="scheme" type="numeric"/>
+        <field name="votes" type="short-varchar"/>
+        <!-- Change 'type' for FrontBase - see end of file -->
+        <field name="type" type="short-varchar"/>
+        <field name="parameter" type="short-varchar"/>
+
+        <prim-key field="id"/>
+
+        <relation type="one" title="Parent" rel-entity-name="VotingScheme">
+            <key-map field-name="scheme" rel-field-name="id"/>
+        </relation>
+
+        <index name="voting_scheme">
+            <index-field name="scheme"/>
+        </index>
+    </entity>
+
+</entitymodel>
+
+<!--
+Frontbase notes:
+
+To run JIRA with Frontbase, you will need to change:
+
+<field name="type" type="short-varchar"/> to <field name="type" col-name="TYPE_" type="short-varchar"/>
+<field name="type" type="long-varchar"/> to <field name="type" col-name="TYPE_" type="long-varchar"/>
+<field name="position" type="integer"/> to <field name="position" col-name="POSITION_" type="integer"/>
+
+See http://jira.atlassian.com/browse/JRA-4202
+-->

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/votes-assigment-types.xml
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/votes-assigment-types.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/WEB-INF/classes/votes-assigment-types.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,11 @@
+<types>
+	<type id="Project_Lead">
+		<class>com.atlassian.jira.voting.type.ProjectLead</class>
+	</type>
+	<type id="Single_User">
+		<class>com.atlassian.jira.voting.type.SingleUser</class>
+	</type>
+	<type id="Group_Dropdown">
+		<class>com.atlassian.jira.voting.type.GroupDropdown</class>
+	</type>
+</types>
\ No newline at end of file

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/decorators/admin.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/decorators/admin.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/decorators/admin.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,276 @@
+<%@ page import="com.atlassian.jira.config.properties.APKeys,
+                 com.atlassian.jira.ManagerFactory,
+                 com.atlassian.license.License,
+                 webwork.action.CoreActionContext,
+                 com.atlassian.core.bean.MathBean,
+                 com.atlassian.jira.web.util.MenuBean,
+                 com.atlassian.jira.ComponentManager,
+                 com.atlassian.jira.plugin.JiraPluginManager,
+                 com.atlassian.jira.util.EasyList,
+                 com.atlassian.jira.web.action.util.JiraLicenseUtils,
+                 com.atlassian.license.LicenseManager"%>
+<%@ include file="/includes/decorators/header.jsp" %>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+<% License license = LicenseManager.getInstance().getLicense(JiraLicenseUtils.JIRA_LICENSE_KEY); %>
+<script language="JavaScript" src="<%= request.getContextPath() %>/includes/js/adminMenu.js"></script>
+<script language="JavaScript" type="text/javascript">
+<!--
+var allMenus = new Array(9);
+allMenus[0] = 'admin.project';
+allMenus[1] = 'admin.usersgroups';
+allMenus[2] = 'admin.globalsettings';
+allMenus[3] = 'admin.schemes';
+allMenus[4] = 'admin.issuefields';
+allMenus[5] = 'admin.issuesettings';
+allMenus[6] = 'admin.exportimport';
+allMenus[7] = 'admin.options';
+allMenus[8] = 'admin.system';
+
+function hideAll()
+{
+    for (i=0 ; i < allMenus.length ; i++)
+    {
+        closeMenu(allMenus[i]);
+    }
+
+    areAllMenusOpen = false;
+    restoreShowHideAllMenu();
+}
+
+function showAll()
+{
+    for (i=0 ; i < allMenus.length ; i++)
+    {
+        openMenu(allMenus[i]);
+    }
+
+    areAllMenusOpen = true;
+    restoreShowHideAllMenu();
+}
+//-->
+</script>
+<table border=0 cellpadding=0 cellspacing=0 width=100% bgcolor=ffffff>
+<tr>
+<td width=170 valign=top bgcolor=f0f0f0>
+<webwork:action name="'com.atlassian.jira.web.action.project.ViewProjects'">
+
+<div id="adminMenu">
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Project</page:param>
+    <page:param name="menuName">project</page:param>
+
+    <li><a id="view_projects" href="<%= request.getContextPath() %>/secure/project/ViewProjects.jspa">Projects</a></li>
+    <% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %><webwork:if test="admin == true">
+    <li><a href="<%= request.getContextPath() %>/secure/admin/projectcategories/ViewProjectCategories!default.jspa">Project Categories</a></li>
+    </webwork:if><% } %>
+
+</page:applyDecorator>
+<webwork:if test="admin == true">
+
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Users & Groups</page:param>
+    <page:param name="menuName">usersgroups</page:param>
+
+    <li><a id="user_browser" href="<%= request.getContextPath() %>/secure/admin/user/UserBrowser.jspa">User Browser</a></li>
+	<li><a id="group_browser" href="<%= request.getContextPath() %>/secure/admin/user/GroupBrowser.jspa">Group Browser</a></li>
+
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Global Settings</page:param>
+    <page:param name="menuName">globalsettings</page:param>
+
+	<li><a id="attachments" href="<%= request.getContextPath() %>/secure/admin/jira/ViewAttachmentSettings.jspa">Attachments</a></li>
+    <li><a id="mail_servers" href="<%= request.getContextPath() %>/secure/admin/ViewRepositories.jspa">CVS Modules</a></li>
+    <li><a id="edit_default_dashboard" href="<%= request.getContextPath() %>/secure/admin/jira/EditDefaultDashboard!default.jspa">Default Dashboard</a></li>
+	<li><a id="general_configuration" href="<%= request.getContextPath() %>/secure/admin/jira/ViewApplicationProperties.jspa">General Configuration</a></li>
+	<li><a id="global_permissions" href="<%= request.getContextPath() %>/secure/admin/jira/GlobalPermissions.jspa">Global Permissions</a></li>
+    <li><a id="linking" href="<%= request.getContextPath() %>/secure/admin/jira/ViewLinkTypes.jspa">Issue Linking</a></li>
+    <li><a id="lookandfeel" href="<%= request.getContextPath() %>/secure/admin/jira/ViewLookAndFeel.jspa">Look and Feel</a></li>
+    <li><a id="mail_servers" href="<%= request.getContextPath() %>/secure/admin/ViewMailServers.jspa">Mail Servers</a></li>
+    
+    <% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_PROFESIONAL_LEVEL, JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="subtasks" href="<%= request.getContextPath() %>/secure/admin/subtasks/ManageSubTasks.jspa">Sub-Tasks</a></li>
+    <% } %>
+    
+    <li><a id="timetracking" href="<%= request.getContextPath() %>/secure/admin/jira/TimeTrackingAdmin!default.jspa">Time Tracking</a></li>
+    <li><a id="trackbacks" href="<%= request.getContextPath() %>/secure/admin/jira/TrackbackAdmin.jspa">Trackbacks</a></li>
+
+    <% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_PROFESIONAL_LEVEL, JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="workflows" href="<%= request.getContextPath() %>/secure/admin/workflows/ListWorkflows.jspa">Workflows</a></li>
+    <% } %>
+</page:applyDecorator>
+
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Schemes</page:param>
+    <page:param name="menuName">schemes</page:param>
+
+    <% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="security_schemes" href="<%= request.getContextPath() %>/secure/admin/ViewIssueSecuritySchemes.jspa">Issue Security Schemes</a></li>
+    <% } %>
+   
+    <!-- Voting -->
+    <li>
+        <a id="voting_schemes" href="<%= request.getContextPath() %>/secure/admin/ViewVotingSchemes.jspa">
+	Voting Schemes</a>
+    </li>
+ 
+	<li><a id="notification_schemes" href="<%= request.getContextPath() %>/secure/admin/ViewNotificationSchemes.jspa">Notification Schemes</a></li>
+    <li><a id="permission_schemes" href="<%= request.getContextPath() %>/secure/admin/ViewPermissionSchemes.jspa">Permission Schemes</a></li>
+
+    <% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="workflow_schemes" href="<%= request.getContextPath() %>/secure/admin/ViewWorkflowSchemes.jspa">Workflow Schemes</a></li>
+    <% } %>
+
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Issue Fields</page:param>
+    <page:param name="menuName">issuefields</page:param>
+
+    <li><a id="view_custom_fields" href="<%= request.getContextPath() %>/secure/admin/ViewCustomFields.jspa">Custom Fields</a></li>
+
+    <% license = LicenseManager.getInstance().getLicense(JiraLicenseUtils.JIRA_LICENSE_KEY);
+        if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="field_configuration" href="<%= request.getContextPath() %>/secure/admin/ViewFieldLayouts.jspa">Field Configurations</a></li>
+        <li><a id="issue_fields" href="<%= request.getContextPath() %>/secure/admin/ViewFieldLayoutSchemes.jspa">Field Configuration Schemes</a></li>
+    <% } else { %>
+        <li><a id="field_configuration" href="<%= request.getContextPath() %>/secure/admin/ViewIssueFields.jspa">Issue Fields</a></li>
+    <% } %>
+    
+    <li><a id="issue_field_columns" href="<%= request.getContextPath() %>/secure/admin/ViewIssueColumns!default.jspa"><webwork:text name="'common.concepts.navigatorColumns'"/></a></li>
+    <li><a id="field_screens" href="<%= request.getContextPath() %>/secure/admin/ViewFieldScreens.jspa">Screens</a></li>
+
+    <% if (license != null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_STANDARD_LEVEL))) { %>
+        <li><a id="field_screen_scheme" href="<%= request.getContextPath() %>/secure/admin/ConfigureFieldScreenScheme.jspa">Screen Scheme</a></li>
+    <% } else { %>
+        <li><a id="field_screen_scheme" href="<%= request.getContextPath() %>/secure/admin/ViewFieldScreenSchemes.jspa">Screen Schemes</a></li>
+    <% } %>
+
+    <% if (license != null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+        <li><a id="issue_type_screen_scheme" href="<%= request.getContextPath() %>/secure/admin/ViewIssueTypeScreenSchemes.jspa">Issue Type Screen Schemes</a></li>
+    <% } %>
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Issue Settings</page:param>
+    <page:param name="menuName">issuesettings</page:param>
+
+	<li><a id="issue_types" href="<%= request.getContextPath() %>/secure/admin/ViewIssueTypes.jspa">Issue Types</a></li>
+	<li><a id="priorities" href="<%= request.getContextPath() %>/secure/admin/ViewPriorities.jspa">Priorities</a></li>
+	<li><a id="resolutions" href="<%= request.getContextPath() %>/secure/admin/ViewResolutions.jspa">Resolutions</a></li>
+	<li><a id="statuses" href="<%= request.getContextPath() %>/secure/admin/ViewStatuses.jspa">Statuses</a></li>
+
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Import &amp; Export</page:param>
+    <page:param name="menuName">exportimport</page:param>
+
+    <li><a id="backup_data" href="<%= request.getContextPath() %>/secure/admin/XmlBackup!default.jspa">Backup Data to XML</a></li>
+	<li><a id="restore_data" href="<%= request.getContextPath() %>/secure/admin/XmlRestore!default.jspa">Restore Data from XML</a></li>
+    <li><a id="external_import" href="<%= request.getContextPath() %>/secure/admin/views/externalimport.jsp">External System Import</a></li>
+
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">Options &amp; Settings</page:param>
+    <page:param name="menuName">options</page:param>
+
+    <li><a id="jelly_runner" href="<%= request.getContextPath() %>/secure/admin/util/JellyRunner!default.jspa">Jelly Runner</a></li>
+    <li><a id="send_email" href="<%= request.getContextPath() %>/secure/admin/jira/SendBulkMail!default.jspa">Send E-mail</a></li>
+
+</page:applyDecorator>
+
+<page:applyDecorator name="adminpanel">
+    <page:param name="title">System</page:param>
+    <page:param name="menuName">system</page:param>
+
+	<li><a id="indexing" href="<%= request.getContextPath() %>/secure/admin/jira/IndexAdmin.jspa">Indexing</a></li>
+    <li><a id="issue_caching" href="<%= request.getContextPath() %>/secure/admin/ViewCacheConfig.jspa">Issue Caching</a></li>
+	<li><a id="integrity_checker" href="<%= request.getContextPath() %>/secure/admin/jira/IntegrityChecker!default.jspa">Integrity Checker</a></li>
+
+<% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+	<li><a id="integrity_checker" href="<%= request.getContextPath() %>/secure/admin/jira/LDAPConfigurer!default.jspa">LDAP</a></li>
+<% } %>
+	
+    <li><a id="license_details" href="<%= request.getContextPath() %>/secure/admin/jira/ViewLicense.jspa">License Details</a></li>
+	<li><a id="plugins" href="<%= request.getContextPath() %>/secure/admin/jira/ViewPlugins!default.jspa">Plugins</a></li>
+	<li><a id="listeners" href="<%= request.getContextPath() %>/secure/admin/jira/ViewListeners!default.jspa">Listeners</a></li>
+	<li><a id="logging_profiling" href="<%= request.getContextPath() %>/secure/admin/jira/ViewLogging.jspa">Logging &amp; Profiling</a></li>
+	<li><a id="mail_queue" href="<%= request.getContextPath() %>/secure/admin/jira/MailQueueAdmin.jspa">Mail Queue</a></li>
+    <li><a id="scheduler_details" href="<%= request.getContextPath() %>/secure/admin/jira/SchedulerAdmin.jspa">Scheduler Details</a></li>
+    <li><a id="services" href="<%= request.getContextPath() %>/secure/admin/jira/ViewServices!default.jspa">Services</a></li>
+    <li><a id="system_info" href="<%= request.getContextPath() %>/secure/admin/jira/ViewSystemInfo.jspa">System Info</a></li>
+    <li><a id="support_request" href="<%= request.getContextPath() %>/secure/admin/jira/JiraSupportRequest!default.jspa">Support Request</a></li>
+
+</page:applyDecorator>
+
+
+<%
+    pageContext.setAttribute("menuState", new MenuBean().getMenuState("admin", request));
+%>
+    <div class="section">
+         <a class="headerOpen" title="Click to hide all menu items" id="hideAllMenu"
+            onClick="hideAll();return false;"
+            <webwork:if test="@menuState/open('all') == true"></webwork:if><webwork:else>style="display:none;"</webwork:else>
+            href="<webwork:url>
+            <webwork:param name="'admin.project'" value="'closed'" />
+            <webwork:param name="'admin.usersgroups'" value="'closed'" />
+            <webwork:param name="'admin.globalsettings'" value="'closed'" />
+            <webwork:param name="'admin.schemes'" value="'closed'" />
+            <webwork:param name="'admin.issuefields'" value="'closed'" />
+            <webwork:param name="'admin.issuesettings'" value="'closed'" />
+            <webwork:param name="'admin.exportimport'" value="'closed'" />
+            <webwork:param name="'admin.options'" value="'closed'" />
+            <webwork:param name="'admin.system'" value="'closed'" />
+            <webwork:param name="'admin.all'" value="'closed'" />
+            </webwork:url>" 
+            >
+        Hide All </a>
+        
+        <a class="headerClosed" title="Click to show all menu items"  id="showAllMenu"
+           onClick="showAll();return false;"
+           <webwork:if test="@menuState/open('all') == true">style="display:none;"</webwork:if><webwork:else></webwork:else>
+           href="<webwork:url>
+            <webwork:param name="'admin.project'" value="'open'" />
+            <webwork:param name="'admin.usersgroups'" value="'open'" />
+            <webwork:param name="'admin.globalsettings'" value="'open'" />
+            <webwork:param name="'admin.schemes'" value="'open'" />
+            <webwork:param name="'admin.issuefields'" value="'open'" />
+            <webwork:param name="'admin.issuesettings'" value="'open'" />
+            <webwork:param name="'admin.exportimport'" value="'open'" />
+            <webwork:param name="'admin.options'" value="'open'" />
+            <webwork:param name="'admin.system'" value="'open'" />
+            <webwork:param name="'admin.all'" value="'open'" />
+            </webwork:url>">
+        Show All</a>
+        
+        <script language="JavaScript" type="text/javascript">
+        <!--
+            restoreShowHideAllMenu();
+        //-->
+        </script>
+    </div>
+</div>
+
+
+</webwork:if>
+</webwork:action>
+
+</td>
+<td width=1 bgcolor=bbbbbb><img src="<%= request.getContextPath() %>/images/border/spacer.gif" height=1 width=1></td>
+<td valign=top>
+	<table cellspacing=0 cellpadding=10 border=0 width=100%><tr><td>
+
+		<decorator:body />
+
+	</td></tr></table>
+</td></tr>
+</table>
+
+<%@ include file="/includes/decorators/footer.jsp" %>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/decorators/bodytop.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/decorators/bodytop.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/decorators/bodytop.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,185 @@
+<%@ page import="com.opensymphony.util.TextUtils,
+                 com.atlassian.jira.config.properties.APKeys,
+                 com.atlassian.jira.ManagerFactory,
+                 com.atlassian.jira.security.Permissions,
+                 java.net.URLEncoder,
+                 com.atlassian.jira.web.SessionKeys,
+                 com.atlassian.jira.user.UserHistory,
+                 com.atlassian.seraph.util.GroupCache,
+                 org.ofbiz.core.entity.GenericValue,
+                 com.atlassian.seraph.auth.DefaultAuthenticator,
+                 com.opensymphony.user.User,
+                 com.atlassian.util.profiling.UtilTimerStack,
+                 com.atlassian.core.util.StringUtils,
+                 com.atlassian.core.util.WebRequestUtils,
+                 webwork.action.ActionSupport,
+                 com.atlassian.jira.web.action.JiraWebActionSupport,
+                 webwork.action.CoreActionContext,
+                 webwork.util.ValueStack,
+                 java.util.*,
+                 webwork.action.ActionContext,
+                 webwork.util.ServletValueStack"%>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+<%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
+<%@ taglib uri="jiratags" prefix="jira" %>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<decorator:usePage id="p" />
+<jira:user id="bodytopUser" />
+
+<%
+    String topBgColour = headerAP.getDefaultBackedString(APKeys.JIRA_LF_TOP_BGCOLOUR);
+    String topTxtColour = headerAP.getDefaultBackedString(APKeys.JIRA_LF_TOP_TEXTCOLOUR);
+    String menuBgColour = headerAP.getDefaultBackedString(APKeys.JIRA_LF_MENU_BGCOLOUR);
+
+    String linkColour = headerAP.getDefaultBackedString(APKeys.JIRA_LF_TEXT_LINKCOLOUR);
+    String linkAColour = headerAP.getDefaultBackedString(APKeys.JIRA_LF_TEXT_ACTIVE_LINKCOLOUR);
+
+    boolean customLogo = headerAP.getString(APKeys.JIRA_LF_LOGO_URL) != null;
+    String jiraLogo = headerAP.getDefaultBackedString(APKeys.JIRA_LF_LOGO_URL);
+    String jiraLogoWidth = headerAP.getDefaultBackedString(APKeys.JIRA_LF_LOGO_WIDTH);
+    String jiraLogoHeight = headerAP.getDefaultBackedString(APKeys.JIRA_LF_LOGO_HEIGHT);
+    String alertHeader = headerAP.getDefaultBackedString(APKeys.JIRA_ALERT_HEADER);
+
+    if (jiraLogo != null && !jiraLogo.startsWith("http://") && !jiraLogo.startsWith("https://"))
+    {
+        jiraLogo = request.getContextPath() + jiraLogo;
+    }
+
+    //retrieve from the session if this user is a project admin
+    UtilTimerStack.push("ProjectAdmin");
+    User u = (User)request.getSession().getAttribute(DefaultAuthenticator.LOGGED_IN_KEY);
+    Boolean isProjectAdmin = (Boolean)request.getSession().getAttribute(SessionKeys.USER_PROJECT_ADMIN);
+    if (isProjectAdmin == null)
+    {
+        isProjectAdmin = Boolean.FALSE; //this needs to be set, as it is used further down in this file.
+        if (u != null)
+        {
+            isProjectAdmin = ManagerFactory.getPermissionManager().hasProjects(Permissions.PROJECT_ADMIN, u) ? Boolean.TRUE : Boolean.FALSE;
+            request.getSession().setAttribute(SessionKeys.USER_PROJECT_ADMIN, isProjectAdmin);
+        }
+    }
+    UtilTimerStack.pop("ProjectAdmin");
+    boolean hasAnyProjects = ManagerFactory.getPermissionManager().hasProjects(Permissions.BROWSE, bodytopUser);
+%>
+
+<body bgcolor="#f0f0f0" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="<%= linkColour %>" vlink="<%= linkColour %>" alink="<%= linkAColour %>">
+<%-- <script type="text/javascript" src="<%= request.getContextPath() %>/includes/js/helptip.js" ></script> --%>
+<table class="header" border="0" cellpadding="0" cellspacing="0" width=100%>
+  <tr>
+    <%-- handle user defined top colour --%>
+      <td bgcolor="<%= topBgColour %>">
+	  	<table width=100% cellpadding=0 cellspacing=0 border=0><tr>
+			<td valign=top width=5% nowrap><a href="<%= request.getContextPath() %>/secure/Dashboard.jspa"><img class="logo" src="<%= jiraLogo %>" width="<%= jiraLogoWidth %>" height="<%= jiraLogoHeight %>" border=0 alt="<%= headerAP.getDefaultBackedString(APKeys.JIRA_TITLE) %>"></a></td>
+            <td valign=bottom width=65% nowrap><% if (!customLogo) { %><a href="<%= request.getContextPath() %>/secure/Dashboard.jspa"><font color="<%= topTxtColour %>" size=1><%= headerAP.getDefaultBackedString(APKeys.JIRA_TITLE) %></font></a><% } %>&nbsp;</td>
+			<td valign=bottom align=right width=30% nowrap>
+				<font color="<%= topTxtColour %>" size=1>
+				<% if (bodytopUser != null) { %>
+                    <webwork:text name="'bodytop.user'"/>: <%= bodytopUser.getFullName() %>&nbsp; &nbsp;
+                <% } %>
+
+                <%-- handle the link to the history and saved filters popups--%>
+                <%@ include file="headerpopups.jsp" %>
+			</td>
+		</tr></table>
+	  </td>
+  </tr>
+</table>
+<table class="menu" border="0" cellpadding="0" cellspacing="0" width=100%>
+
+<tr><td bgcolor=<%= menuBgColour %>>
+	<table border=0 cellspacing=0 cellpadding=0>
+	<tr>
+		<td width=5><img src="<%= request.getContextPath() %>/images/border/spacer.gif" width=5 height=20 border=0></td>
+<%-- can't use jira:userInRole here because applyDecorator flushes within tag body --%>
+			<page:applyDecorator name="navitem">
+                <page:param name="title"><webwork:text name="'alt.text.home'"/></page:param>
+				<page:param name="id">home_link</page:param>
+				<page:param name="url"><%= request.getContextPath() %>/secure/Dashboard.jspa</page:param>
+				<page:param name="selected">/secure/views/dashboard.jsp</page:param>
+				<page:param name="selected2">/secure/Dashboard</page:param>
+				<page:param name="tooltip"><webwork:text name="'tooltip.home'"/></page:param>
+				<page:param name="accesskey"><webwork:text name="'alt.text.home.accessKey'"/></page:param>
+			</page:applyDecorator>
+
+<%-- if there are any projects they can browse - show them the browse and find links --%>
+<% if (hasAnyProjects) { %>
+				<page:applyDecorator name="navitem">
+                    <page:param name="title"><webwork:text name="'alt.text.browseproject'"/></page:param>
+                    <page:param name="id">browse_link</page:param>
+					<page:param name="url"><%= request.getContextPath() %>/secure/BrowseProject.jspa</page:param>
+					<page:param name="selected">/secure/views/browser</page:param>
+					<page:param name="selected2">/secure/BrowseProject</page:param>
+					<page:param name="tooltip"><webwork:text name="'tooltip.browseproject'"/></page:param>
+				    <page:param name="accesskey"><webwork:text name="'alt.text.browseproject.accessKey'"/></page:param>
+				</page:applyDecorator>
+
+	<page:applyDecorator name="navitem">
+                    <page:param name="title">REPORTS</page:param>
+                    <page:param name="id">global_reports</page:param>
+					<page:param name="url"><%= request.getContextPath() %>/secure/views/globalreports/globalreports.jsp</page:param>
+					<page:param name="selected">/secure/views/globalreports/globalreports.jsp</page:param>
+					<page:param name="selected2">/secure/views/globalreports/globalreports.jsp</page:param>
+					<page:param name="tooltip">View available reports</page:param>
+				    <page:param name="accesskey">r</page:param>
+				</page:applyDecorator>
+
+				
+				<page:applyDecorator name="navitem">
+                    <page:param name="title"><webwork:text name="'alt.text.findissues'"/></page:param>
+                    <page:param name="id">find_link</page:param>
+					<page:param name="url"><%= request.getContextPath() %>/secure/IssueNavigator.jspa</page:param>
+					<page:param name="selected">/secure/views/navigator/navigator.jsp</page:param>
+					<page:param name="selected2">/secure/IssueNavigator</page:param>
+					<page:param name="tooltip"><webwork:text name="'tooltip.findissues'"/></page:param>
+				    <page:param name="accesskey"><webwork:text name="'alt.text.findissues.accessKey'"/></page:param>
+				</page:applyDecorator>
+<% } %>
+
+<%-- if there are any projects they can create issues in - show them the link --%>
+<% if (ManagerFactory.getPermissionManager().hasProjects(Permissions.CREATE_ISSUE, bodytopUser)) { %>
+				<page:applyDecorator name="navitem">
+                    <page:param name="title"><webwork:text name="'alt.text.createnewissue'"/></page:param>
+                    <page:param name="id">create_link</page:param>
+					<page:param name="url"><%= request.getContextPath() %>/secure/CreateIssue!default.jspa</page:param>
+					<page:param name="selected">/secure/views/createissue</page:param>
+					<page:param name="selected2">/secure/CreateIssue</page:param>
+					<page:param name="tooltip"><webwork:text name="'tooltip.createnewissue'"/></page:param>
+				    <page:param name="accesskey"><webwork:text name="'alt.text.createnewissue.accessKey'"/></page:param>
+				</page:applyDecorator>
+<% } %>
+
+<% if (ManagerFactory.getPermissionManager().hasPermission(Permissions.ADMINISTER, bodytopUser) || isProjectAdmin.booleanValue()) { %>
+                <page:applyDecorator name="navitem">
+                    <page:param name="title"><webwork:text name="'alt.text.admin'"/></page:param>
+                    <page:param name="id">admin_link</page:param>
+                    <page:param name="url"><%= request.getContextPath() %>/secure/project/ViewProjects.jspa</page:param>
+                    <page:param name="selected">/secure/admin/</page:param>
+                    <page:param name="selected2">/secure/project/</page:param>
+                    <page:param name="tooltip"><webwork:text name   ="'tooltip.admin'"/></page:param>
+				    <page:param name="accesskey"><webwork:text name="'alt.text.admin.accessKey'"/></page:param>
+                </page:applyDecorator>
+<% } %>
+
+<%-- if there are any projects they can browse - show them the quick search box --%>
+<% if (hasAnyProjects) { %>
+        <td align=right class="navItem" valign=middle bgcolor="<%= menuBgColour %>" width=100%><form name="quicksearch" action="<%= request.getContextPath() %>/secure/QuickSearch.jspa" method="post"><table cellpadding=0 cellspacing=0 border=0 align=right>
+        <tr>
+            <td class="navItem" title="<webwork:text name="'alt.text.quicksearch.title'"/>">&nbsp; &nbsp; <webwork:text name="'alt.text.quicksearch'"/>:</td>
+            <td><input title="<webwork:text name="'alt.text.quicksearch.title'"/>" type="text" size=20 name="searchString" accessKey="q" id="quickSearchInput" valign="absmiddle">&nbsp;</td>
+        </tr>
+        </table></form></td>
+        <td width=5><img src="<%= request.getContextPath() %>/images/border/spacer.gif" width=5 height=20 border=0></td>
+<% } %>
+	</tr>
+	</table>
+</td>
+</tr>
+</table>
+
+<% if (alertHeader != null && alertHeader.length() > 0) { %>
+<div class="alertHeader">
+<%= alertHeader %>
+</div>
+<% } %>
+
+

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table/header.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table/header.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/navigator/table/header.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,129 @@
+<%@ page import="com.atlassian.jira.util.EasyList"%>
+<%@ page import="com.atlassian.jira.web.action.util.JiraLicenseUtils"%>
+<%@ page import="com.atlassian.license.License"%>
+<%@ page import="com.atlassian.license.LicenseManager"%>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<page:applyDecorator name="jirapanel">
+    <page:param name="title"><webwork:property value="text('navigator.title')"/><webwork:if test="searchRequest/name"> -- <webwork:property value="searchRequest/name"/></webwork:if></page:param>
+    <page:param name="description">
+    <webwork:if test="$decorator == 'printable'">
+        <jsp:include page="/includes/navigator/search-request_description.jsp" />
+        <br/>
+    </webwork:if>
+    <%-- Test if we have any issues that were found --%>
+    <webwork:if test="/searchResults/total > 0">
+        <webwork:text name="'navigator.results.displayissues'">
+            <webwork:param name="'value0'"><b><webwork:property value="/searchResults/niceStart" /></b></webwork:param>
+            <webwork:param name="'value1'"><b><webwork:property value="/searchResults/end" /></b></webwork:param>
+            <webwork:param name="'value2'"><b><webwork:property value="/searchResults/total" /></b></webwork:param>
+        </webwork:text>&nbsp;<webwork:if test="'printable' == $decorator"><webwork:text name="'navigator.results.asat'"><webwork:param name="'value0'"><b><webwork:property value="/outlookDate/formatDMYHMS(/outlookDate/now)"/></b></webwork:param></webwork:text></webwork:if><br>
+    </webwork:if>
+    </page:param>
+    <page:param name="width">100%</page:param>
+
+    <webwork:if test="/searchResults/total == 0">
+        <webwork:text name="'navigator.results.nomatchingissues'"/>
+    </webwork:if>
+
+    <%-- Only show the views if there are issues that match the search criteria--%>
+    <webwork:if test="/searchResults/total > 0 && 'printable' != $decorator">
+        <table border="0" cellpadding="0" cellspacing="0" width="100%">
+            <tr>
+                <td valign="bottom" width=80%><b><webwork:text name="'navigator.results.currentview'"/>:</b><br>
+                    <webwork:if test="'bulk' != $view && 'rnotes' != $view">
+                        <webwork:text name="'navigator.results.currentview.browser'"/>
+                    </webwork:if>
+                    <webwork:else>
+                        <a href="<webwork:url><webwork:param name="'view'" value="''" /><webwork:param name="'tempMax'" value="'-1'" /><webwork:param name="'decorator'" value="''" /></webwork:url>"><webwork:text name="'navigator.results.currentview.browser'"/></a>
+                    </webwork:else>
+                    | <a href="<webwork:url><webwork:param name="'view'" value="''" /><webwork:param name="'mode'" value="'hide'" /><webwork:param name="'start'" value="'0'" /><webwork:param name="'tempMax'" value="'1000'" /><webwork:param name="'decorator'" value="'printable'" /></webwork:url>"><webwork:text name="'navigator.results.currentview.printable'"/></a>                  
+                    | <a href="<%= request.getContextPath() %>/secure/IssueNavigator.jspa?view=rss&<webwork:property value="SRQueryString" />&tempMax=25&reset=true&decorator=none"><webwork:text name="'navigator.results.currentview.xml'"/></a>
+		<webwork:if test="'rnotes' != $view">
+		    | <a href="<%= request.getContextPath() %>/secure/IssueNavigator.jspa?view=rnotes&tempMax=10000">
+		    		<webwork:text name="Release Notes"/></a>
+		</webwork:if>
+                <webwork:else>    
+                    | <webwork:text name="Release Notes"/>
+		</webwork:else>
+		    | <a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'full'"/><webwork:param name="'tempMax'" value="'30'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.full'"/></a>
+                    | <webwork:text name="'navigator.results.currentview.excel'"/> <span class="subText">
+                    (<a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'excel'"/><webwork:param name="'tempMax'" value="'100000'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.excel.full'"/></a>
+                    | <a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'excel-current'"/><webwork:param name="'tempMax'" value="'100000'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.excel.current'"/></a>)
+                    </span>
+                    <webwork:component name="'navigatorviews'" template="help.jsp">
+                        <webwork:param name="'align'" value="'middle'"/>
+                    </webwork:component>
+                </td>
+                <td valign="bottom" align="left" width=20% nowrap>
+                    <ul class="square">
+                    <webwork:if test="hasBulkEditPermissionForSearchRequest == true">
+                        <li>
+                        <webwork:text name="'navigator.results.currentview.bulkchange'"/>
+                        <a id="bulkedit_all" href="<webwork:url page="/secure/views/bulkedit/BulkEdit1!default.jspa"><webwork:param name="'reset'" value="'true'"/><webwork:param name="'tempMax'" value="/searchResults/total"/></webwork:url>"><webwork:text name="'navigator.results.currentview.bulkchange.allissues'"><webwork:param name="'value0'" value="/searchResults/total"/></webwork:text></a>
+                        <%-- Show the 'All' link if there is more than one pager --%>
+                        <webwork:if test="/searchResults/pages/size > 1">
+                            | <a id="bulkedit_curr_pg" href="<webwork:url page="/secure/views/bulkedit/BulkEdit1!default.jspa"><webwork:param name="'reset'" value="'true'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.bulkchange.currentpage'"/></a>
+                        </webwork:if>
+                        </li>
+                    </webwork:if>
+
+<%--                Columns related --%>
+                    <webwork:if test="/remoteUser != null && /hasPermission('use')">
+                        <li>
+                        <webwork:if test="/showOverrideColumnLayout == false">
+                            <webwork:text name="'navigator.results.configurenavigator'">
+                                <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/ViewUserIssueColumns!default.jspa"><b></webwork:param>
+                                <webwork:param name="'value1'"></b></a></webwork:param>
+                            </webwork:text>
+                        </webwork:if>
+                        <webwork:else>
+                            <webwork:text name="'navigator.results.useyourcolumns'">
+                                <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/IssueNavigator!columnOverride.jspa"><b></webwork:param>
+                                <webwork:param name="'value1'"></b></a></webwork:param>
+                            </webwork:text>
+                        </webwork:else>
+                        </li>
+                    </webwork:if>
+
+                    <webwork:if test="/hasSearchRequestColumnLayout == true && /showOverrideColumnLayout == false">
+                        <li>
+                        <webwork:text name="'navigator.results.usefilterscolumns'">
+                            <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/IssueNavigator!columnOverride.jspa"><b></webwork:param>
+                            <webwork:param name="'value1'"></b></a></webwork:param>
+                        </webwork:text>
+                        </li>
+                    </webwork:if>
+                    <% License license = LicenseManager.getInstance().getLicense(JiraLicenseUtils.JIRA_LICENSE_KEY);
+                     if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+                    <webwork:if test="/searchRequest/id && /ownerOfSearchRequest == true">
+                        <webwork:if test="/hasSearchRequestColumnLayout == true">
+                            <webwork:if test="/showOverrideColumnLayout == true">
+                                <li>
+                                    <webwork:text name="'navigator.results.filter.columns.edit'">
+                                        <webwork:param name="'value0'"><a id="editFilterColumnsLink" href="<webwork:url value="'ViewSearchRequestIssueColumns!default.jspa'"><webwork:param name="'filterId'" value="/searchRequest/id" /></webwork:url>"></webwork:param>
+                                        <webwork:param name="'value1'"></a></webwork:param>
+                                    </webwork:text>
+                                </li>
+                            </webwork:if>
+                            <webwork:else>
+
+                            </webwork:else>
+                        </webwork:if>
+                        <webwork:else>
+                            <li>
+                                 <webwork:text name="'navigator.results.filter.columns.add'">
+                                     <webwork:param name="'value0'"><a id="addFilterColumnsLink" href="<webwork:url value="'ViewSearchRequestIssueColumns!default.jspa'"><webwork:param name="'filterId'" value="/searchRequest/id" /></webwork:url>"></webwork:param>
+                                     <webwork:param name="'value1'"></a></webwork:param>
+                                 </webwork:text>
+                             </li>
+                         </webwork:else>
+                    </webwork:if>
+                    <% } %>
+                    </ul>
+                </td>
+            </tr>
+        </table>
+    </webwork:if>
+
+</page:applyDecorator>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project/schemes.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project/schemes.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/includes/panels/project/schemes.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,220 @@
+<%@ page import="com.atlassian.license.License,
+                 com.atlassian.jira.util.EasyList,
+                 com.atlassian.jira.web.action.util.JiraLicenseUtils,
+                 com.atlassian.license.LicenseManager"%>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%-- Notification Schemes --%>
+<b>Notification Scheme:</b>
+<webwork:if test="schemes != null && schemes/size > 0">
+	<webwork:iterator value="schemes" status="'liststatus'">
+		<webwork:property value="string('name')" />
+		<webwork:if test="@liststatus/last == false">, </webwork:if>
+	</webwork:iterator>
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a href="<webwork:url page="SelectProjectScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		|
+		<a href="<webwork:url page="EditNotifications!default.jspa"><webwork:param name="'schemeId'" value="schemes/(0)/long('id')"/></webwork:url>">edit notifications</a>
+		)
+	</webwork:if>
+</webwork:if>
+<webwork:else>
+	None
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a href="<webwork:url page="SelectProjectScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		)
+	</webwork:if>
+</webwork:else>
+
+<%-- Permission Scheme has been added to the project --%>
+<br>
+<b>Permission Scheme:</b>
+<webwork:if test="permissionSchemes != null && permissionSchemes/size > 0">
+	<webwork:iterator value="permissionSchemes" status="'liststatus'">
+		<webwork:property value="string('name')" />
+		<webwork:if test="@liststatus/last == false">, </webwork:if>
+	</webwork:iterator>
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a id="select_permission_scheme" href="<webwork:url page="SelectProjectPermissionScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		|
+		<a id="edit_permission_scheme" href="<webwork:url page="EditPermissions!default.jspa"><webwork:param name="'schemeId'" value="permissionSchemes/(0)/long('id')"/></webwork:url>">edit permissions</a>
+		)
+	</webwork:if>
+</webwork:if>
+<webwork:else>
+	None
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a id="select_permission_scheme" href="<webwork:url page="SelectProjectPermissionScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		)
+	</webwork:if>
+</webwork:else>
+
+<%-- Voting Schemes --%>
+<br>
+<b>Voting Scheme:</b>
+<webwork:if test="votingSchemes != null && votingSchemes/size > 0">
+	<webwork:iterator value="votingSchemes" status="'liststatus'">
+		<webwork:property value="string('name')" />
+		<webwork:if test="/last == false">, </webwork:if>
+	</webwork:iterator>
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a href="<webwork:url page="SelectProjectVotingScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		|
+		<a href="<webwork:url page="EditVotesAssigments!default.jspa"><webwork:param name="'schemeId'" value="schemes/(0)/long('id')"/></webwork:url>">edit votes assigments</a>
+		)
+	</webwork:if>
+</webwork:if>
+<webwork:else>
+	Information not available
+	<webwork:if test="/hasAdminPermission == true">
+		(
+		<a href="<webwork:url page="SelectProjectVotingScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+		)
+	</webwork:if>
+</webwork:else>
+
+
+<% License license = LicenseManager.getInstance().getLicense(JiraLicenseUtils.JIRA_LICENSE_KEY);
+	if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+	<%-- Issue Security Scheme has been added to the project --%>
+	<br>
+	<b>Issue Security Scheme:</b>
+	<webwork:property value="issueSecuritySchemes" >
+		<webwork:if test=". != null && size > 0">
+			<webwork:iterator value="." status="'liststatus'">
+				<webwork:property value="string('name')" />
+				<webwork:if test="@liststatus/last == false">, </webwork:if>
+			</webwork:iterator>
+			<webwork:if test="/hasAdminPermission == true">
+				(
+				<a id="select_security_scheme" href="<webwork:url page="SelectProjectIssueSecurityScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /><webwork:param name="'schemeId'" value="./(0)/long('id')"/></webwork:url>">select scheme</a>
+				|
+
+				<a id="edit_security_scheme" href="<webwork:url page="EditIssueSecurities!default.jspa"><webwork:param name="'schemeId'" value="./(0)/long('id')"/></webwork:url>">edit issue security levels</a>
+				)
+			</webwork:if>
+		</webwork:if>
+		<webwork:else>
+			None
+			<webwork:if test="/hasAdminPermission == true">
+				(
+				<a id="select_security_scheme" href="<webwork:url page="SelectProjectIssueSecurityScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+				)
+			</webwork:if>
+		</webwork:else>
+	</webwork:property>
+    <webwork:if test="/enterprise == true">
+        <br>
+        <b>Field Configuration Scheme:</b>
+        <webwork:if test="/fieldLayoutSchemes == null || /fieldLayoutSchemes/empty == true">
+            <a id="view_issuefields" href="ViewIssueFields.jspa">System Default Field Confguration</a>
+        </webwork:if>
+        <webwork:else>
+            <webwork:if test="/fieldLayoutScheme == null">
+                System Default Field Confguration <webwork:if test="/hasAdminPermission == true">( <a id="select_fieldlayoutscheme" href="<webwork:url page="SelectFieldLayoutScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a> )</webwork:if>
+            </webwork:if>
+            <webwork:else>
+                <webwork:property value="/fieldLayoutScheme/name" />
+                <webwork:if test="/hasAdminPermission == true">
+                ( <a id="select_fieldlayoutscheme" href="<webwork:url page="SelectFieldLayoutScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+                  | <a id="edit_fieldlayoutscheme" href="<webwork:url page="ConfigureFieldLayoutScheme.jspa"><webwork:param name="'id'" value="/fieldLayoutScheme/id" /></webwork:url>">edit field configurations</a> )
+                </webwork:if>
+            </webwork:else>
+        </webwork:else>
+        <!-- Issue Type Screen Scheme -->
+        <br>
+        <b>Issue Type Screen Scheme:</b>
+        <webwork:property value="/issueTypeScreenScheme/name" />
+        <webwork:if test="/hasAdminPermission == true">
+        ( <a id="select_issuetypescreenscheme" href="<webwork:url page="SelectIssueTypeScreenScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+          | <a id="edit_issuetypescreenscheme" href="<webwork:url page="ConfigureIssueTypeScreenScheme.jspa"><webwork:param name="'id'" value="/issueTypeScreenScheme/id" /></webwork:url>">edit scheme</a> )
+        </webwork:if>
+    </webwork:if>
+
+    <br>
+    <b>Workflow Scheme:</b>
+    <webwork:property value="/workflowScheme">
+        <webwork:if test=". != null">
+            <webwork:property value="./string('name')" />
+            <webwork:if test="/hasAdminPermission == true">
+                (
+                <a id="select_workflow_scheme" href="<webwork:url page="SelectProjectWorkflowScheme!default.jspa"><webwork:param name="'projectId'" value="../long('id')" /><webwork:param name="'schemeId'" value="./long('id')"/></webwork:url>">select scheme</a>
+                )
+            </webwork:if>
+        </webwork:if>
+        <webwork:else>
+            None
+            <webwork:if test="/hasAdminPermission == true">
+                (
+                <a id="select_workflow_scheme" href="<webwork:url page="SelectProjectWorkflowScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+                )
+            </webwork:if>
+        </webwork:else>
+    </webwork:property>
+
+<% } %>
+
+<%-- In professional edition of JIRA it is not possible to associate different scheme screens with isuse types. Screen schemes are associated directly with projects --%>
+<% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_PROFESIONAL_LEVEL))) { %>
+        <!-- Screen Scheme -->
+        <br>
+        <b>Screen Scheme:</b>
+        <webwork:property value="/fieldScreenScheme/name" />
+        ( <a id="select_screenscheme" href="<webwork:url page="SelectScreenScheme!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select scheme</a>
+          | <a id="edit_screenscheme" href="<webwork:url page="ConfigureFieldScreenScheme.jspa"><webwork:param name="'id'" value="/fieldScreenScheme/id" /></webwork:url>">edit scheme</a> )
+<% } %>
+
+
+<br>
+<% if (license !=null && license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_PROFESIONAL_LEVEL, JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL))) { %>
+    <b>CVS Modules:</b>
+<% } else { %>
+    <b>CVS Module:</b>
+<% } %>
+        <%-- see if the project has any repositories --%>
+        <webwork:if test="/repositories != null && /repositories/empty == false">
+            <webwork:iterator value="/repositories" status="'repostatus'">
+                <webwork:property value="./name"/><webwork:if test="@repostatus/last == false">, </webwork:if>
+            </webwork:iterator>
+        </webwork:if>
+        <webwork:else>
+            None
+        </webwork:else>
+        <% if (license !=null && (license.isLicenseLevel(EasyList.build(JiraLicenseUtils.JIRA_PROFESIONAL_LEVEL, JiraLicenseUtils.JIRA_ENTERPRISE_LEVEL)))) { %>
+            <webwork:if test="/hasAdminPermission == true">
+                (
+                <a href="<webwork:url page="EnterpriseSelectProjectRepository!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select modules</a>
+                )
+            </webwork:if>
+        <% } else { %>
+            <webwork:if test="/hasAdminPermission == true">
+                (
+                <a href="<webwork:url page="SelectProjectRepository!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">select module</a>
+                )
+            </webwork:if>
+        <% } %>
+
+<%-- Mail Configuration per project - sender email address --%>
+<webwork:if test="/hasDefaultSMTPMailServer == true">
+<br>
+<b>Mail Configuration:</b>
+    <webwork:property value="projectEmail" >
+    Mail notifications from this project will come from
+    <webwork:if test=". == null">
+        the default address
+    </webwork:if>
+    <webwork:else>
+        '<webwork:property />'
+    </webwork:else>
+
+    </webwork:property>
+	<webwork:if test="/hasAdminPermission == true">
+    (
+    <a href="<webwork:url page="ProjectEmail!default.jspa"><webwork:param name="'projectId'" value="long('id')" /></webwork:url>">edit configuration</a>
+    )
+    </webwork:if>
+</webwork:if>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addscheme.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addscheme.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addscheme.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,28 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Add Voting Scheme</title>
+</head>
+
+<body>
+
+    <p>
+    <table width=100% cellpadding=10 cellspacing=0 border=0>
+    <page:applyDecorator name="jiraform">
+        <page:param name="action">AddVotingScheme.jspa</page:param>
+        <page:param name="submitName">Add</page:param>
+    	<page:param name="cancelURI">ViewVotingSchemes.jspa</page:param>
+        <page:param name="title">Add Voting Scheme</page:param>
+        <page:param name="width">100%</page:param>
+        <ui:textfield label="'Name'" name="'name'" size="'30'" />
+        <ui:textarea label="'Description'" name="'description'" cols="'30'" rows="'3'" />
+    </page:applyDecorator>
+    </table>
+    </p>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addvotesassigment.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addvotesassigment.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/addvotesassigment.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,94 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Add Votes Assigment</title>
+</head>
+
+<body>
+<page:applyDecorator name="jiraform">
+    <page:param name="action">AddVotesAssigment.jspa</page:param>
+    <page:param name="submitName"> <webwork:text name="'common.forms.add'"/> </page:param>
+    <page:param name="cancelURI"><webwork:url page="EditVotesAssigments!default.jspa"><webwork:param name="'schemeId'" value="schemeId"/></webwork:url></page:param>
+    <page:param name="title">Add New Votes Assigment</page:param>
+    <page:param name="width">100%</page:param>
+    <page:param name="description">
+    <p>
+    Please select the type of votes assigment you wish to add to scheme: <webwork:property value="scheme/string('name')"/>.
+    </p>
+    </page:param>
+
+    <tr>
+		<td bgcolor=ffffff>
+            &nbsp;<br>
+            <table align=center border="0" cellpadding="4" cellspacing="1" width=100%>
+            <tr>
+                <td align=center width=60% valign=top>
+
+                <table align=center bgcolor="bbbbbb" border="0" cellpadding="0" cellspacing="0" width=100%><tr><td>
+                <table border="0" cellpadding="4" cellspacing="1" width=100%>
+				<tr bgcolor="#ffffff">
+					<td width=25% align=right>
+						Number of votes:
+					</td>
+					<td width=50% align=left>
+    					<input type="text" name="votesnum" value="<webwork:property value="votesnum"/>">               
+    				</td>
+				</table>
+				</td></tr></table>
+
+            </td></tr></table>
+            &nbsp;<br>
+        </td>
+        
+        <td bgcolor=ffffff>
+            &nbsp;<br>
+            <table align=center border="0" cellpadding="4" cellspacing="1" width=100%>
+            <tr>
+                <td align=center width=60% valign=top>
+
+                <table align=center bgcolor="bbbbbb" border="0" cellpadding="0" cellspacing="0" width=100%><tr><td>
+                <table border="0" cellpadding="4" cellspacing="1" width=100%>
+                    <webwork:iterator value="types/keySet" status="'status'">
+                    <tr bgcolor="#<webwork:if test="@status/modulus(2) == 1">ffffff</webwork:if><webwork:else>fffff0</webwork:else>">
+
+                        <td width=5% align=center><input type="radio" name="type" id="label_<webwork:property/>" value="<webwork:property value="."/>" <webwork:if test="type==.">checked</webwork:if>></td>
+                        <td width=25% align="left"><label for="label_<webwork:property/>"><webwork:property value="types/(.)/displayName"/></label></td>
+                        <webwork:if test="types/(.)/type == 'user'">
+                            <td>
+                                <ui:component label="''" name="." template="userselectnoheaders.jsp">
+                                    <ui:param name="'formname'" value="'jiraform'" />
+                                    <ui:param name="'imageName'" value="'userImage'"/>
+                                    <ui:param name="'imagesrc'"><%=request.getContextPath()%>/images/icons/filter_public.gif</ui:param>
+				    <ui:param name="'onchange'" value="'document.forms['jiraform'].type[1].checked = true;'" />
+                                </ui:component>
+                            </td>
+                        </webwork:if>
+                        <webwork:elseIf test="types/(.)/type == 'group'">
+                            <td>
+                            <select name="<webwork:property value="."/>" onClick="document.forms['jiraform'].type[2].checked = true;">
+                                <option value="">Choose a group</option>
+                                <webwork:iterator value="types/(.)/groups" >
+                                    <option value="<webwork:property value="name"/>" <webwork:if test="../../parameter(..) == name" >selected</webwork:if>><webwork:property value="name"/></option>
+                                </webwork:iterator>
+                            </td>
+                        </webwork:elseIf>
+                        <webwork:else><td>&nbsp;</td></webwork:else>
+                    </tr>
+                    </webwork:iterator>
+                    <ui:component name="'schemeId'" template="hidden.jsp"/>
+                </table>
+                </td></tr></table>
+
+            </td></tr></table>
+            &nbsp;<br>
+        </td>
+    </tr>
+
+</page:applyDecorator>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletescheme.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletescheme.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletescheme.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,47 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Delete Voting Scheme</title>
+</head>
+
+<body>
+
+    <p>
+    <table width=100% cellpadding=10 cellspacing=0 border=0>
+    <page:applyDecorator name="jiraform">
+        <page:param name="action">DeleteVotingScheme.jspa</page:param>
+        <page:param name="submitName">Delete</page:param>
+    	<page:param name="cancelURI">ViewVotingSchemes.jspa</page:param>
+        <page:param name="title">Delete Voting Scheme</page:param>
+        <page:param name="width">100%</page:param>
+        <page:param name="autoSelectFirst">false</page:param>
+	    <page:param name="description">
+        <input type="hidden" name="schemeId" value="<webwork:property value="schemeId" />">
+        <input type="hidden" name="confirmed" value="true">
+        <p>
+        Are you sure you want to delete <u><webwork:property value="name" /></u>?<br>
+        <webwork:if test="description" >
+            "<webwork:property value="description" />"
+        </webwork:if>
+        </p>
+
+        <webwork:if test="projects(scheme)/size > 0" >
+            <p><font color=cc0000>WARNING: <webwork:property value="name" /> is currently associated with:
+            <webwork:iterator value="projects(scheme)" status="'liststatus'">
+                <a href="<%= request.getContextPath() %>/secure/project/ViewProject.jspa?pid=<webwork:property value="long('id')" />">
+                <webwork:property value="string('name')" /></a><webwork:if test="@liststatus/last == false">, </webwork:if><webwork:else>.</webwork:else>
+            </webwork:iterator><br>
+            You may wish to select another voting scheme for these project/s.</font></p>
+        </webwork:if>
+
+        </page:param>
+    </page:applyDecorator>
+    </table>
+    </p>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletevotesassigment.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletevotesassigment.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/deletevotesassigment.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,33 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Delete Votes Assigment</title>
+</head>
+
+<body>
+
+    <p>
+    <table width=100% cellpadding=10 cellspacing=0 border=0>
+    <page:applyDecorator name="jiraform">
+        <page:param name="action">DeleteVotesAssigment.jspa</page:param>
+        <page:param name="submitName">Delete</page:param>
+    	<page:param name="cancelURI"><webwork:url page="EditVotesAssigments!default.jspa"><webwork:param name="'schemeId'" value="schemeId"/></webwork:url></page:param>
+        <page:param name="title">Delete Votes Assigment</page:param>
+        <page:param name="width">100%</page:param>
+        <page:param name="autoSelectFirst">false</page:param>
+	    <page:param name="description">
+        <input type="hidden" name="schemeId" value="<webwork:property value="schemeId" />">
+        <input type="hidden" name="id" value="<webwork:property value="id" />">
+        <input type="hidden" name="confirmed" value="true">
+        Are you sure you want to delete votes assigment for: <b><webwork:property value="votesAssigmentName" /></b><br>
+        </page:param>
+    </page:applyDecorator>
+    </table>
+    </p>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editscheme.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editscheme.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editscheme.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,31 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Edit Voting Scheme</title>
+</head>
+
+<body>
+
+    <p>
+    <table width=100% cellpadding=10 cellspacing=0 border=0>
+    <page:applyDecorator name="jiraform">
+        <page:param name="action">EditVotingScheme.jspa</page:param>
+        <page:param name="submitName"><webwork:text name="'common.forms.update'"/></page:param>
+    	<page:param name="cancelURI">ViewVotingSchemes.jspa</page:param>
+        <page:param name="title">Edit Voting Scheme: <webwork:property value="scheme/string('name')" /></page:param>
+        <page:param name="width">100%</page:param>
+
+        <ui:textfield label="'Name'" name="'name'" size="'30'" />
+        <ui:textarea label="'Description'" name="'description'" cols="'30'" rows="'3'" />
+
+        <ui:component name="'schemeId'" template="hidden.jsp" />
+    </page:applyDecorator>
+    </table>
+    </p>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editvotesassigments.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editvotesassigments.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/editvotesassigments.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,60 @@
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+<html>
+<head>
+	<title>Edit Votes Assigments</title>
+</head>
+<body>
+<page:applyDecorator name="jirapanel">
+    <page:param name="title">Edit Votes Assigments &mdash; <webwork:property value="scheme/string('name')"/></page:param>
+    <page:param name="width">100%</page:param>
+    <p>
+    On this page you can edit the votes assigments for the "<webwork:property value="scheme/string('name')"/>" voting scheme.
+    </p>
+
+    <p>
+    <img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle>
+    <a href="<webwork:url page="AddVotesAssigment!default.jspa"><webwork:param name="'schemeId'" value="scheme/string('id')"/></webwork:url>"><b>Add</b></a> votes assigment for User/Group.
+    </p>
+
+    <p>
+    <img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle>
+    <a href="ViewVotingSchemes.jspa"><b>View</b></a> all voting schemes.
+    </p>
+</page:applyDecorator>
+<p>
+    <table align="center" bgcolor="bbbbbb" border="0" cellpadding="0" cellspacing="0" width="90%">
+    <tr>
+    <td>
+    <table border="0" cellpadding="3" cellspacing="1" width=100%>
+        <tr bgcolor=f0f0f0>
+            <td class="colHeaderLink"><b>Number of votes</b></td>
+            <td class="colHeaderLink"><b>Roles assigned</b></td>
+            <td class="colHeaderLink" width=10%><b><webwork:text name="'common.words.operations'"/></b></td>
+        </tr>
+
+        <webwork:iterator value="votesNums" status="'status'">
+        <tr bgcolor="#<webwork:if test="@status/modulus(2) == 1">ffffff</webwork:if><webwork:else>fffff0</webwork:else>">
+            <td valign="top"><b><webwork:property value="."/></b></td>
+            <td valign="top">
+            <webwork:iterator value="votesAssigments(.)">
+            	<img src="<%= request.getContextPath() %>/images/icons/bullet_blue.gif" height=8 width=8 border=0 align=absmiddle>
+                <webwork:property value="../../type(string('type'))/displayName" />
+                <webwork:if test="string('parameter')">(<webwork:property value="string('parameter')"/>)</webwork:if>
+                <font size="1">(<a href="<webwork:url page="DeleteVotesAssigment!default.jspa"><webwork:param name="'id'" value="long('id')"/><webwork:param name="'schemeId'" value="schemeId"/></webwork:url>">Del</a>)</font>
+                <br>
+            </webwork:iterator>
+            </td>
+            <td nowrap valign="top">
+            	<img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle>
+                <a href="<webwork:url page="AddVotesAssigment!default.jspa"><webwork:param name="'schemeId'" value="../schemeId"/><webwork:param name="'votesnum'" value="."/></webwork:url>">Add</a>
+            </td>
+        </tr>
+        </webwork:iterator>
+    </table>
+    </td>
+    </tr>
+    </table>
+    </body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/viewschemes.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/viewschemes.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/admin/views/voting/viewschemes.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,81 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Voting Schemes</title>
+</head>
+
+<body>
+<page:applyDecorator name="jirapanel">
+    <page:param name="title">Voting Schemes</page:param>
+    <page:param name="width">100%</page:param>
+    <p>
+    The table below shows the voting schemes currently configured for this server.
+    </p>
+</page:applyDecorator>
+
+    <p>
+
+    <table align=center bgcolor="bbbbbb" border="0" cellpadding="0" cellspacing="0" width=90%><tr><td>
+    <table border="0" cellpadding="3" cellspacing="1" width=100%>
+        <tr bgcolor=f0f0f0>
+            <td class="colHeaderLink">
+                <b>Name</b>
+            </td>
+            <td class="colHeaderLink">
+                <b>Projects</b>
+            </td>
+            <td class="colHeaderLink">
+                &nbsp;
+            </td>
+        </tr>
+
+        <webwork:iterator value="schemes" status="'status'">
+        <tr bgcolor="#<webwork:if test="@status/modulus(2) == 1">ffffff</webwork:if><webwork:else>fffff0</webwork:else>">
+            <td valign=top>
+                <b><a href="EditVotesAssigments!default.jspa?schemeId=<webwork:property value="long('id')"/>"><webwork:property value="string('name')"/></a></b><br>
+                <webwork:property value="string('description')"/></td>
+            <td valign=top nowrap>
+            <webwork:iterator value="projects(.)">
+            	<img src="<%= request.getContextPath() %>/images/icons/bullet_blue.gif" height=8 width=8 border=0 align=absmiddle>
+                <a href="<%= request.getContextPath() %>/secure/project/ViewProject.jspa?pid=<webwork:property value="long('id')" />"><webwork:property value="string('name')" /></a><br>
+            </webwork:iterator>
+            </td>
+            <td valign=top align=center nowrap>
+                <a href="EditVotesAssigments!default.jspa?schemeId=<webwork:property value="long('id')"/>">Votes assigments</a>
+                |
+                <a href="CopyVotingScheme.jspa?schemeId=<webwork:property value="long('id')"/>" title="Create a copy of this scheme">Copy</a>
+                |
+                <a href="EditVotingScheme!default.jspa?schemeId=<webwork:property value="long('id')"/>">Edit</a>
+                |
+                <a href="DeleteVotingScheme!default.jspa?schemeId=<webwork:property value="long('id')"/>">Del</a>
+            </td>
+        </tr>
+        </webwork:iterator>
+        <webwork:if test="schemes/size == 0">
+        <tr bgcolor=ffffff>
+            <td colspan=3>You do not currently have any voting schemes configured.</td>
+        </tr>
+        </webwork:if>
+    </table>
+    </td></tr></table>
+
+    <p>
+    <table align=center border="0" cellpadding="0" cellspacing="0" width=90%>
+    <tr>
+    <td align="center">
+    <table border="0" cellpadding="3" cellspacing="1">
+    <tr>
+        <td><a href="AddVotingScheme!default.jspa">Add Voting Scheme</a></td>
+    </tr>
+    </table>
+    </td>
+    </tr>
+    </table>
+    </p>
+
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting/selectprojectscheme.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting/selectprojectscheme.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/project/views/voting/selectprojectscheme.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,46 @@
+
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="webwork" prefix="ui" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title>Select Voting Scheme</title>
+</head>
+
+<body>
+
+<webwork:if test="schemes == null || schemes/size == 0">
+    <page:applyDecorator name="jirapanel">
+        <page:param name="title">Associate Voting Scheme to Project</page:param>
+        <page:param name="width">100%</page:param>
+
+        <p>
+        There are currently no voting schemes setup.
+        </p>
+        <p>
+        <a href="<%= request.getContextPath() %>/secure/admin/ViewVotingSchemes.jspa">Add</a> a new voting scheme.
+        </p>
+    </page:applyDecorator>
+</webwork:if>
+<webwork:else>
+	<page:applyDecorator name="jiraform">
+		<page:param name="title">Associate Scheme to Project</page:param>
+        <page:param name="description">
+            This page allows you to associate a scheme with this project.
+        </page:param>
+        <page:param name="width">100%</page:param>
+        <page:param name="cancelURI"><webwork:url page="ViewProject.jspa"><webwork:param name="'pid'" value="projectId"/></webwork:url></page:param>
+        <page:param name="action">SelectProjectVotingScheme.jspa</page:param>
+        <page:param name="submitName">Associate</page:param>
+
+        <ui:select label="'Scheme'" name="'schemeIds'" value="schemeIds[0]" list="schemes" listKey="'string('id')'" listValue="'string('name')'" template="selectmap.jsp">
+            <ui:param name="'headerrow'" value="'None'" />
+            <ui:param name="'headervalue'" value="''" />
+        </ui:select>
+        <ui:component name="'projectId'" template="hidden.jsp"/>
+	</page:applyDecorator>
+</webwork:else>
+
+</body>
+</html>
\ No newline at end of file

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports/globalreports.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports/globalreports.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/globalreports/globalreports.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,61 @@
+<%@ page import="java.util.*,
+	com.atlassian.jira.ComponentManager,
+	com.atlassian.jira.plugin.globalreport.GlobalReportModuleDescriptor,
+	com.atlassian.jira.plugin.globalreport.GlobalReport,
+	com.atlassian.plugin.PluginManager"%>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+<html>
+<head>
+	<title><webwork:if test="searchRequest/name">[<webwork:property value="searchRequest/name"/>] </webwork:if><webwork:text name="Global reports"/></title>
+</head>
+<body>
+
+<table width="100%" cellpadding="15"><tr bgcolor="ffffff"><td>
+<page:applyDecorator name="jirapanel">
+    <page:param name="title">Global reports</page:param>
+    <page:param name="width">100%</page:param>
+    <p>
+    <webwork:text name="Select a report to generate and display."/>
+</page:applyDecorator>
+<br>
+<table bgcolor="ffffff" width="100%"><tr><td>
+    <table bgcolor="ffffff" width="95%" style="margin-left: auto; margin-right: auto;">
+	     <tr><td>
+                <table bgcolor="bbbbbb" border="0" cellpadding="0" cellspacing="0" width="100%">
+                <tr>
+                    <td>
+                        <table  border="0" cellpadding="3" cellspacing="1" width=100%>
+    <%
+	PluginManager pm = ComponentManager.getInstance().getPluginManager();
+	List reports = new ArrayList(pm.getEnabledModuleDescriptorsByClass(GlobalReportModuleDescriptor.class));
+            
+	for(Iterator iterator = reports.iterator(); iterator.hasNext();)
+        {
+        	GlobalReportModuleDescriptor desc = (GlobalReportModuleDescriptor)iterator.next();
+                if (((GlobalReport)desc.getModule()).showGlobal()) {
+    %>	                
+	    <tr bgcolor="ffffff">
+    		<td nowrap>             
+			<a href="<%= request.getContextPath() %>/secure/ConfigureReport!default.jspa?reportKey=<%= desc.getCompleteKey() %>" 
+				title="<%= desc.getLabel() %>" /><%= desc.getLabel() %></a>
+		</td>
+	    </tr>
+    <%
+		}
+	}	
+    %>
+
+   			</table>
+                    </td>
+                </tr>
+                </table>
+            </td></tr>
+	</table>
+</td></tr></table>
+</td></tr></table>
+
+
+</table>
+</body>
+</html>

Added: labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator/rnotes.jsp
===================================================================
--- labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator/rnotes.jsp	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/jira-file-modifications/jira-3.6/edit-webapp/secure/views/navigator/rnotes.jsp	2006-10-25 23:02:12 UTC (rev 7121)
@@ -0,0 +1,177 @@
+<%@ page import="com.atlassian.jira.web.component.IssuePager,
+                 java.util.*,
+		 org.ofbiz.core.entity.GenericValue,
+		 com.atlassian.jira.issue.Issue,
+		 com.atlassian.jira.ComponentManager,
+                 com.atlassian.jira.issue.search.util.QueryCreator,
+                 com.atlassian.jira.web.action.issue.IssueNavigator,
+                 com.atlassian.jira.web.component.IssueTableWebComponent,
+                 com.atlassian.jira.issue.search.SearchResults,
+		 com.atlassian.jira.config.ConstantsManager,
+		 com.atlassian.jira.web.bean.PagerFilter,
+		 com.opensymphony.util.TextUtils"%>
+<%@ taglib uri="webwork" prefix="webwork" %>
+<%@ taglib uri="sitemesh-page" prefix="page" %>
+
+<html>
+<head>
+	<title><webwork:if test="searchRequest/name">[<webwork:property value="searchRequest/name"/>] </webwork:if><webwork:text name="'navigator.title'"/></title>
+</head>
+<body>
+<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="ffffff">
+<%-- remove for printable decorator --%>
+    <tr class="hidden">
+        <!-- This is here to get around a rendering problem on Mozilla which manifests when viewing the page
+        over a relatively slow connection. The filterform is rendered to take up more than half the page. By
+        givving a 'relative' row to the browser first we ensure that the rest of the rows are rendered similarly and
+        hence the width of the filterform column is fixed. Fixes JRA-5116 -->
+        <webwork:if test="/mode == 'show'">
+            <td class="filterFormCell">&nbsp;</td>
+        </webwork:if>
+        <webwork:else>
+            <td class="filterSummaryCell">&nbsp;</td>
+	    </webwork:else>
+        <td>&nbsp;</td>
+    </tr>
+
+<tr>
+	<webwork:if test="/mode == 'show'">
+		<td class="filterFormCell">
+            <jsp:include page="/includes/navigator/filter-form.jsp" flush="false" />
+		</td>
+	</webwork:if>
+	<webwork:else>
+		<td class="filterSummaryCell">
+            <jsp:include page="/includes/navigator/summary-pane.jsp" flush="false" />
+        </td>
+	</webwork:else>
+<%-- end remove --%>
+<td valign="top">
+    <table cellspacing="0" cellpadding="10" border="0" width="100%"><tr><td>
+   
+<webwork:if test="/searchResults && /hasAnyErrors == false">
+    <jsp:include page="/includes/navigator/table/header.jsp"/>
+</webwork:if>
+
+<p>
+<webwork:if test="/hasErrorMessages == false && /hasErrors == false" >
+
+
+<!-- JBoss part -->
+
+<webwork:if test="/hasErrorMessages == false && /hasErrors == false" >
+<webwork:property value="/" id="issueNavigator" />
+<%
+	IssueNavigator issueNavigator = (IssueNavigator) request.getAttribute("issueNavigator");
+	SearchResults searchResults = issueNavigator.getSearchResults();
+	List issues = searchResults.getIssues();
+	TextUtils textUtils = new TextUtils();
+	
+	final ConstantsManager constantsManager =
+            	ComponentManager.getInstance().getConstantsManager();
+	
+	Iterator iter;
+        /* Map: issue type id -> (Set of issue) */
+        Map issuesMap = new TreeMap(new Comparator() {
+			// Sorting issue types by the "sequence" field.
+			public int compare(Object arg0, Object arg1) {
+				String id1 = (String) arg0;
+				String id2 = (String) arg1;
+					
+				GenericValue gv1 = constantsManager.getIssueType(id1);
+				GenericValue gv2 = constantsManager.getIssueType(id2);
+					
+				return gv1.getLong("sequence").compareTo(
+						gv2.getLong("sequence"));
+			}});
+        /* Map: issue type id -> issue name */
+        Map issuesNamesMap = new HashMap();
+
+	List allIssueTypes = constantsManager.getAllIssueTypes();
+        for (iter = allIssueTypes.iterator(); iter.hasNext();) {
+            GenericValue issueType = (GenericValue)iter.next();
+	    if (!("Sub-task".equals(issueType.getString("name"))))
+	    	issuesNamesMap.put(issueType.getString("id"), issueType.getString("name"));
+	}
+        
+	/* Preparing issueMap */
+        for (iter = issuesNamesMap.keySet().iterator(); iter.hasNext();)
+            issuesMap.put(iter.next(), new TreeSet(new Comparator() {
+		public int compare(Object o1, Object o2) {
+			Issue i1 = (Issue) o1;
+			Issue i2 = (Issue) o2;
+
+			return i1.getId().compareTo(i2.getId());
+		}		
+	    }));
+
+        /* Filling sets in issueMap */
+        for (iter = issues.iterator(); iter.hasNext();) {
+            Issue issue = (Issue) iter.next();
+	    Set toAdd = (Set)issuesMap.get(issue.getIssueType().getString("id"));
+            if (toAdd != null) toAdd.add(issue);
+        }    
+	
+	for (iter = issuesMap.keySet().iterator(); iter.hasNext();) {
+		String typeId = (String) iter.next();
+		Set currIssues = (Set) issuesMap.get(typeId);
+		if (currIssues.size() > 0) {
+%>
+	<h2><%= issuesNamesMap.get(typeId) %></h2>
+
+	<ul>
+	<%
+		for (Iterator iter2 = currIssues.iterator(); iter2.hasNext();) {
+			Issue issue = (Issue) iter2.next();
+	%>
+		<li>
+		[ <a href="<%= request.getContextPath() %>/browse/<%= issue.getKey() %>">
+			<%= issue.getKey() %>
+		</a> ]
+		<%= textUtils.htmlEncode(issue.getSummary()) %>
+		</li>
+	<%
+		}
+	%>
+	</ul>
+<%
+		}
+	}
+%>
+
+	<hr />
+	<h1>Text source</h1>
+<%
+	for (iter = issuesMap.keySet().iterator(); iter.hasNext();) {
+		String typeId = (String) iter.next();
+		Set currIssues = (Set) issuesMap.get(typeId);
+		if (currIssues.size() > 0) {
+%>
+	<br />
+	** <%= issuesNamesMap.get(typeId) %>
+	<br />
+
+	<%
+		for (Iterator iter2 = currIssues.iterator(); iter2.hasNext();) {
+			Issue issue = (Issue) iter2.next();
+	%>
+		&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
+		[ <%= issue.getKey() %> ]
+		<%= textUtils.htmlEncode(issue.getSummary()) %>
+		<br />
+	<%
+		}
+		}
+	}
+%>
+
+</webwork:if>
+
+<!-- JIRA PART -->
+</webwork:if>
+</p>
+    </td></tr></table>
+</td></tr>
+</table>
+</body>
+</html>

Modified: labs/jira-extensions/trunk/maven.xml
===================================================================
--- labs/jira-extensions/trunk/maven.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/maven.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -6,9 +6,9 @@
     </goal>
         
     <goal name="copy-deploy">
-	<ant:exec executable="${jira.local.path}/build.sh" dir="${jira.local.path}" spawn="true">
+	<!--ant:exec executable="${jira.local.path}/build.sh" dir="${jira.local.path}" spawn="true">
 	    <ant:arg value="war" />
-	</ant:exec>
+	</ant:exec-->
 	<ant:copy tofile="${appserv.local.path}/jira.war" >
 	    <ant:fileset dir="${jira.local.path}/dist-generic">
 		<include name="*.war" />

Added: labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/WEB-INF/lib/atlassian-configurableobjects-0.4.22.jar
===================================================================
(Binary files differ)


Property changes on: labs/jira-extensions/trunk/multiselect/jira-3.6/edit-webapp/WEB-INF/lib/atlassian-configurableobjects-0.4.22.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jira-extensions/trunk/releasenotes-report/src/etc/atlassian-plugin.xml
===================================================================
--- labs/jira-extensions/trunk/releasenotes-report/src/etc/atlassian-plugin.xml	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/releasenotes-report/src/etc/atlassian-plugin.xml	2006-10-25 23:02:12 UTC (rev 7121)
@@ -21,14 +21,14 @@
                 <key>versions</key>
                 <name>report.releasenotes.versions.name</name>
                 <description>report.releasenotes.versions.description</description>
-                <type>selectmultiple</type>
+                <type>multiselect</type>
                 <values class="com.atlassian.jira.portal.VersionValuesGenerator" />
             </property>
             <property>
                 <key>sections</key>
                 <name>report.releasenotes.sections.name</name>
                 <description>report.releasenotes.sections.description</description>
-                <type>selectmultiple</type>
+                <type>multiselect</type>
                 <values class="pl.net.mamut.jira.IssuesTypesValueGenerator"/>
             </property>
             <property>

Modified: labs/jira-extensions/trunk/releasenotes-report/src/java/pl/net/mamut/ReleaseNotesReport.java
===================================================================
--- labs/jira-extensions/trunk/releasenotes-report/src/java/pl/net/mamut/ReleaseNotesReport.java	2006-10-25 22:24:24 UTC (rev 7120)
+++ labs/jira-extensions/trunk/releasenotes-report/src/java/pl/net/mamut/ReleaseNotesReport.java	2006-10-25 23:02:12 UTC (rev 7121)
@@ -27,7 +27,7 @@
  * Report logic for generating release notes reports.
  * @author adamw
  */
-public class ReleaseNotesReport extends AbstractReport 
+public class ReleaseNotesReport extends AbstractReport
 {
     private final SearchProvider searchProvider;
     private final ConstantsManager constantsManager;
@@ -39,17 +39,17 @@
      * of Long-s).
      */
     private Collection versions;
-    
+
     public ReleaseNotesReport(ApplicationProperties appProps, ConstantsManager constantsManager, SearchProvider searchProvider)
     {
         this.searchProvider = searchProvider;
         this.constantsManager = constantsManager;
         this.appProps = appProps;
         this.verMan = ComponentManager.getInstance().getVersionManager();
-        
+
         versions = null;
     }
-    
+
     /**
      * Performs a search with the given parameters to find issues to include in the release notes.
      * @param remoteUser
@@ -58,50 +58,50 @@
      * @return A collection of GenericEntity corresponding to the found issues.
      * @throws SearchException
      */
-    private Collection issueSearch(User remoteUser, Collection versions, List sections) throws SearchException 
+    private Collection issueSearch(User remoteUser, Collection versions, List sections) throws SearchException
     {
         SearchRequest sr = new SearchRequest(remoteUser);
         sr.addParameter(new FixForParameter(versions));
-        sr.addParameter(new IssueTypeParameter(sections));     
+        sr.addParameter(new IssueTypeParameter(sections));
         return searchProvider.search(sr, remoteUser);
     }
-    
+
     /**
      * Generates a list of issue types ids from user input to include in the release notes.
      * @param sections User input.
      * @return List of issue types ids
      */
-    private List parseSections(String[] sections) 
+    private List parseSections(String[] sections)
     {
         List l = new ArrayList();
         for (int i=0; i<sections.length; i++) {
             String[] subTypes = sections[i].split("[.]");
-            for (int j=0; j<subTypes.length; j++) 
+            for (int j=0; j<subTypes.length; j++)
                 if (!subTypes[j].equals("")) l.add(subTypes[j]);
         }
         return l;
     }
-    
+
     /**
      * Parses user input to generate a collection of matching version ids. Version to use when multi-select
      * boxes are enabled in to configuration of a report.
      * @param selectedVersions Version names template that were read from the user.
      * @return Collection of matching version ids.
      */
-    private Collection parseVersions(String[] selectedVersions) 
+    private Collection parseVersions(String[] selectedVersions)
     {
         Set r = new TreeSet();
-        
-        for (int i=0; i<selectedVersions.length; i++) 
+
+        for (int i=0; i<selectedVersions.length; i++)
         {
             long versionId = Long.parseLong(selectedVersions[i]);
             if (versionId > 0)
                 r.add(new Long(versionId));
         }
-        
+
         return r;
     }
-    
+
     /**
      * Reads version parameters from the parameter map.
      * @param params
@@ -124,10 +124,10 @@
                 return null;
             }
         }
-        
+
         return ret;
     }
-    
+
     /**
      * Reads selected sections from the parameter map.
      * @param params
@@ -150,10 +150,10 @@
                 return null;
             }
         }
-        
+
         return ret;
     }
-    
+
     /**
      * Parses user input and returns a collection of version ids that match the users' input.
      * @param action
@@ -167,27 +167,27 @@
             versions = parseVersions(getVersionsFromParams(params));
         return versions;
     }
-    
-    public String generateReportHtml(ProjectActionSupport action, Map params) throws Exception 
+
+    public String generateReportHtml(ProjectActionSupport action, Map params) throws Exception
     {
         User remoteUser = action.getRemoteUser();
         Map velocityParams = new HashMap();
-        
-        try 
+
+        try
         {
             /* Generating parameters for search */
             Collection versions = getVersions(action, params);
             List sections = parseSections(getSectionsFromParams(params));
-            
+
             /* Getting the project for which this report is - by looking at
              * a representative version. We know that at least one exists
              * because validation was passed. */
             Long repVer = (Long) versions.iterator().next();
             GenericValue project = verMan.getVersion(repVer).getProject();
-            
+
             /* Searching for issues to include in the report */
             Collection issues = issueSearch(remoteUser, versions, sections);
-            
+
             Iterator iter;
             /* Map: issue type id -> (Set of issue) */
             Map issuesMap = new TreeMap(new Comparator() {
@@ -195,36 +195,36 @@
 				public int compare(Object arg0, Object arg1) {
 					String id1 = (String) arg0;
 					String id2 = (String) arg1;
-					
+
 					GenericValue gv1 = constantsManager.getIssueType(id1);
 					GenericValue gv2 = constantsManager.getIssueType(id2);
-					
+
 					return gv1.getLong("sequence").compareTo(
 							gv2.getLong("sequence"));
 				}
             });
             /* Map: issue type id -> issue name */
             Map issuesNamesMap = new HashMap();
-            
+
             /* Preparing issueMap */
             for (iter = sections.iterator(); iter.hasNext();) {
             	String typeId = (String) iter.next();
             	issuesMap.put(typeId, new TreeSet());
             }
-            
+
             /* Filling sets in issueMap */
             for (iter = issues.iterator(); iter.hasNext();) {
                 GenericValue issue = (GenericValue) iter.next();
                 Set toAdd = (Set)issuesMap.get(issue.getString("type"));
                 if (toAdd != null) toAdd.add(issue);
             }
-            
+
             /* Setting the issues' names */
             for (iter = sections.iterator(); iter.hasNext();) {
                 String issueId = (String)iter.next();
                 issuesNamesMap.put(issueId, constantsManager.getIssueType(issueId).getString("name"));
             }
-            
+
             /* Preparing parameters for output */
             velocityParams.put("project", project);
             velocityParams.put("action", action);
@@ -236,20 +236,20 @@
             velocityParams.put("textUtils", new TextUtils());
             /* Generating release notes source in the format demanded by the user */
             String style = (String)params.get("style");
-            
+
             if ("none".equals(style))
             	velocityParams.put("generated", "");
             else
-            	velocityParams.put("generated", 
+            	velocityParams.put("generated",
             			descriptor.getHtml(style, velocityParams));
         } catch (SearchException e)
         {
             return "";
         }
-        
+
         return descriptor.getHtml("view", velocityParams);
     }
-    
+
     public void validate(ProjectActionSupport action, Map params)
     {
         /* Checking if the versions field is not empty */
@@ -259,7 +259,7 @@
             action.addError("versions", action.getText("report.releasenotes.versions.required"));
             return;
         }
-        
+
         /* Checking if the sections field is not empty */
         String[] sections = getSectionsFromParams(params);
         if (sections == null || sections.length == 0)
@@ -267,16 +267,16 @@
             action.addError("sections", action.getText("report.releasenotes.sections.required"));
             return;
         }
-        
+
         /* Checking if the versions field is not empty */
-        try 
+        try
         {
             if (getVersions(action, params).size() == 0)
                 action.addError("versions", action.getText("report.releasenotes.versions.nomatch"));
-        } catch (PermissionException e) 
+        } catch (PermissionException e)
         {
             action.addError("versions", action.getText("report.releasenotes.versions.noperms"));
         }
-            
+
     }
 }




More information about the jboss-svn-commits mailing list