azkaban-aplcache

Details

diff --git a/az-reportal/src/main/resources/azkaban/viewer/reportal/reportaleditpage.vm b/az-reportal/src/main/resources/azkaban/viewer/reportal/reportaleditpage.vm
index 4993a78..728f8a1 100644
--- a/az-reportal/src/main/resources/azkaban/viewer/reportal/reportaleditpage.vm
+++ b/az-reportal/src/main/resources/azkaban/viewer/reportal/reportaleditpage.vm
@@ -16,301 +16,350 @@
 
 <!DOCTYPE html>
 <html>
-  <head>
-    <title>Reportal</title>
+<head>
+  <title>Reportal</title>
 
-    <link href="${context}/reportal/css/bootstrap.min.css" rel="stylesheet">
+  <link href="${context}/reportal/css/bootstrap.min.css" rel="stylesheet">
 
-    <link href="${context}/css/jquery-ui.css" rel="stylesheet">
-    <script type="text/javascript" src="${context}/js/jquery/jquery-1.9.1.js"></script>
-    <script type="text/javascript" src="${context}/js/jqueryui/jquery-ui-1.10.1.custom.js"></script>
+  <link href="${context}/css/jquery-ui.css" rel="stylesheet">
+  <script type="text/javascript" src="${context}/js/jquery/jquery-1.9.1.js"></script>
+  <script type="text/javascript" src="${context}/js/jqueryui/jquery-ui-1.10.1.custom.js"></script>
 
-    <script type="text/javascript" src="${context}/js/bootstrap.min.js"></script>
-    <link href="${context}/css/bootstrap-datetimepicker.css" rel="stylesheet">
-    <script type="text/javascript" src="${context}/js/moment.min.js"></script>
-    <script type="text/javascript" src="${context}/js/bootstrap-datetimepicker.min.js"></script>
+  <script type="text/javascript" src="${context}/js/bootstrap.min.js"></script>
+  <link href="${context}/css/bootstrap-datetimepicker.css" rel="stylesheet">
+  <script type="text/javascript" src="${context}/js/moment.min.js"></script>
+  <script type="text/javascript" src="${context}/js/bootstrap-datetimepicker.min.js"></script>
 
-    <link href="${context}/reportal/css/codemirror.css" rel="stylesheet">
-    <link href="${context}/reportal/css/solarized.css" rel="stylesheet">
-    <script type="text/javascript" src="${context}/reportal/js/codemirror.js"></script>
-    <script type="text/javascript" src="${context}/reportal/js/mode/sql/sql.js"></script>
-    <script type="text/javascript" src="${context}/reportal/js/mode/pig/pig.js"></script>
+  <link href="${context}/reportal/css/codemirror.css" rel="stylesheet">
+  <link href="${context}/reportal/css/solarized.css" rel="stylesheet">
+  <script type="text/javascript" src="${context}/reportal/js/codemirror.js"></script>
+  <script type="text/javascript" src="${context}/reportal/js/mode/sql/sql.js"></script>
+  <script type="text/javascript" src="${context}/reportal/js/mode/pig/pig.js"></script>
 
