diff --git a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
index 39cc07d..ae33070 100644
--- a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
+++ b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
@@ -62,6 +62,7 @@ public abstract class AbstractAzkabanServlet extends HttpServlet {
public static final String XML_MIME_TYPE = "application/xhtml+xml";
public static final String JSON_MIME_TYPE = "application/json";
+ public static final String jarVersion = AbstractAzkabanServlet.class.getPackage().getImplementationVersion();
protected static final WebUtils utils = new WebUtils();
private AzkabanServer application;
@@ -331,6 +332,7 @@ public abstract class AbstractAzkabanServlet extends HttpServlet {
protected Page newPage(HttpServletRequest req, HttpServletResponse resp,
Session session, String template) {
Page page = new Page(req, resp, getApplication().getVelocityEngine(), template);
+ page.add("version", jarVersion);
page.add("azkaban_name", name);
page.add("azkaban_label", label);
page.add("azkaban_color", color);
@@ -382,6 +384,7 @@ public abstract class AbstractAzkabanServlet extends HttpServlet {
protected Page newPage(HttpServletRequest req, HttpServletResponse resp,
String template) {
Page page = new Page(req, resp, getApplication().getVelocityEngine(), template);
+ page.add("version", jarVersion);
page.add("azkaban_name", name);
page.add("azkaban_label", label);
page.add("azkaban_color", color);
diff --git a/azkaban-web-server/src/main/less/navbar.less b/azkaban-web-server/src/main/less/navbar.less
index aee616f..4878951 100644
--- a/azkaban-web-server/src/main/less/navbar.less
+++ b/azkaban-web-server/src/main/less/navbar.less
@@ -53,8 +53,8 @@
color: #ffffff;
font-size: 156.25%;
font-weight: bold;
- margin: 15px 0.6% 15px 4.75%;
- padding: 12px 0 11px 42px;
+ margin: 15px 0.6% 5px 4.75%;
+ padding: 12px 0 5px 42px;
a {
color: #ffffff;
@@ -66,6 +66,12 @@
}
}
+ .navbar-version {
+ color: #ffffff;
+ font-size: x-small;
+ font-weight: normal;
+ }
+
.navbar-nav {
font-family: Arial;
font-size: 81.25%;
diff --git a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/nav.vm b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/nav.vm
index 390bef3..042c1b8 100644
--- a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/nav.vm
+++ b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/nav.vm
@@ -14,51 +14,64 @@
* the License.
*#
- <script type="text/javascript">
+<script type="text/javascript">
function navMenuClick(url) {
window.location.href = url;
}
- </script>
- <div class="navbar navbar-inverse navbar-static-top">
- <div class="container-full">
+</script>
+<div class="navbar navbar-inverse navbar-static-top">
+ <div class="container-full">
<div class="navbar-header">
- <div class="navbar-logo">
- <a href="${context}/">Azkaban</a>
- </div>
+ <div class="navbar-logo">
+ <a href="${context}/">Azkaban</a>
+ <div class="navbar-version">
+ ${version}
+ </div>
+ </div>
+
</div>
<div class="navbar-left navbar-enviro">
- <div class="navbar-enviro-name">${azkaban_name}</div>
- <div class="navbar-enviro-server">${azkaban_label}</div>
+ <div class="navbar-enviro-name">${azkaban_name}</div>
+ <div class="navbar-enviro-server">${azkaban_label}</div>
</div>
<div class="navbar-collapse collapse">
-#if ($navbar_disabled != 1)
- <ul class="nav navbar-nav">
- <li#if($current_page == 'all') class="active"#end onClick="navMenuClick('$!context/')"><a href="$!context/index">Projects</a></li>
- <li#if($current_page == 'schedule') class="active"#end onClick="navMenuClick('$!context/schedule')"><a href="$!context/schedule">Scheduling</a></li>
- <!--<li#if($current_page == 'triggers') class="active"#end onClick="navMenuClick('$!context/triggers')"><a href="$!context/triggers">Triggers</a></li>-->
- <li#if($current_page == 'executing') class="active"#end onClick="navMenuClick('$!context/executor')"><a href="$!context/executor">Executing</a></li>
- <li#if($current_page == 'history') class="active"#end onClick="navMenuClick('$!context/history')"><a href="$!context/history">History</a></li>
- #foreach ($viewer in $viewers)
- #if (!$viewer.hidden)
- <li#if($current_page == $viewer.pluginName) class="active"#end onClick="navMenuClick('$!context/$viewer.pluginPath')"><a href="$!context/$viewer.pluginPath">$viewer.pluginName</a></li>
- #end
- #end
+ #if ($navbar_disabled != 1)
+ <ul class="nav navbar-nav">
+ <li#if($current_page == 'all') class="active"#end onClick="navMenuClick('$!context/')"><a
+ href="$!context/index">Projects</a></li>
+ <li#if($current_page == 'schedule') class="active"#end onClick="navMenuClick('$!context/schedule')"><a
+ href="$!context/schedule">Scheduling</a></li>
+ <!--<li#if($current_page ==
+ 'triggers') class="active"#end onClick="navMenuClick('$!context/triggers')"><a href="$!context/triggers">Triggers</a></li>-->
+ <li#if($current_page == 'executing') class="active"#end onClick="navMenuClick('$!context/executor')">
+ <a href="$!context/executor">Executing</a></li>
+ <li#if($current_page == 'history') class="active"#end onClick="navMenuClick('$!context/history')"><a
+ href="$!context/history">History</a></li>
+ #foreach ($viewer in $viewers)
+ #if (!$viewer.hidden)
+ <li#if($current_page == $viewer.pluginName) class="active"#end
+ onClick="navMenuClick('$!context/$viewer.pluginPath')">
+ <a href="$!context/$viewer.pluginPath">$viewer.pluginName</a></li>
+ #end
+ #end
- #foreach ($trigger in $triggerPlugins)
- #if (!$trigger.hidden)
- <li#if($current_page == $trigger.pluginName) class="active"#end onClick="navMenuClick('$!context/$trigger.pluginPath')"><a href="$!context/$trigger.pluginPath">$trigger.pluginName</a></li>
- #end
- #end
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">${user_id} <b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="$!context?logout">Logout</a></li>
+ #foreach ($trigger in $triggerPlugins)
+ #if (!$trigger.hidden)
+ <li#if($current_page == $trigger.pluginName) class="active"#end
+ onClick="navMenuClick('$!context/$trigger.pluginPath')">
+ <a href="$!context/$trigger.pluginPath">$trigger.pluginName</a></li>
+ #end
+ #end
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">${user_id} <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="$!context?logout">Logout</a></li>
+ </ul>
+ </li>
</ul>
- </li>
- </ul>
-#end
+ #end
</div><!--/.nav-collapse -->
- </div>
</div>
+</div>