incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cr...@apache.org
Subject [46/53] [partial] Initial commit of console v2. Sorry for the large commit
Date Mon, 17 Feb 2014 16:07:22 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/blur_queries/_show.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/blur_queries/_show.html.haml b/contrib/blur-console-v1/blur-admin/app/views/blur_queries/_show.html.haml
new file mode 100644
index 0000000..481243e
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/blur_queries/_show.html.haml
@@ -0,0 +1,136 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- empty_message = 'Not Available'
+
+%table#more-info-table.table.table-striped.table-condensed
+  %tbody
+    - if can? :show, :blur_queries, :query_string
+      %tr
+        %td{:class => "more-info-label"} Query String
+        %td
+          -if @blur_query.query_string
+            =@blur_query.query_string
+          -else
+            =empty_message
+    %tr
+      %td{:class => "more-info-label"} UUID
+      %td
+        -if @blur_query.uuid
+          =@blur_query.uuid
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Status
+      %td
+        -if @blur_query.state
+          = @blur_query.state_str
+        -else
+          = empty_message
+    %tr
+      %td{:class => "more-info-label"} Created At
+      %td
+        -if @blur_query.created_at
+          =@blur_query.created_at.in_time_zone("Eastern Time (US & Canada)")
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Table Name
+      %td
+        -if @blur_query.blur_table.table_name
+          =@blur_query.blur_table.table_name
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Super Query
+      %td
+        -if @blur_query.super_query_on
+          On
+        -elsif @blur_query.super_query_on == false
+          Off
+        -else
+          =empty_message
+          
+    %tr
+      %td{:class => "more-info-label"} Record Only
+      %td
+        -if @blur_query.record_only
+          On
+        -elsif @blur_query.record_only == false
+          Off
+        -else
+          =empty_message
+          
+    %tr
+      %td{:class => "more-info-label"} Facets
+      %td
+        -if @blur_query.facets
+          =@blur_query.facets
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Start
+      %td
+        -if @blur_query.start
+          =@blur_query.start
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Fetch Number
+      %td
+        -if @blur_query.fetch_num
+          =@blur_query.fetch_num
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Pre Filters
+      %td
+        -if @blur_query.pre_filters
+          %span{:title=>@blur_query.pre_filters}
+            =truncate(@blur_query.pre_filters, :length => 50, :ommision => "...")
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Post Filters
+      %td
+        -if @blur_query.post_filters
+          %span{:title=>@blur_query.post_filters}
+            =truncate(@blur_query.post_filters, :length => 50, :ommision => "...")
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Selector Column Families
+      %td
+        -if @blur_query.selector_column_families
+          =@blur_query.selector_column_families
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} Selector columns
+      %td
+        -if @blur_query.selector_columns
+          =@blur_query.selector_columns
+        -else
+          =empty_message
+    %tr
+      %td{:class => "more-info-label"} User ID
+      %td
+        -if @blur_query.userid
+          =@blur_query.userid
+        -else
+          =empty_message

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/blur_queries/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/blur_queries/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/blur_queries/index.html.haml
new file mode 100644
index 0000000..e40a18b
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/blur_queries/index.html.haml
@@ -0,0 +1,48 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'Blur Queries'
+
+- content_for :javascript do
+  = javascript_include_tag 'blur_queries'
+
+#blur_queries_wrapper
+  .range_select
+    Queries in the last:
+    %select.time_range
+      =options_for_select({ "1 min" => 1, "5 min" => 5, "10 min" => 10, "30 min" => 30 }, 1)
+    %form.filters
+      Quick Filter Status by:
+      %input.filter_option{:type => "radio", :name => "filter", "data-filter" => "Running"}
+      Running
+      %input.filter_option{:type => "radio", :name => "filter", "data-filter" => "Complete"}
+      Complete
+      %input.filter_option{:type => "radio", :name => "filter", "data-filter" => "", :checked => true}
+      None
+  %table#queries-table.table.table-striped.table-bordered
+    %thead
+      %tr
+        - headers = ['User ID']
+        - headers << 'Query' if can? :index, :blur_queries, :query_string
+        - headers.push 'Table Name', 'Starting Record', 'Time Submitted', 'Status', 'State', 'Actions/Info'
+        - headers.each do |header|
+          %th
+            .header_content
+              %div=header
+              =render :partial => 'shared/icons'
+    %tbody

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/blur_tables/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/blur_tables/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/blur_tables/index.html.haml
new file mode 100644
index 0000000..b046003
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/blur_tables/index.html.haml
@@ -0,0 +1,33 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'Blur Tables'
+- content_for :javascript do
+  =javascript_include_tag 'blur_table/blur_tables'
+
+.blur_table_page
+  %ul#blur_tables.nav-tabs.nav
+    - @clusters.each_with_index do |cluster,i|
+      %li#cluster_tab{:id=>cluster.id, :class =>("active" unless i != 0)}
+        %a{:href=>"#cluster_#{cluster.id}", "data-toggle"=>"tab"}
+          %span.cluster-title= cluster.name
+          %i.icon-exclamation-sign.queries-running-icon{:style=>'display:none', :title=>'Has been queried within last 5 minutes'}
+          %i.icon-lock.safemode-icon{:style=>'display:none', :title=>'In Safe Mode'}
+  #tables-wrapper.tab-content
+    Loading Tables...
+    %img#loading-spinner{:alt => "Loading...", :src=> "/assets/loader.gif"}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/errors/error_404.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/errors/error_404.html.haml b/contrib/blur-console-v1/blur-admin/app/views/errors/error_404.html.haml
new file mode 100644
index 0000000..346e624
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/errors/error_404.html.haml
@@ -0,0 +1,23 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+%title Blur Console - Error 404
+#error_wrapper
+  %img{:src => image_path('404_file_not_found.png'), :title => 'File Not Found'}
+  %h3 We encountered an error trying to find the page or file you were looking for.
+  %h3 Please make sure you typed in the URL or file name correctly.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/errors/error_422.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/errors/error_422.html.haml b/contrib/blur-console-v1/blur-admin/app/views/errors/error_422.html.haml
new file mode 100644
index 0000000..3b1c521
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/errors/error_422.html.haml
@@ -0,0 +1,22 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+%title Blur Console - Error 422
+#error_wrapper
+  %h1 The change you wanted was rejected.
+  %h3 Maybe you tried to change something you didn't have access to.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/errors/error_500.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/errors/error_500.html.haml b/contrib/blur-console-v1/blur-admin/app/views/errors/error_500.html.haml
new file mode 100644
index 0000000..46a4aec
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/errors/error_500.html.haml
@@ -0,0 +1,29 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+%title Blur Console - Error 500
+#error_wrapper
+  %h2 We're sorry, but there was an error with our server.
+  %h3 Please go back or refresh the page.
+  %img{:src => image_path('server_error.png')}
+  - if (current_user && current_user.is?(:admin) && @error != nil)
+    #error_message
+      = @error.message
+    - @error.backtrace.each do |line|
+      = line
+      %br
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_expand.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_expand.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_expand.html.haml
new file mode 100644
index 0000000..5d246ee
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_expand.html.haml
@@ -0,0 +1,30 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+-if @children.blank?
+  .noFiles No Files Found
+-else
+  %ul
+    - @children.each do |child|
+      -if child[:is_dir]
+        %li.osxSelectable.folder{:hdfs_id=>@hdfs_id, :hdfs_path=>@path + child[:name]}
+          =link_to(child[:name], expand_hdfs_path(@hdfs_id, @path + child[:name]), :title=>child[:name])
+      -else
+        %li.osxSelectable.file{:hdfs_id=>@hdfs_id, :hdfs_path=>@path + child[:name]}
+          =link_to(child[:name], file_info_hdfs_path(@hdfs_id, @path + child[:name]), :title=>child[:name])
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_file_info.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_file_info.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_file_info.html.haml
new file mode 100644
index 0000000..bbc77ae
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_file_info.html.haml
@@ -0,0 +1,44 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+#file_table
+  %table
+    %tr
+      %td Length
+      %td= number_to_human_size @stat.length, :precision => 4
+    %tr
+      %td Directory
+      %td= @stat.isdir
+    %tr
+      %td Block Reps
+      %td= number_with_delimiter @stat.block_replication, :delimiter => ','
+    %tr
+      %td Block Size
+      %td= number_with_delimiter @stat.blocksize, :delimiter => ','
+    %tr
+      %td Last Modified
+      %td= Time.at(@stat.modification_time/1000.0).strftime("%D %r")
+    %tr
+      %td Owner
+      %td= @stat.owner
+    %tr
+      %td Group
+      %td= @stat.group
+    %tr
+      %td Permission
+      %td= @stat.permission
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_folder_info.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_folder_info.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_folder_info.html.haml
new file mode 100644
index 0000000..afe72e0
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_folder_info.html.haml
@@ -0,0 +1,49 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.info-modal
+  .search-info-section
+    #file_table
+      %table.table-condensed.table.table-striped
+        %tr
+          %td Directory
+          %td= @stat.isdir
+        %tr
+          %td Files Count
+          %td#file_count Calculating...
+        %tr
+          %td Folders Count
+          %td#folder_count Calculating...
+        %tr
+          %td Files Size
+          %td#file_size Calculating...
+        %tr
+          %td Last Modified
+          %td= Time.at(@stat.modification_time/1000.0).strftime("%D %r")
+        %tr
+          %td Owner
+          %td= @stat.owner
+        %tr
+          %td Group
+          %td= @stat.group
+        %tr
+          %td Permission
+          %td= @stat.permission
+  .search-info-section
+    .radial-graph
+      Loading...
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_info.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_info.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_info.html.haml
new file mode 100644
index 0000000..b7781ba
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_info.html.haml
@@ -0,0 +1,61 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.info-modal
+  .search-info-section
+    %table#more-info-table.table.table-striped.table-condensed
+      %tbody
+        %tr
+          %td.more-info-label Configured Capacity
+          %td= number_to_human_size @hdfs_stat.config_capacity
+        %tr
+          %td.more-info-label Present Capacity
+          %td= number_to_human_size @hdfs_stat.present_capacity
+        %tr
+          %td.more-info-label Amount Used (With Replication)
+          %td= number_to_human_size @hdfs_stat.dfs_used_real
+        %tr
+          %td.more-info-label Amount Used (Logical)
+          %td= number_to_human_size @hdfs_stat.dfs_used_logical
+        %tr
+          %td.more-info-label Amount Remaining
+          %td= number_to_human_size @hdfs_stat.dfs_remaining
+        %tr
+          %td.more-info-label Percent Used
+          %td= "#{@hdfs_stat.dfs_used_percent}%"
+        %tr
+          %td.more-info-label Under Replicated Blocks
+          %td= @hdfs_stat.under_replicated
+        %tr
+          %td.more-info-label Corrupt Blocks
+          %td= @hdfs_stat.corrupt_blocks
+        %tr
+          %td.more-info-label Missing Blocks
+          %td= @hdfs_stat.missing_blocks
+        %tr
+          %td.more-info-label Total Nodes
+          %td= @hdfs_stat.total_nodes < 0 ? 'Unavailable' : @hdfs_stat.total_nodes
+        %tr
+          %td.more-info-label Dead Nodes
+          %td= @hdfs_stat.dead_nodes < 0 ? 'Unavailable' : @hdfs_stat.dead_nodes
+        %tr
+          %td.more-info-label Live Nodes
+          %td= @hdfs_stat.live_nodes < 0 ? 'Unavailable' : @hdfs_stat.live_nodes
+  .search-info-section
+    .radial-graph
+      Loading...
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload.html.haml
new file mode 100644
index 0000000..9dcd8ce
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload.html.haml
@@ -0,0 +1,25 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+-if not defined? @error
+  :javascript
+    parent.window.finishUploading('#{@path}');
+-else
+  :javascript
+    parent.window.uploadFailed('#{@error}');
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload_form.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload_form.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload_form.html.haml
new file mode 100644
index 0000000..c6b3694
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/_upload_form.html.haml
@@ -0,0 +1,28 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+#upload-file
+  #status
+  = form_tag upload_hdfs_path, :method => 'post', :multipart => true, :target => 'upload_frame', :id => 'upload-form' do
+    = file_field_tag 'upload', :id => 'file-input'
+    %p File must be less than 25Mb
+    = hidden_field_tag 'hdfs_id', nil, :id => 'hdfs-id-input'
+    = hidden_field_tag 'path', nil, :id => 'fpath-input'
+  %iframe#upload_frame{:name=>'upload_frame',:style=>'display:none'}
+  #upload_file_warning.hidden
+    Warning: File or folder with this name already exists. Uploading this file will replace the current one.

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs/index.html.haml
new file mode 100644
index 0000000..eb817b7
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs/index.html.haml
@@ -0,0 +1,29 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'HDFS'
+- content_for :javascript do
+  =javascript_include_tag 'hdfs'
+
+#hdfs_wrapper
+  #hdfs_browser{:hdfs_editor =>current_user.editor.to_s}
+    %ul#top_level
+      - @hdfs.each do |hdfs|
+        %li.osxSelectable.hdfs_instance{:hdfs_id=>hdfs.id, :hdfs_name=>hdfs.name, :hdfs_path=>'/'}
+          =link_to(hdfs.name, expand_hdfs_path(hdfs.id), :title=>hdfs.name)
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_graph.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_graph.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_graph.html.haml
new file mode 100644
index 0000000..56ca86a
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_graph.html.haml
@@ -0,0 +1,59 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.graph_instance{:id => hdfs_instance.id}
+  .graph_title
+    %img.hidden{:class => "loading-spinner",
+      :src => image_path("loader.gif"),
+      :alt => "Loading..."}
+    %h3
+      = "#{hdfs_instance.name} (#{hdfs_instance.host})"
+  .graph_content
+    .graph_data.tabbable.tabs-left
+      %ul.nav.nav-tabs
+        %li.active
+          %a{:href => "#disk_#{hdfs_instance.id}", 'data-toggle' => 'tab', 'data-action' => 'disk'}
+            Capacity/Usage
+        %li
+          %a{:href => "#nodes_#{hdfs_instance.id}", 'data-toggle' => 'tab', 'data-action' => 'nodes'}
+            Live/Dead Nodes
+        %li
+          %a{:href => "#block_#{hdfs_instance.id}", 'data-toggle' => 'tab', 'data-action' => 'block'}
+            Block Status
+      .tab-content
+        %div.tab-pane.active{:id => "disk_#{hdfs_instance.id}"}
+          .graph
+            Loading Graph...
+        %div.tab-pane{:id => "nodes_#{hdfs_instance.id}"}
+          .graph
+            Loading Graph...
+        %div.tab-pane{:id => "block_#{hdfs_instance.id}"}
+          .graph
+            Loading Graph...
+      .graph_info
+        %table.graph-info-table
+          %tbody
+            %tr
+              %td.graph-legend
+              %td
+                .slider-info{:id => hdfs_instance.id}
+                  %input{:class=>"min-date", :type=>"text", :placeholder => 'from'}
+                  to
+                  %input{:class=>"max-date", :type=>"text", :placeholder => 'to'}
+              %td.slider-box
+                .slider{:id => hdfs_instance.id}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_joined_graph.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_joined_graph.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_joined_graph.html.haml
new file mode 100644
index 0000000..4a152d0
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/_hdfs_joined_graph.html.haml
@@ -0,0 +1,45 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.joined_instance{:id => 'joinedGraph'}
+  .graph_title
+    %h3
+    %i.icon-remove-sign
+  .graph_content
+    .graph_select
+    .graph_data.tabbable.tabs-left
+      %ul.nav.nav-tabs
+        %li.active
+          %a{:href => '#disk_joined', 'data-toggle' => 'tab', 'data-action' => 'disk'}
+            Capacity/Usage
+        %li
+          %a{:href => '#nodes_joined', 'data-toggle' => 'tab', 'data-action' => 'nodes'}
+            Live/Dead Nodes
+        %li
+          %a{:href => '#block_joined', 'data-toggle' => 'tab', 'data-action' => 'block'}
+            Under Replicated/Corrupt Blocks
+      .tab-content
+        %div.tab-pane.active#disk_joined
+          .graph
+            Loading Graph...
+        %div.tab-pane#nodes_joined
+          .graph
+            Loading Graph...
+        %div.tab-pane#block_joined
+          .graph
+            Loading Graph...  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/index.html.haml
new file mode 100644
index 0000000..7302eb1
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/hdfs_metrics/index.html.haml
@@ -0,0 +1,25 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'HDFS Metrics'
+- content_for :javascript do
+  =javascript_include_tag 'hdfs_metrics'
+#metrics_page_wrapper
+  .all_graph
+    -@hdfs_index.each_with_index do |hdfs,i|
+      = render :partial => 'hdfs_graph', :locals => { :hdfs_instance => hdfs }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/layouts/_help_menu.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/layouts/_help_menu.html.haml b/contrib/blur-console-v1/blur-admin/app/views/layouts/_help_menu.html.haml
new file mode 100644
index 0000000..0a494e3
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/layouts/_help_menu.html.haml
@@ -0,0 +1,220 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+= stylesheet_link_tag 'application'
+= javascript_include_tag 'help'
+%title
+  Help | Blur Console
+%html{:style => 'min-width: 0px;'}
+  %body
+    #help-window
+      .help-section
+        %h3.help-label Navigation Help
+        .help-content{:style => 'display: none'}
+          .head
+            The navigation bar has three major functionalities:
+          .body
+            %ol
+              %li It is a means to traverse the application
+              %li
+                It gives the user the ability to change the "zookeeper" context of the application:
+                %ul
+                  %li The context can be switched by using the "Current Zookeeper Instance" selector located at the center of the navigation bar.
+                  %li This selector is a list of all zookeepers that your application is currently tracking.
+                  %li This selector is present on every page that displays zookeeper relevant information.
+                  %li Selecting a new zookeeper will refresh the content of the current page using the new zookeeper.
+              %li
+                It has a link to your "User" page:
+                %ul
+                  %li This is located in the top right, next to the "logout" button.
+      .help-section
+        %h3.help-label Dashboard Help
+        .help-content{ :style =>  @tab != 'dashboard' && 'display: none' }
+          .head
+            The "Dashboard" page is a high level view of the overall health of your system.
+            Each box in the Zookeeper section represents a different zookeeper and displays information on that zookeeper.
+          .body
+            %ol
+              %li
+                The header of each zookeeper box displays the current health of that particular zookeeper.
+                %ul
+                  %li A green check means that the system is healthy.
+                  %li A yellow exclamation means that some of the zookeeper nodes are offline but it is still in quorum.
+                  %li A red question mark means that quorom is not being met.
+                  %li A red 'X' means that the zookeeper instance cannot be reached or is completely offline.
+              %li
+                Each circle represents the population of that particular piece of blur. The green portions are the healthy nodes and the red portions are the offline nodes.
+                %ul
+                  %li The circle's values correlate to the offline and online rows in the center of the widget.
+              %li
+                The "version" row indicates whether or not all of the nodes (shards and controllers respectively) are running the same version of blur.
+              %li Clicking on a Zookeeper box will take the user to the Environment page of that particular blur instance.
+              %li
+                A warning will appear at the bottom of the box if there are any "long running" queries.
+                %ul
+                  %li This warning is a count of the number queries that have been running for more than a minute. Clicking the number will bring up a dialog with the list of long running queries.
+
+          .head
+            Each box in the Hdfs section represents a different hdfs instance and displays information about it.
+          .body
+            %ol
+              %li The header of each hdfs box displays whether or not the system is online.
+              %li The information on the left represents whether or not hdfs blocks are missing or under replicated.
+              %li The node bar shows the relative populations of online and offline nodes. The green representing online and the red representing offline.
+              %li The "dfs usage" bar represents the total amount of the hdfs space that is currently being used.
+      .help-section
+        %h3.help-label Environment Status Help
+        .help-content{ :style =>  @tab != 'zookeepers' && 'display: none' }
+          .head
+            The "Environment Status" page is a zookeeper specific status page.
+          .body
+            %ol
+              %li
+                The widget at the top displays the zookeepers status.
+                %ul
+                  %li Hovering over "online(#)" and "offline(#)", only shown if there are any nodes offline or online respectively, will display a tooltip listing the respective nodes.
+                  %li A green background means that the system is healthy.
+                  %li A yellow background means that some of the zookeeper nodes are offline but it is still in quorum.
+                  %li A red background with the header "Quorom Failure" means that quorom is not being met.
+                  %li A red background with the header "Offline" means that the zookeeper instance cannot be reached or is completely offline.
+              %li The "controllers" table lists each controller with its name, blur version, and status.
+              %li The "shards" column contains a link that, when clicked, displays a popup listing all the child shards and their status.
+              %li The "clusters" table lists each shard with its name, blur version, and status. Click "view shards" for a list of the shards in that cluster and the status of each of them.
+              %li Clicking on the 'x' icon on this page will delete the node from the database, 'forget', this is only displayed if the node is no longer online.
+      .help-section
+        %h3.help-label Blur Tables Help
+        .help-content{ :style =>  @tab != 'blur_tables' && 'display: none' }
+          .head
+            The "Blur Tables" page is a list of all the Blur Tables associated with the current zookeeper. The tabs represent each cluster of shards. The tables are broken into Active, Disabled, Deleted statuses.  Each row contains information describing a Blur Table.
+          .body
+            %ol
+              %li The "Hosts/Shards" column is a link that displays a dialog with a list of all the hosts and shards for that BlurTable when clicked.
+              %li "Row Count" is the number of rows in that particular table.
+              %li "Record Count" is the number of records in that particular table.
+              %li
+                "Info" is a link that displays a list of Column families and their columns.s
+                %ul
+                  %li The location of the table in the HDFS.
+                  %li Each entry also shows the name of its analyzer.
+              %li "Queries/Minute" is a sparkline graph and an average number of queries on the corresponding table over the past 10 minutes.
+          .head
+            Depending on access, various actions will be available per status.
+          .body
+            %ul
+              %li Active tables will have the option to disable the table
+              %li Disabled tables will have the option to activate the table or delete the table.
+      .help-section
+        %h3.help-label Blur Queries Help
+        .help-content{ :style =>  @tab != 'blur_queries' && 'display: none' }
+          .head
+            The "Blur Queries" page is a list of recently executed Blur Queries.
+          .body
+            %ol
+              %li The "Auto Refresh" selector allows the user to choose how often the table information is refreshed.
+              %li The "Queries in the last" selector allows users to limit the queries by the time they were updated.
+              %li The "Quick Filter Status By" selector allows users to quickly show certain queries by their current status.
+              %li When the table is refreshed, queries are automatically added, updated, and deleted.
+              %li Each column in the table is sortable by clicking the header of each column.
+              %li The "Filter Queries" box allows users to search for specific values in the table.
+          .head
+            Underneath the filters section is the queries table.
+          .body
+            %ol
+              %li The "User Id" column shows the ID of the user that submitted that query.
+              %li
+                The "Query" column is the text of the executed query. This is only visible to users with the auditor role.
+                %ul
+                  %li Only the first 50 characters of the query text are displayed on the table. The full text can be seen by hovering your mouse over the query column.
+              %li The "Table Name" column shows the table that the query was executed against.
+              %li The "Starting Record" column shows the starting offset for the executed query.
+              %li The "Time Submitted" column shows the time that the query was submitted.
+              %li The "Status" column shows the percent of shards that have completed the query and whether or not the query is still running or was interrupted.
+              %li The "Actions/Info" column gives users the ability to cancel queries that are still in the running state (editor role only) and display details associated with the query (auditor role only).
+      .help-section
+        %h3.help-label Search Help
+        .help-content{ :style =>  @tab != 'searches' && 'display: none' }
+          .help_list#search_help
+            .head
+              Use the "Search" box to begin building a query. Use the search button to the right to submit.
+            .body
+              %ol
+                %li Basic field searches are in the format column_family.column:value
+                %li NOTE: Not all tables can be '*' queried, to learn more about the allowed tables consult your admin.
+                %li Fields can be grouped with parenthesis. Eg. (employee.name:bob employee.gender:male)
+                %li
+                  Special characters:
+                  %ul
+                    %li '+' - Indicates that the field or grouping must exist in the result set (+employee.name:bob)
+                    %li '-' - Indicates that the field or grouping can NOT exist in the result set (-employee.name:bob)
+                    %li '?' - Wildcard for a single character (employee.birthdate:197001??)
+                    %li '*' - Wildcard for 0 to many characters (employee.name:b*b)
+                    %li '~' - Fuzzy criteria to be followed by a number between 0 and 1 (employee.name:bob~0.7)
+
+          .help_list#advanced_help
+            .head
+              Use the "Advanced" menu to further modify a query.
+            .body
+              %ol
+                %li The "Column Families" selector tree allows users to limit the returned columns.
+                %li The "Search On" option allows you to search across a row or record.
+                %li The "Return" option allows you to choose whether to return the results by row or a record.
+                %li The "Start" option allows you to choose the starting element to display.
+                %li The "Fetch" option allows you to limit the amount of rows that are returned.
+                %li The "Pre-Filter" field allows you to remove records before the "join" operation.
+                %li The "Post-Filter" field allows you to filter rows out after the query.
+
+          .help_list#saved_help
+            .head
+              Use the "Saved" menu to load a previously saved query.
+            .body
+              %ol
+                %li The pencil will load the save into the form.
+                %li The red "x" will delete the saved query.
+                %li 
+                  Use the "Save Options" tab to save the current query.
+                  %ul
+                    %li The "Name" field is used to name your saved searches.
+                    %li You can update an existing saved search by using the same name in the name field and clicking update.
+      .help-section
+        %h3.help-label HDFS help
+        .help-content{ :style =>  @tab != 'hdfs' && 'display: none' }
+          .head
+            The HDFS page presents a simple file viewer of an HDFS file system.  Right clicking on the root node will expose properties about the file system as a whole.  Right clicking on any of the children nodes will allow for various editing actions (cut, paste, delete).
+      .help-section
+        %h3.help-label HDFS Metrics help
+        .help-content{ :style =>  @tab != 'hdfs_metrics' && 'display: none' }
+          .head
+            The HDFS metrics page displays a series of statistics for each of your managed hdfs instances. It allows you to track the history of a few key "metrics". The history range can be controlled by the slider / datepicker combo in the bottom right of each HDFS widget. This allows the user to change the range of the metrics window between 2 weeks ago and real time.
+      .help-section
+        %h3.help-label Admin help
+        .help-content{ :style =>  @tab != 'admin' && 'display: none' }
+          .head
+            The "Admin Page" contains a list of all the current users registered in the system. Users with the admin role may edit the roles and information for users on this page. It is only visible to users with the admin role.
+      .help-section
+        %h3.help-label Users help
+        .help-content{ :style =>  @tab != 'users' && 'display: none' }
+          .head
+            The "Column Preferences" section allows the user to choose what column families they want to display first in the results table when they execute a search on the search page.
+          .body
+            %ol
+              %li
+                "My Saved Column Families" is a list of the user's chosen preferred column families, this list is in sorted order from top to bottom.
+                %ul
+                  %li This list is sortable. To change the order of the column families, simply drag a column family to the desired spot in the list.
+                  %li To add columns to your preferred list, click on a blue column from the list on the right and it will be added to your preferred list.
+                  %li To remove a column from your preferred list,** a user can either drag the column into the trash can from their preferred list or click on the corresponding column on the right.

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/layouts/application.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/layouts/application.html.haml b/contrib/blur-console-v1/blur-admin/app/views/layouts/application.html.haml
new file mode 100644
index 0000000..42a41f2
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/layouts/application.html.haml
@@ -0,0 +1,102 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+!!!5
+%html
+  %head
+    = csrf_meta_tag
+    :javascript
+      var CurrentZookeeper = #{session[:current_zookeeper_id] || 'null'};
+    = javascript_include_tag 'application', 'routes'
+    = yield(:javascript)
+    = stylesheet_link_tag 'application', :media => "all" 
+    - if session[:current_zookeeper_id].blank? && @zookeepers
+      :javascript
+        var Zookeeper = {};
+        Zookeeper.instances = #{@zookeepers.collect{|z| {:id=>z.id, :name=>z.name}}.to_json}
+    %title
+      = yield(:title)
+      | Blur Console
+    %link{:rel => "icon", :type => "image/png", :href => "/assets/favicon.png"}
+  %body
+    #root
+      - if @current_user
+        .navbar
+          %a.brand{:href => '/'}
+            = image_tag('blur_logo.png')
+          .navbar-inner
+            %ul.nav.pull-left
+              - controller = params[:controller]
+              - action = params[:action]
+              %li{:class => controller == 'zookeepers' && action == 'index' && 'active'}
+                = link_to 'Dashboard', root_path
+              %li{:class => controller == 'zookeepers' && action == 'show' && 'active'}
+                = link_to 'Environment Status', stateful_nav_url('environment'), :id => 'env_link'
+              %li{:class => controller == 'blur_tables' && 'active'}
+                = link_to 'Blur Tables', stateful_nav_url('blur_table'), :id => 'tables_link', 'data-url-extension' => '/blur_tables'
+              %li{:class => controller == 'blur_queries' && 'active'}
+                = link_to 'Blur Queries', stateful_nav_url('blur_query'), :id => 'queries_link', 'data-url-extension' => '/blur_queries'
+              - if can? :show, :searches
+                %li{:class => controller == 'searches' && 'active'}
+                  = link_to 'Search', stateful_nav_url('search'), :id => 'search_link', 'data-url-extension' => '/searches'
+              %li.dropdown{:class => (controller == 'hdfs' || controller == 'hdfs_metrics') && 'active'}
+                %a.dropdown-toggle{:href=>'#', :data=>{:toggle=>'dropdown'}}
+                  HDFS
+                  %b.caret
+                %ul.dropdown-menu
+                  %li{:class => controller == 'hdfs' && 'active'}
+                    = link_to 'HDFS File Browser', hdfs_index_path
+                  %li{:class => controller == 'hdfs_metrics' && 'active'}
+                    = link_to 'HDFS Metrics', hdfs_metrics_path
+              - if can? :index, :audits
+                %li{:class => controller == 'audits' && action == 'index' && 'active'}
+                  = link_to 'Audits', audits_path
+              - if can? :index, :users
+                %li{:class => controller == 'users' && action == 'index' && 'active'}
+                  = link_to 'Admin', users_path
+							
+            %ul.nav.pull-right
+              - if @zookeepers && @zookeepers.length > 1
+                %li
+                  #zookeeper_select
+                    -blank = @current_zookeeper.nil? && session[:current_zookeeper_id].nil?
+                    = select('zookeeper', 'id', @zookeepers.collect{|zk| [zk.name, zk.id]}, {:id => 'zookeeper_id', :include_blank => blank, :selected => session[:current_zookeeper_id]})
+                %li.divider-vertical
+              %li{:class => controller == 'users' && action == 'show' && 'active'}
+                = link_to "Account", @current_user
+              - if session[:proof].blank?
+                %li= link_to "Log Out", logout_path
+      #bd.container-fluid
+        = yield
+
+  - if flash
+    #flash
+      - flash.each do |type, message|
+        -if type == :notice
+          .alert.alert-success{:class=>type}= message
+        -elsif type == :error
+          .alert.alert-error{:class=>type}= message
+        -else
+          .alert.alert-info{:class=>type}= message
+  #ft
+    #company-info
+      %p
+        - if !@current_user.nil?
+          %a#page-help{:href => ''} Help
+        | Version 1.4.2
+#help-menu{:style => 'display: none', "data-controller" => params[:controller], "data-action" => params[:action]}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/searches/_saved.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/searches/_saved.html.haml b/contrib/blur-console-v1/blur-admin/app/views/searches/_saved.html.haml
new file mode 100644
index 0000000..398641f
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/searches/_saved.html.haml
@@ -0,0 +1,33 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+#searches.partial-section
+  -if @searches.length != 0
+    -@searches.each do |search|
+      .search_element{:id => search.id}
+        .search-name{:title => search.name}
+          =search.name
+        .search-buttons
+          %a.btn#edit_icon{ :title => "Edit Query" }
+            %i.icon-pencil
+          %a.btn#delete_icon{ :title => "Delete Query" }
+            %i.icon-remove
+        .clearfix
+
+  -else
+    %div You do not have any saved searches.

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/searches/create.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/searches/create.html.haml b/contrib/blur-console-v1/blur-admin/app/views/searches/create.html.haml
new file mode 100644
index 0000000..c9e0f33
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/searches/create.html.haml
@@ -0,0 +1,57 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- if @results and not @results.empty?
+  #results_info
+    = "#{@result_count} results found"
+  #results_section
+    %table#result_table.result_table
+      %thead
+        %tr.familysets
+          %th.rowId
+          - @schema.each do |familyName,family|
+            %th{:colspan => family['columns'].count, :children => family['columns'].count, :class => "family_-sep-_#{family['name']}", :id => family['name'] }= family['name']
+        %tr.columnsets
+          %th.rowId rowId
+          - @schema.each do |familyName,family|
+            - family['columns'].each do |column|
+              %th{:class => "column_-sep-_#{family['name']}_-sep-_#{column['name']} family_-sep-_#{family['name']}"}
+                = column['name'].gsub(/([A-Z])/, '&shy;\1').html_safe
+
+      %tbody
+        -current_row_id = ""
+        - @results.each do |result|
+          - max_record_count = result[:max_record_count]
+          - max_record_count.times do |i|
+            %tr.table-bordered{:class => (current_row_id != result[:id]) ? "first" : ""}
+
+              - @schema.each_with_index do |(familyName,column_family), j|
+                - if i == 0 and j == 0
+                  %td{:rowspan => max_record_count, :class => "first", :title => "rowId"}= result[:id]
+                  -current_row_id = result[:id]
+                - record = result[column_family['name']][i] if result[column_family['name']]
+
+                - if record # then insert the record
+                  - column_family['columns'].each do |column|
+                    %td{:class => "#{((j % 2) == 1 ? 'even' : 'odd' )} column_-sep-_#{column_family['name']}_-sep-_#{column['name']} family_-sep-_#{column_family['name']}",
+                        :title => column['name']}
+                      = record[column['name']]
+
+                - else # fill in the remaining space with a big cell
+                  %td{:class => "#{((j % 2) == 1 ? 'even' : 'odd' )} family_-sep-_#{column_family['name']} family_-sep-_#{column_family['name']}_-sep-_empty",
+                      :colspan => column_family['columns'].length}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/searches/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/searches/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/searches/index.html.haml
new file mode 100644
index 0000000..9695be5
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/searches/index.html.haml
@@ -0,0 +1,129 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+-content_for :title, 'Search'
+-content_for :javascript do
+  =javascript_include_tag 'search'
+
+%script
+  var searchValidator = {table: "#{@search_filter.value}", query: /:\*$|^\*$/};
+
+#search_page_wrapper
+  #filter_section
+    = form_tag zookeeper_searches_path, :method => 'post', :id=>'search_form', :remote => true do
+      #filters_wrap
+        #standard
+          .search_field
+            = search_field_tag :query_string, params[:query_string], :placeholder => "Enter a Query String", :value => @query
+          = submit_tag "Search", :id => "search_submit", :class => "btn btn-primary"
+          %img.hidden{:id => "loading-spinner",
+              :src => image_path("loader.gif"),
+              :alt => "Loading..."}
+        #blur-table
+          = select_tag :blur_table, grouped_options_for_select(@filter_table_collection, @blur_table ? @blur_table.id : nil)
+        #advanced
+          .header
+            Advanced
+            %img{:class => "arrow_down arrow",
+                :src => image_path("arrow_down.png"),
+                :alt => "Expand For More Options"}
+            %img{:class => "arrow_up arrow",
+                :src => image_path("arrow_up.png"),
+                :alt => "Expand For More Options"}
+          .body.tab
+            .filter.section
+              .filtered-title Column Families
+              #filter_columns
+                .column_family_filter{:name=>"column_data[]"}
+            .section
+              %table
+                %tr.filter
+                  #radio_headers
+                    %td Search On:
+                %tr
+                  %td
+                    #radio_buttons
+                      %table
+                        %tr
+                          %td Row 
+                          %td 
+                            %input#search_row{:class => :radioButton, :name => :search, :type => :radio, :value => '0', :checked => 'checked'}
+                        %tr
+                          %td Record
+                          %td
+                            %input#search_record{:class => :radioButton, :name => :search, :type => :radio, :value => '1'}   
+                %tr.filter
+                  #radio_headers  
+                    %td Return:
+                %tr
+                  %td
+                    #radio_buttons
+                      %table
+                        %tr
+                          %td Row 
+                          %td 
+                            %input#return_row{:class => :radioButton, :name => :return, :type => :radio, :value => '0', :checked => 'checked'}
+                        %tr
+                          %td Record
+                          %td
+                            %input#return_record{:class => :radioButton, :name => :return, :type => :radio, :value => '1', :disabled => true}                     
+                %tr.filter
+                  %th Start:
+                  %td
+                    = number_field_tag :offset, 0, :min => 0
+                %tr.filter
+                  %td Fetch:
+                  %td 
+                    = number_field_tag :result_count, 10, :min => 0
+                %tr
+                  %td Pre-filter String
+                %tr
+                  %td{:colspan => 2}
+                    %input#pre_filter{:class => :filter_text, :type => :text, :value => '', :name => :pre_filter} 
+                %tr
+                  %td Post-filter String
+                %tr
+                  %td{:colspan => 2}
+                    %input#post_filter{:class => :filter_text, :type => :text, :value => '', :name => :post_filter}                                        
+        #saved
+          .header
+            Saved
+            %img{:class => "arrow_down arrow",
+                :src => image_path("arrow_down.png"),
+                :alt => "Expand For More Options"}
+            %img{:class => "arrow_up arrow",
+                :src => image_path("arrow_up.png"),
+                :alt => "Expand For More Options"}
+          .body.tab
+            .saved.section
+              .saved-title
+                Saved Searches
+              = render "saved", :searches => @searches, :blur_table => @blur_table
+            .save_actions.section
+              .saved-title.saved-input
+                Save Current Search
+              .filter#save_name_wrap
+                #save_label= label_tag :save_name, 'Name:'
+                = text_field_tag 'save_name'
+              .filter#buttons
+                %button.btn.primary{:name => "save", :type => "button", :id => 'save_button'}
+                  Save New
+                %button.btn{:name => "update", :type => "button", :id => 'update_button'}
+                  Update
+  #results_wrapper.hidden
+    #results_container
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/shared/_icons.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/shared/_icons.html.haml b/contrib/blur-console-v1/blur-admin/app/views/shared/_icons.html.haml
new file mode 100644
index 0000000..93ba793
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/shared/_icons.html.haml
@@ -0,0 +1,20 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+%i.icon-chevron-up
+%i.icon-chevron-down
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/user_sessions/_form.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/user_sessions/_form.html.haml b/contrib/blur-console-v1/blur-admin/app/views/user_sessions/_form.html.haml
new file mode 100644
index 0000000..0fe000d
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/user_sessions/_form.html.haml
@@ -0,0 +1,31 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+= twitter_bootstrap_form_for user_session, :html => {:class => 'well'} do |f|
+  -if user_session.errors.any?
+    #error_explanation
+      %ul
+        - user_session.errors.full_messages.each do |msg|
+          %li= msg
+  %p
+    = f.text_field :username, false, :placeholder => "Username"
+  %p
+    = f.password_field :password, false, :placeholder => "Password"
+  %p
+    = f.submit 'Log In', :class => "btn btn-primary"
+    = link_to 'Register', new_user_path

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/user_sessions/new.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/user_sessions/new.html.haml b/contrib/blur-console-v1/blur-admin/app/views/user_sessions/new.html.haml
new file mode 100644
index 0000000..4b31553
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/user_sessions/new.html.haml
@@ -0,0 +1,22 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'Log In'
+#login_wrapper
+  = link_to image_tag('blur_logo.png'), root_path
+  = render 'form', :user_session => @user_session
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/users/_form.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/users/_form.html.haml b/contrib/blur-console-v1/blur-admin/app/views/users/_form.html.haml
new file mode 100644
index 0000000..9ed12c1
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/users/_form.html.haml
@@ -0,0 +1,52 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+= twitter_bootstrap_form_for user do |f|
+  -if user.errors.any?
+    #error_explanation
+      %h4= "#{pluralize(user.errors.count, 'error')} prohibited new user from being saved"
+      %ul
+        - user.errors.full_messages.each do |msg|
+          %li= msg
+  %label= "Account Information"
+  - fields = {:username					=> :text_field,
+      :name											=> :text_field,
+      :email										=> :email_field,
+      :password									=> :password_field,
+      :password_confirmation 		=> :password_field}
+  - fields.each_pair do |field_name, field_type|
+    - if (!user.new_record? and can? :update, user, field_name)	or ( user.new_record? and can? :create, user, field_name)
+      = f.send field_type, field_name, false, :placeholder => field_name.to_s.humanize
+    - elsif user[field_name]
+      %strong= "#{field_name}: "
+      = user[field_name]
+  - if (current_user && current_user.is?(:admin))
+    = f.toggles 'Roles' do
+      - User::ROLES.each do |role|
+        %li
+          - if role == "admin" && current_user == user
+            = check_box_tag "user[roles][]", role, user.is?(role), :id => 'user_role_' + role, :style => 'display:none'
+          - else
+            = check_box_tag "user[roles][]", role, user.is?(role), :id => 'user_role_' + role
+          %span
+            = role.to_s.humanize
+  - if current_user
+    = f.submit 'Save', :class => 'btn btn-primary'
+  - else
+    = f.submit 'Register', :class => 'btn btn-primary'
+  = link_to 'Cancel', cancel_path, :class => 'btn'

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/users/edit.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/users/edit.html.haml b/contrib/blur-console-v1/blur-admin/app/views/users/edit.html.haml
new file mode 100644
index 0000000..51ecf84
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/users/edit.html.haml
@@ -0,0 +1,23 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'Edit User'
+
+#edit_user_wrapper
+  %h2 Edit User
+  = render 'form', :user => @user, :cancel_path => users_path

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/users/index.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/users/index.html.haml b/contrib/blur-console-v1/blur-admin/app/views/users/index.html.haml
new file mode 100644
index 0000000..e00e087
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/users/index.html.haml
@@ -0,0 +1,51 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'Users'
+- content_for :javascript do
+  =javascript_include_tag 'admin'
+
+#admin_wrapper
+  %h2 Users
+  #users_table_wrapper
+    %table.table.table-bordered.table-striped{:id => 'users_table'}
+      %tr
+        %th Username
+        %th Name
+        %th Email
+        %th Roles
+        %th Actions
+      - for user in @users
+        %tr
+          %td= user.username
+          %td= user.name
+          %td= user.email
+          %td= user.roles.to_a.join ', '
+          %td
+            =link_to raw('<i class="icon-pencil"></i> Edit'), edit_user_path(user), :class => 'btn'
+            - if current_user != user
+              = link_to raw('<i class="icon-trash icon-white"></i> Delete'), user, :confirm => 'Are you sure?', :method => :delete, :class => 'btn btn-danger'
+  %p= link_to raw('<i class="icon-user"></i> New User'), new_user_path, :class => 'btn'
+
+  %h2.filter-header Star Query Table Filter
+  %p.clarification (Whitelist Regex for allowing '*' queries)
+  = form_tag("/admin_settings/#{@search_filter.id}.html", :method => "put", :remote => true, :class => 'table-filter') do
+    = hidden_field_tag(:setting, 'regex_filter')
+    .control-group
+      = text_field_tag(:value, @search_filter.value)
+      = submit_tag("Save", :class => 'btn')

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/users/new.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/users/new.html.haml b/contrib/blur-console-v1/blur-admin/app/views/users/new.html.haml
new file mode 100644
index 0000000..89f7bd1
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/users/new.html.haml
@@ -0,0 +1,30 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'New User'
+
+- if current_user
+  #new_user_wrapper
+    %h2 New User
+    = render 'form', :user => @user, :cancel_path => users_path
+- else
+  #login_wrapper
+    = link_to image_tag('blur_logo.png'), root_path
+    #new_user_wrapper.well
+      %h2 Register
+      = render 'form', :user => @user, :cancel_path => login_path

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/users/show.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/users/show.html.haml b/contrib/blur-console-v1/blur-admin/app/views/users/show.html.haml
new file mode 100644
index 0000000..3b60110
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/users/show.html.haml
@@ -0,0 +1,96 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+- content_for :title, 'User'
+- content_for :javascript do
+  =javascript_include_tag 'users'
+
+#show_user_wrapper{'data-user-id' => @user.id}
+  .info-contain.row
+    - if can? :update, @column_preference
+      - col_prefs = @column_preference.value || []
+      #pref-col-info.span5
+        #pref-row.row
+          #pref-title.hidden-spinner
+            %img{:class => "loading-spinner",
+              :src => image_path("loader.gif"),
+              :alt => "Loading..."}
+            %h3 Search Result Column Preferences
+          #pref-bin.span3
+
+            #pref-col
+              .section-label{:id => @user.id} My Saved Column Families
+              %ul#my-cols.sort
+                -if col_prefs.size() == 0
+                  #no-saved None Currently Saved
+                -else
+                  #no-saved{:style => "display:none;"} None Currently Saved
+                  -col_prefs.each do |pref|
+                    .sel-fam{:id => "value_#{pref}"}
+                      =pref
+            #pref-trash
+              %ul#actual-trash.sort
+                #trash Drag a column here to remove it from your preferences
+            #pref-key
+              %h4 Search Prefence Key:
+              Saved Column:
+              #orange_color
+              %br
+              Unsaved Column:
+              #blue_color
+          #opt-col.span2
+            .section-label All Column Families
+            -@choices.each do |option|
+              -if col_prefs.include? option
+                .my-select.fam{:id => "value_#{option}"}
+                  =option
+              -elsif !option.blank?
+                .fam{:id => "value_#{option}"}
+                  =option
+    #zookeeper-pref.span6
+      %h3 Zookeeper Preferences
+      - options = ["Default", "Choose Zookeeper", " Use Last Zookeeper"]
+      %select#zookeeper_pref
+        - options.each_with_index do |option, index|
+          %option{ :value => index, :selected => (:selected if @zookeeper_preference.name == index.to_s) }
+            = option
+      =select_tag :zookeeper_num,  options_from_collection_for_select(@zookeepers, "id", "name", @zookeeper_preference.value)
+      %p
+        This preference will only be used when the current user does not have a zookeeper in the current session.
+      %p
+      =submit_tag "Save", :confirm => "Are you sure?", :id => "zookeeper_submit", :class => "btn btn-primary"
+
+    #user-info.span4
+      %p
+        %strong Username:
+        = @user.username
+      %p
+        %strong Name:
+        = @user.name
+      %p
+        %strong Email:
+        = @user.email
+      %p
+        %strong Roles:
+        = @user.roles.to_a.join ', '
+      %p
+        - if can? :edit, @user
+          = link_to "Edit", edit_user_path(@user)
+        - if can? :index, :users
+          |
+          = link_to "View All Users", users_path

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_hdfs_stat.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_hdfs_stat.html.haml b/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_hdfs_stat.html.haml
new file mode 100644
index 0000000..165fdae
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_hdfs_stat.html.haml
@@ -0,0 +1,59 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.hdfs_info
+  %table.hdfs_table{:id => "#{hdfs.id}"}
+    %thead
+      %tr
+        %th.hdfs-title{ :colspan => 2}
+          .hdfs-name
+            = hdfs.name + " - "
+            %span.hdfs-host
+              =hdfs.host
+
+    %tbody
+      %tr
+        %th Blocks
+        %th Nodes
+      %tr
+        %td.center
+          .blocks-corr.label.status.center
+            %span.number 0
+            Corrupt Blocks
+        %td.center
+          .progress.progress-up-down
+            .bar.up.nodes-live{:style=>'width:100%'}
+              %span.number 0
+              Online/Offline
+            .down.nodes-dead
+              %span.number
+      %tr
+        %td.center
+          .blocks-miss.label.status.center
+            %span.number 0
+            Missing Blocks
+        %td.center &nbsp;
+      %tr
+        %td.center
+          .nodes-under.label.status.center
+            %span.number 0
+            Under Replicated Blocks
+        %td.center &nbsp;
+      %tr
+        %td{ :colspan => 2 }
+          .warning

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11a2529a/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_zookeeper.html.haml
----------------------------------------------------------------------
diff --git a/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_zookeeper.html.haml b/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_zookeeper.html.haml
new file mode 100644
index 0000000..28e1b2d
--- /dev/null
+++ b/contrib/blur-console-v1/blur-admin/app/views/zookeepers/_zookeeper.html.haml
@@ -0,0 +1,66 @@
+-#
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+.zookeeper_info
+  %table.zookeeper_table{:id => "#{zookeeper.id}"}
+    %thead
+      %tr
+        %th.zookeeper-title{ :colspan => 3 }
+          .zookeeper-name
+            = zookeeper.name
+          .zookeeper-status
+            = case zookeeper.zookeeper_status; when 0 then "Offline"; when 1 then "Online"; else "Not Available"; end
+
+    %tbody
+      %tr
+        %td.index
+        %th.cont
+          Controllers
+        %th.shard
+          Shards
+      %tr
+        %th.index
+          Blur Version
+        %td.cont
+          .bv-cont
+            .controllers-bv.label.status
+              No Controllers Available
+        %td.shard
+          .bv-shard
+            .shards-bv.label.status
+              No Shards Available
+      %tr
+        %th.index
+          Status
+        %td.cont
+          .progress.progress-up-down.stat-cont
+            .bar.up.controllers-online{:style=>'width:100%'}
+              %span.number 0
+              Online/Offline
+            .down.controllers-offline
+              %span.number
+        %td.shard
+          .progress.progress-up-down.stat-shard
+            .bar.up.shards-online{:style=>'width:100%'}
+              %span.number 0
+              Online/Offline
+            .down.shards-offline
+              %span.number
+      %tr
+        %td{ :colspan => 3 }
+          .warning


Mime
View raw message