-    <script type="text/javascript">
-      var contextURL = "${context}";
-      var startQueries = [
-        #if($queries)
-          #foreach($query in $queries)
-            #set($num = $velocityCount - 1)
+  <script type="text/javascript">
+    var contextURL = "${context}";
+    var startQueries = [
+      #if($queries)
+        #foreach($query in $queries)
+          #set($num = $velocityCount - 1)
 
-            ## Escape the query title and script strings as JavaScript strings before loading them.
-            #set($queryTitle = $esc.javascript(${query.title}))
-            #set($queryScript = $esc.javascript(${query.script}))
-            {
-              "num" : "${num}",
-              "title" : #if($queryTitle) "$queryTitle" #else "" #end,
-              "type" : "${query.type}",
-              "script" : #if($queryScript) "$queryScript" #else "" #end
-            },
-          #end
+        ## Escape the query title and script strings as JavaScript strings before loading them.
+          #set($queryTitle = $esc.javascript(${query.title}))
+          #set($queryScript = $esc.javascript(${query.script}))
+          {
+            "num": "${num}",
+          "title" : #if($queryTitle) "$queryTitle" #else "" #end,
+            "type": "${query.type}",
+          "script" : #if($queryScript) "$queryScript" #else "" #end
+          },
         #end
-      ];
-      var startVariables = [
-        #if($variables)
-          #foreach($variable in $variables)
-            #set($num = $velocityCount - 1)
-                  {
-                    "num" : "${num}",
-                    "title" : "${variable.title}",
-                    "name" : "${variable.name}",
-                  },
-          #end
+      #end];
+    var startVariables = [
+      #if($variables)
+        #foreach($variable in $variables)
+          #set($num = $velocityCount - 1)
+          {
+            "num": "${num}",
+            "title": "${variable.title}",
+            "name": "${variable.name}",
+          },
         #end
-      ];
-    </script>
-    <script type="text/javascript" src="${context}/reportal/js/reportal.js"></script>
-    <script type="text/javascript" src="${context}/reportal/js/reportal-edit.js"></script>
-    <link href="${context}/reportal/css/reportal.css" rel="stylesheet">
-  </head>
-  <body>
-#set($current_page="$viewerName")
-#if(!$hideNavigation)
-  #parse("azkaban/webapp/servlet/velocity/nav.vm")
-#end
+      #end];
+  </script>
+  <script type="text/javascript" src="${context}/reportal/js/reportal.js"></script>
+  <script type="text/javascript" src="${context}/reportal/js/reportal-edit.js"></script>
+  <link href="${context}/reportal/css/reportal.css" rel="stylesheet">
+</head>
+<body>
+  #set($current_page="$viewerName")
+  #if(!$hideNavigation)
+    #parse("azkaban/webapp/servlet/velocity/nav.vm")
+  #end
 
-#parse("azkaban/viewer/reportal/reportalnavigation.vm")
+  #parse("azkaban/viewer/reportal/reportalnavigation.vm")
 
-    <div class="content" style="margin-top: 41px;">
-      <div id="box-error">
-  #if($errorMsgs)
-        <div class="box-error-message">
-    #foreach($errorMsg in $errorMsgs)
-      #set($num = $velocityCount - 1)
+<div class="content" style="margin-top: 41px;">
+  <div id="box-error">
+    #if($errorMsgs)
+      <div class="box-error-message">
+        #foreach($errorMsg in $errorMsgs)
+          #set($num = $velocityCount - 1)
 
-      #if($num > 0)
-                    <br/>
-      #end
+          #if($num > 0)
+            <br/>
+          #end
 
-                    $esc.html($errorMsg)
-    #end
-        </div>
-  #else
-    #if($error_message != "null")
+          $esc.html($errorMsg)
+        #end
+      </div>
+    #else
+      #if($error_message != "null")
         <div class="box-error-message">$esc.html($error_message)</div>
-    #elseif($success_message != "null")
+      #elseif($success_message != "null")
         <div class="box-success-message">$success_message</div>
+      #end
     #end
-  #end
-      </div>
-      <div>&nbsp;</div>
-      <form method="post" class="form-horizontal">
-        <div style="text-align: center;">
-          <a class="btn btn-primary" href="${context}/reportal">Reportal Home</a>
-#if($projectId)
-          <a class="btn btn-info" href="${context}/reportal?view&amp;id=${projectId}">Report History</a>
-          <input type="submit" class="btn btn-primary" name="submit" value="Save"/>
-          <input type="submit" class="btn btn-success" name="submit" value="Save and Run"/>
-#end
+  </div>
+  <div>&nbsp;</div>
+  <form method="post" class="form-horizontal">
+    <div style="text-align: center;">
+      <a class="btn btn-primary" href="${context}/reportal">Reportal Home</a>
+      #if($projectId)
+        <a class="btn btn-info" href="${context}/reportal?view&amp;id=${projectId}">Report
+          History</a>
+        <input type="submit" class="btn btn-primary" name="submit" value="Save"/>
+        <input type="submit" class="btn btn-success" name="submit" value="Save and Run"/>
+      #end
+    </div>
+    #set($title = $esc.html($title))
+    <div>&nbsp;</div>
+    <div class="container">
+      <input id="queryNumber" type="hidden" name="queryNumber"
+             value="#if($queryNumber)${queryNumber}#{else}1#end">
+      <input id="variableNumber" type="hidden" name="variableNumber"
+             value="#if($variableNumber)${variableNumber}#{else}1#end">
+      <fieldset>
+        <legend>Report</legend>
+        <div class="control-group required">
+          <label class="control-label">Title<abbr title="Required"
+                                                  class="required-mark">*</abbr></label>
+          <div class="controls"><input type="text" name="title"#if($title) value="$title"#end></div>
         </div>
-#set($title = $esc.html($title))
-        <div>&nbsp;</div>
-        <div class="container">
-          <input id="queryNumber" type="hidden" name="queryNumber" value="#if($queryNumber)${queryNumber}#{else}1#end">
-          <input id="variableNumber" type="hidden" name="variableNumber" value="#if($variableNumber)${variableNumber}#{else}1#end">
-          <fieldset>
-            <legend>Report</legend>
-            <div class="control-group required">
-              <label class="control-label">Title<abbr title="Required" class="required-mark">*</abbr></label>
-              <div class="controls"><input type="text" name="title"#if($title) value="$title"#end></div>
+        <div class="control-group required">
+          <label class="control-label">Description<abbr title="Required"
+                                                        class="required-mark">*</abbr></label>
+          <div class="controls"><textarea class="span8" name="description">${description}</textarea>
+          </div>
+        </div>
+        <div class="control-group">
+          <div class="controls">
+            <label class="checkbox">
+              <input name="render-results-as-html" type="checkbox"#if($renderResultsAsHtml)
+                     checked#end/>Render results as HTML
+            </label>
+          </div>
+        </div>
+        <div class="control-group">
+          <div class="controls">
+            <label class="checkbox">
+              <input id="schedule-options" name="schedule" type="checkbox"#if($schedule)
+                     checked#end/>Schedule
+            </label>
+          </div>
+        </div>
+        <div id="schedule-fields">
+          <div class="control-group">
+            <label for="schedule-time" class="control-label">Time</label>
+            <div id="schedule-time" class="controls">
+              #set($TWELVE=12)
+              #set($ZERO_ZERO="00")
+              <input name="schedule-hour" type="text" maxlength="2"
+                     value="#if($scheduleHour && $scheduleHour !="")${scheduleHour}#else$TWELVE#end"
+                     style="width:20px;"/>:<input name="schedule-minute" type="text" size="2"
+                                                  maxlength="2"
+                                                  value="#if($scheduleMinute && $scheduleMinute !=
+                                                    "")${scheduleMinute}#else$ZERO_ZERO#end"
+                                                  style="width:20px;"/>
+              <select name="schedule-am_pm" style="width:60px;">
+                <option#if($scheduleAmPm=="am") selected#end>am</option>
+                <option#if($scheduleAmPm=="pm") selected#end>pm</option>
+              </select>
+              <select name="schedule-timezone" style="width:70px;">
+                <option#if($scheduleTimeZone==$timezone) selected#end>${timezone}</option>
+                <option#if($scheduleTimeZone=="UTC") selected#end>UTC</option>
+              </select>
             </div>
-            <div class="control-group required">
-              <label class="control-label">Description<abbr title="Required" class="required-mark">*</abbr></label>
-              <div class="controls"><textarea class="span8" name="description">${description}</textarea></div>
+          </div>
+          <div class="control-group">
+            <label for="date" class="control-label">Date</label>
+            <div id="date" class="controls" style="position: relative">
+              <input type="text" id="schedule-date"
+                     name="schedule-date"#if($scheduleDate && $scheduleDate != "")
+                     value="$scheduleDate"#end/>
             </div>
-            <div class="control-group">
-              <div class="controls">
-                <label class="checkbox">
-                  <input name="render-results-as-html" type="checkbox"#if($renderResultsAsHtml) checked#end />Render results as HTML
-                </label>
-              </div>
+          </div>
+          <div class="control-group">
+            <div class="controls">
+              <label class="checkbox">
+                <input id="schedule-repeat" name="schedule-repeat"
+                       type="checkbox"#if($scheduleRepeat) checked#end/>Repeat
+              </label>
             </div>
+          </div>
+          <div id="schedule-repeat-fields">
             <div class="control-group">
-              <div class="controls">
-                <label class="checkbox">
-                  <input id="schedule-options" name="schedule" type="checkbox"#if($schedule) checked#end />Schedule
-                </label>
+              <label for="interval" class="control-label">Every</label>
+              <div id="interval" class="controls">
+                #set($ONE=1)
+                <input name="schedule-interval-quantity" type="text" maxlength="2"
+                       value="#if($scheduleIntervalQuantity)${scheduleIntervalQuantity}#else$ONE#end"
+                       style="width:20px;"/>
+                <select name="schedule-interval" style="width:100px;">
+                  <option value="M"#if($scheduleInterval=="M") selected#end>Minute(s)</option>
+                  <option value="h"#if($scheduleInterval=="h") selected#end>Hour(s)</option>
+                  <option value="d"#if($scheduleInterval=="d") selected#end>Day(s)</option>
+                  <option value="w"#if($scheduleInterval=="w") selected#end>Week(s)</option>
+                  <option value="m"#if($scheduleInterval=="m") selected#end>Month(s)</option>
+                  <option value="y"#if($scheduleInterval=="y") selected#end>Year(s)</option>
+                </select>
               </div>
             </div>
-            <div id="schedule-fields">
-              <div class="control-group">
-                <label for="schedule-time" class="control-label">Time</label>
-                <div id="schedule-time" class="controls">
-                  #set($TWELVE=12)
-                  #set($ZERO_ZERO="00")
-                  <input name="schedule-hour" type="text" maxlength="2" value="#if($scheduleHour && $scheduleHour != "")${scheduleHour}#else$TWELVE#end" style="width:20px;"/>:<input name="schedule-minute" type="text" size="2" maxlength="2" value="#if($scheduleMinute && $scheduleMinute != "")${scheduleMinute}#else$ZERO_ZERO#end" style="width:20px;"/>
-                  <select name="schedule-am_pm" style="width:60px;">
-                    <option#if($scheduleAmPm=="am") selected#end>am</option>
-                    <option#if($scheduleAmPm=="pm") selected#end>pm</option>
-                  </select>
-                  <select name="schedule-timezone" style="width:70px;">
-                    <option#if($scheduleTimeZone==$timezone) selected#end>${timezone}</option>
-                    <option#if($scheduleTimeZone=="UTC") selected#end>UTC</option>
-                  </select>
-                </div>
-              </div>
-              <div class="control-group">
-                <label for="date" class="control-label">Date</label>
-                <div id="date" class="controls" style="position: relative">
-                  <input type="text" id="schedule-date" name="schedule-date"#if($scheduleDate && $scheduleDate != "") value="$scheduleDate"#end/>
-                </div>
-              </div>
-              <div class="control-group">
-                <div class="controls">
-                  <label class="checkbox">
-                    <input id="schedule-repeat" name="schedule-repeat" type="checkbox"#if($scheduleRepeat) checked#end/>Repeat
-                  </label>
-                </div>
-              </div>
-              <div id="schedule-repeat-fields">
-                <div class="control-group">
-                  <label for="interval" class="control-label">Every</label>
-                  <div id="interval" class="controls">
-                    #set($ONE=1)
-                    <input name="schedule-interval-quantity" type="text" maxlength="2" value="#if($scheduleIntervalQuantity)${scheduleIntervalQuantity}#else$ONE#end" style="width:20px;"/>
-                    <select name="schedule-interval" style="width:100px;">
-                      <option value="M"#if($scheduleInterval=="M") selected#end>Minute(s)</option>
-                      <option value="h"#if($scheduleInterval=="h") selected#end>Hour(s)</option>
-                      <option value="d"#if($scheduleInterval=="d") selected#end>Day(s)</option>
-                      <option value="w"#if($scheduleInterval=="w") selected#end>Week(s)</option>
-                      <option value="m"#if($scheduleInterval=="m") selected#end>Month(s)</option>
-                      <option value="y"#if($scheduleInterval=="y") selected#end>Year(s)</option>
-                    </select>
-                  </div>
-                </div>
 
-                <div class="control-group" id='endScheduleId' data-max="$max_allowed_schedule_dates" data-default="$default_schedule_dates">
-                  <label for="endSchedule" class="control-label"> <span style="color:#ff1059">End Schedule Time</span> </label>
-                  <div id="interval_2" class="controls" style="position: relative">
-                    <input type="text" id="end-schedule-date" name="end-schedule-date"#if($endScheduleDate && $endScheduleDate != "") value="$endScheduleDate"#end/>
-                  </div>
-                  <div id="expireNote" class="controls" data-end="$endScheduleDate">
-                  </div>
-                </div>
+            <div class="control-group" id='endScheduleId' data-max="$max_allowed_schedule_dates"
+                 data-default="$default_schedule_dates">
+              <label for="endSchedule" class="control-label"> <span style="color:#ff1059">End Schedule Time</span>
+              </label>
+              <div id="interval_2" class="controls" style="position: relative">
+                <input type="text" id="end-schedule-date"
+                       name="end-schedule-date"#if($endScheduleDate && $endScheduleDate != "")
+                       value="$endScheduleDate"#end/>
               </div>
-            </div>
-          </fieldset>
-          <fieldset>
-            <div id="variable-fields">
-              <legend>Variables</legend>
-              <ol id="variable-list" class="reportal-list">
-              </ol>
-              <ol id="variable-template" style="display:none;">
-                <li class="reportal-list-item">
-                  <div class="query-actions" style="float: right;">
-                    <a class="btn btn-icon btn-left bump-up" title="Move the variable up."><span class="icon icon-arrow-up icon-gray-light icon-medium"></span></a>
-                    <a class="btn btn-icon btn-right bump-down disabled" title="Move the variable down."><span class="icon icon-arrow-down icon-gray-light icon-medium"></span></a>
-                    <a class="btn btn-danger btn-icon delete" style="float: right; margin-left:5px;" title="Remove">Remove</a>
-                  </div>
-                  <div class="control-group required">
-                    <label class="control-label">Title<abbr title="Required" class="required-mark">*</abbr></label>
-                    <div class="controls"><input type="text" class="variabletitle" nametemplate="variable#title" value=""></div>
-                  </div>
-                  <div class="control-group required">
-                    <label class="control-label">Name<abbr title="Required" class="required-mark">*</abbr></label>
-                    <div class="controls"><input type="text" class="variablename" nametemplate="variable#name" value=""></div>
-                  </div>
-                </li>
-              </ol>
-              <div class="control-group">
-                <label class="control-label"></label>
-                <div class="controls"><button id="buttonAddVariable" type="button" class="btn btn-success" value="Add another Variable"><span class="icon icon-plus-alt icon-white icon-small"></span>Add Another Variable</button></div>
+              <div id="expireNote" class="controls" data-end="$endScheduleDate">
               </div>
             </div>
-          </fieldset>
-          <legend>Queries</legend>
-          <fieldset>
-            <ol id="query-list" class="reportal-list">
-            </ol>
-            <ol id="query-template" style="display:none;">
-              <li class="reportal-list-item">
-                <div class="query-actions" style="float: right;">
-                  <a class="btn btn-icon btn-left bump-up" title="Move the query up in execution order."><span class="icon icon-arrow-up icon-gray-light icon-medium"></span></a>
-                  <a class="btn btn-icon btn-right bump-down disabled" title="Move the query down in execution order."><span class="icon icon-arrow-down icon-gray-light icon-medium"></span></a>
-                  <a class="btn btn-danger btn-icon delete" style="float: right; margin-left:5px;" title="Remove">Remove</a>
-                </div>
-                <div class="control-group">
-                  <label class="control-label">Title</label>
-                  <div class="controls"><input type="text" class="querytitle" nametemplate="query#title" value="" maxlength="249"></div>
-                </div>
-                <div class="control-group required">
-                  <label class="control-label">Type<abbr title="Required" class="required-mark">*</abbr></label>
-                  <div class="controls">
-                    <select class="querytype" nametemplate="query#type">
-                      <option value="ReportalHive">Hive</option>
-                      <option value="ReportalTeraData">Teradata</option>
-                      <option value="ReportalPig">Pig</option>
-                    </select>
-                  </div>
-                </div>
-                <div class="control-group">
-                  <label class="control-label">Script</label>
-                  <div class="controls"><textarea class="span8 queryscript" nametemplate="query#script"></textarea></div>
-                </div>
-              </li>
-            </ol>
-            <div class="control-group">
-              <label class="control-label"></label>
-              <div class="controls"><button id="buttonAddQuery" type="button" class="btn btn-success" value="Add another Query"><span class="icon icon-plus-alt icon-white icon-small"></span>Add Another Query</button></div>
-            </div>
-          </fieldset>
-          <fieldset>
-            <legend>Access</legend>
-            <div class="control-group">
-              <label class="control-label">Viewers</label>
-              <div class="controls">
-                <textarea class="span8" name="access-viewer">$accessViewer</textarea>
-                <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons. If left blank, the runs of this report are viewable by everyone.
+          </div>
+        </div>
+      </fieldset>
+      <fieldset>
+        <div id="variable-fields">
+          <legend>Variables</legend>
+          <ol id="variable-list" class="reportal-list">
+          </ol>
+          <ol id="variable-template" style="display:none;">
+            <li class="reportal-list-item">
+              <div class="query-actions" style="float: right;">
+                <a class="btn btn-icon btn-left bump-up" title="Move the variable up."><span
+                    class="icon icon-arrow-up icon-gray-light icon-medium"></span></a>
+                <a class="btn btn-icon btn-right bump-down disabled"
+                   title="Move the variable down."><span
+                    class="icon icon-arrow-down icon-gray-light icon-medium"></span></a>
+                <a class="btn btn-danger btn-icon delete" style="float: right; margin-left:5px;"
+                   title="Remove">Remove</a>
               </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label">Executors</label>
-              <div class="controls">
-                <textarea class="span8" name="access-executor">$accessExecutor</textarea>
-                <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons. If left blank, anyone can execute this report.
+              <div class="control-group required">
+                <label class="control-label">Title<abbr title="Required"
+                                                        class="required-mark">*</abbr></label>
+                <div class="controls"><input type="text" class="variabletitle"
+                                             nametemplate="variable#title" value=""></div>
               </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label">Owners</label>
-              <div class="controls">
-                <textarea class="span8" name="access-owner">$accessOwner</textarea>
-                <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons.
+              <div class="control-group required">
+                <label class="control-label">Name<abbr title="Required"
+                                                       class="required-mark">*</abbr></label>
+                <div class="controls"><input type="text" class="variablename"
+                                             nametemplate="variable#name" value=""></div>
               </div>
+            </li>
+          </ol>
+          <div class="control-group">
+            <label class="control-label"></label>
+            <div class="controls">
+              <button id="buttonAddVariable" type="button" class="btn btn-success"
+                      value="Add another Variable"><span
+                  class="icon icon-plus-alt icon-white icon-small"></span>Add Another Variable
+              </button>
+            </div>
+          </div>
+        </div>
+      </fieldset>
+      <legend>Queries</legend>
+      <fieldset>
+        <ol id="query-list" class="reportal-list">
+        </ol>
+        <ol id="query-template" style="display:none;">
+          <li class="reportal-list-item">
+            <div class="query-actions" style="float: right;">
+              <a class="btn btn-icon btn-left bump-up"
+                 title="Move the query up in execution order."><span
+                  class="icon icon-arrow-up icon-gray-light icon-medium"></span></a>
+              <a class="btn btn-icon btn-right bump-down disabled"
+                 title="Move the query down in execution order."><span
+                  class="icon icon-arrow-down icon-gray-light icon-medium"></span></a>
+              <a class="btn btn-danger btn-icon delete" style="float: right; margin-left:5px;"
+                 title="Remove">Remove</a>
             </div>
-          </fieldset>
-          <fieldset>
-            <legend>Notification</legend>
             <div class="control-group">
-              <label class="control-label">Success Emails</label>
+              <label class="control-label">Title</label>
+              <div class="controls"><input type="text" class="querytitle" nametemplate="query#title"
+                                           value="" maxlength="249"></div>
+            </div>
+            <div class="control-group required">
+              <label class="control-label">Type<abbr title="Required" class="required-mark">*</abbr></label>
               <div class="controls">
-                <textarea class="span8" name="notifications">$notifications</textarea>
-                <br/>Separate emails (e.g.: jdoe@example.com) by commas, spaces, or semicolons. Note: If the report returns no results, no email is sent, except for unscheduled runs.
+                <select class="querytype" nametemplate="query#type">
+                  <option value="ReportalHive">Hive</option>
+                  <option value="ReportalTeraData">Teradata</option>
+                  <option value="ReportalPig">Pig</option>
+                </select>
               </div>
             </div>
             <div class="control-group">
-              <label class="control-label">Failure Emails</label>
-              <div class="controls">
-                <textarea class="span8" name="failure-notifications">$failureNotifications</textarea>
-                <br/>Separate emails (e.g.: jdoe@example.com) by commas, spaces, or semicolons.
-              </div>
+              <label class="control-label">Script</label>
+              <div class="controls"><textarea class="span8 queryscript"
+                                              nametemplate="query#script"></textarea></div>
             </div>
-          </fieldset>
-          <div class="form-actions">
-            <input type="submit" class="btn btn-primary" name="submit" value="Save">
-            <input type="submit" class="btn btn-success" name="submit" value="Save and Run"/>
-            <a href="${context}/reportal" class="btn">Cancel</a>
+          </li>
+        </ol>
+        <div class="control-group">
+          <label class="control-label"></label>
+          <div class="controls">
+            <button id="buttonAddQuery" type="button" class="btn btn-success"
+                    value="Add another Query"><span
+                class="icon icon-plus-alt icon-white icon-small"></span>Add Another Query
+            </button>
+          </div>
+        </div>
+      </fieldset>
+      <fieldset>
+        <legend>Access</legend>
+        <div class="control-group">
+          <label class="control-label">Viewers</label>
+          <div class="controls">
+            <textarea class="span8" name="access-viewer">$accessViewer</textarea>
+            <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons. If left blank,
+            the runs of this report are viewable by everyone.
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label">Executors</label>
+          <div class="controls">
+            <textarea class="span8" name="access-executor">$accessExecutor</textarea>
+            <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons. If left blank,
+            anyone can execute this report.
           </div>
         </div>
-      </form>
+        <div class="control-group">
+          <label class="control-label">Owners</label>
+          <div class="controls">
+            <textarea class="span8" name="access-owner">$accessOwner</textarea>
+            <br/>Separate usernames (e.g.: jdoe) by commas, spaces, or semicolons.
+          </div>
+        </div>
+      </fieldset>
+      <fieldset>
+        <legend>Notification</legend>
+        <div class="control-group">
+          <label class="control-label">Success Emails</label>
+          <div class="controls">
+            <textarea class="span8" name="notifications">$notifications</textarea>
+            <br/>Separate emails (e.g.: jdoe@example.com) by commas, spaces, or semicolons. Note: If
+            the report returns no results, no email is sent, except for unscheduled runs.
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label">Failure Emails</label>
+          <div class="controls">
+            <textarea class="span8" name="failure-notifications">$failureNotifications</textarea>
+            <br/>Separate emails (e.g.: jdoe@example.com) by commas, spaces, or semicolons.
+          </div>
+        </div>
+      </fieldset>
+      <div class="form-actions">
+        <input type="submit" class="btn btn-primary" name="submit" value="Save">
+        <input type="submit" class="btn btn-success" name="submit" value="Save and Run"/>
+        <a href="${context}/reportal" class="btn">Cancel</a>
+      </div>
     </div>
-  </body>
+  </form>
+</div>
+</body>
 </html>