diff --git a/desktop/core/src/desktop/js/reactComponents/imports.js b/desktop/core/src/desktop/js/reactComponents/imports.js
index 23b250ecb6d..c54da492738 100644
--- a/desktop/core/src/desktop/js/reactComponents/imports.js
+++ b/desktop/core/src/desktop/js/reactComponents/imports.js
@@ -10,6 +10,9 @@ export async function loadComponent(name) {
case 'StorageBrowserPage':
return (await import('../apps/storageBrowser/StorageBrowserPage')).default;
+ case 'Overview':
+ return (await import('../apps/admin/Overview/OverviewTab')).default;
+
case 'Metrics':
return (await import('../apps/admin/Metrics/MetricsTab')).default;
diff --git a/desktop/core/src/desktop/static/desktop/js/admin-wizard-inline.js b/desktop/core/src/desktop/static/desktop/js/admin-wizard-inline.js
index 4f55611ad6c..8c02214656e 100644
--- a/desktop/core/src/desktop/static/desktop/js/admin-wizard-inline.js
+++ b/desktop/core/src/desktop/static/desktop/js/admin-wizard-inline.js
@@ -1,179 +1,3 @@
-routie.setPathname('/about');
-var AdminWizardViewModel = function () {
- var self = this;
-
- self.connectors = ko.observableArray();
- self.isInstallingSample = ko.observable(false);
-
- self.installConnectorDataExample = function (connector, event) {
- self.isInstallingSample(true);
- $.post("/notebook/install_examples", {
- connector: connector.id
- }, function (data) {
- if (data.message) {
- huePubSub.publish('hue.global.info', { message: data.message });
- }
- if (data.errorMessage) {
- huePubSub.publish('hue.global.error', { message: data.errorMessage });
- }
- if (data.status == 0 && $(event.target).data("is-connector")) {
- huePubSub.publish('cluster.config.refresh.config');
- }
- }).always(function (data) {
- self.isInstallingSample(false);
- });
- }
-};
-
-function installConnectorExample() {
- var button = $(this);
- $(button).button('loading');
- $.post(button.data("sample-url"), function (data) {
- if (data.status == 0) {
- if (data.message) {
- huePubSub.publish('hue.global.info', { message: data.message });
- } else {
- huePubSub.publish('hue.global.info', { message: 'Examples refreshed' });
- }
- if ($(button).data("is-connector")) {
- huePubSub.publish('cluster.config.refresh.config');
- }
- } else {
- huePubSub.publish('hue.global.error', { message: data.message });
- }
- })
- .always(function (data) {
- $(button).button('reset');
- });
-}
-
-$(document).ready(function () {
-
- var adminWizardViewModel = new AdminWizardViewModel();
- ko.applyBindings(adminWizardViewModel, $('#adminWizardComponents')[0]);
-
- function checkConfig() {
- $.get("/desktop/debug/check_config", function (response) {
- $("#check-config-section .spinner").css({
- 'position': 'absolute',
- 'top': '-100px'
- });
- $("#check-config-section .info").html(response);
- $("#check-config-section .info").removeClass('hide');
- })
- .fail(function () {
- huePubSub.publish('hue.global.error', { message: 'Check config failed: ' });
- });
- }
-
- $("[rel='popover']").popover();
-
-
- $(".installBtn").click(installConnectorExample);
-
- $(".installAllBtn").click(function () {
- var button = $(this);
- $(button).button('loading');
- var calls = jQuery.map($(button).data("sample-data"), function (app) {
- return $.post($(button).data("sample-url"), { data: app }, function (data) {
- if (data.status != 0) {
- huePubSub.publish('hue.global.error', { message: data.message });
- }
- });
- });
- $.when.apply(this, calls)
- .then(function () {
- huePubSub.publish('hue.global.info', { message: 'Examples refreshed' });
- })
- .always(function (data) {
- $(button).button('reset');
- });
- });
-
- var currentStep = "step1";
-
- routie({
- "step1": function () {
- showStep("step1");
- },
- "step2": function () {
- showStep("step2");
- },
- "step3": function () {
- showStep("step3");
- },
- "step4": function () {
- showStep("step4");
- }
- });
-
- if (window.location.hash === '') {
- checkConfig();
- }
-
- function showStep(step) {
- if (window.location.hash === '#step1') {
- checkConfig();
- }
-
- currentStep = step;
- if (step != "step1") {
- $("#backBtn").removeClass("disabled");
- } else {
- $("#backBtn").addClass("disabled");
- }
-
- if (step != $(".stepDetails:last").attr("id")) {
- $("#nextBtn").removeClass("hide");
- $("#doneBtn").addClass("hide");
- } else {
- $("#nextBtn").addClass("hide");
- $("#doneBtn").removeClass("hide");
- }
-
- $("a.step").parent().removeClass("active");
- $("a.step[href='#" + step + "']").parent().addClass("active");
- if (step == "step4") {
- $("#lastStep").parent().addClass("active");
- }
- $(".stepDetails").hide();
- $("#" + step).show();
- }
-
- $("#backBtn").click(function () {
- var nextStep = (currentStep.substr(4) * 1 - 1);
- if (nextStep >= 1) {
- routie("step" + nextStep);
- }
- });
-
- $("#nextBtn").click(function () {
- var nextStep = (currentStep.substr(4) * 1 + 1);
- if (nextStep <= $(".step").length) {
- routie("step" + nextStep);
- }
- });
-
- $("#doneBtn").click(function () {
- huePubSub.publish('open.link', "/");
- });
-
- $(".updatePreferences").click(function () {
- $.post("/about/update_preferences", $("input").serialize(), function (data) {
- if (data.status == 0) {
- huePubSub.publish('hue.global.info', { message: 'Configuration updated' });
- } else {
- huePubSub.publish('hue.global.error', { message: data.data });
- }
- });
- });
-
- $("#updateSkipWizard").prop('checked', $.cookie("hueLandingPage", { path: "/" }) == "home");
-
- $("#updateSkipWizard").change(function () {
- $.cookie("hueLandingPage", this.checked ? "home" : "wizard", {
- path: "/",
- secure: window.location.protocol.indexOf('https') > -1
- });
- });
-});
\ No newline at end of file
+(function () {
+ window.createReactComponents('#Overview');
+})();
diff --git a/desktop/core/src/desktop/templates/check_config.mako b/desktop/core/src/desktop/templates/check_config.mako
deleted file mode 100644
index 367671a9179..00000000000
--- a/desktop/core/src/desktop/templates/check_config.mako
+++ /dev/null
@@ -1,65 +0,0 @@
-## Licensed to Cloudera, Inc. under one
-## or more contributor license agreements. See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership. Cloudera, Inc. 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.
-
-<%!
-import sys
-
-from desktop.conf import has_connectors
-from desktop.auth.backend import is_hue_admin
-
-if sys.version_info[0] > 2:
- from django.utils.translation import gettext as _
-else:
- from django.utils.translation import ugettext as _
-%>
-
-% if is_hue_admin(user):
- ${ _('Configuration files located in') }
${ conf_dir }
-% endif
-
-
-
-% if error_list:
-
-
-
- % for error in error_list:
-
-
-
- ${ error['name'] | n }
-
- |
-
- ## Doesn't make sense to print the value of a BoundContainer
- % if 'value' in error:
- ${ _('Current value:') } ${ error['value'] }
- % endif
- ${ error['message'] | n }
- |
-
- % endfor
-
-% else:
-
${ _('All OK. Configuration check passed.') }
-% endif
diff --git a/desktop/core/src/desktop/templates/logs.mako b/desktop/core/src/desktop/templates/logs.mako
index 97c1c38d0ec..3321a5b600d 100644
--- a/desktop/core/src/desktop/templates/logs.mako
+++ b/desktop/core/src/desktop/templates/logs.mako
@@ -13,11 +13,6 @@
## 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.
-<%!
-import re
-import sys
-from desktop.views import commonheader, commonfooter
-%>
<%namespace name="layout" file="about_layout.mako" />
diff --git a/desktop/core/src/desktop/templates/metrics.mako b/desktop/core/src/desktop/templates/metrics.mako
index eebe10f54cb..b625a695384 100644
--- a/desktop/core/src/desktop/templates/metrics.mako
+++ b/desktop/core/src/desktop/templates/metrics.mako
@@ -13,18 +13,9 @@
## 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.
-<%!
-import sys
-from desktop.views import commonheader, commonfooter
-from desktop import conf
-%>
<%namespace name="layout" file="about_layout.mako" />
-%if not is_embeddable:
-${ commonheader(_('Metrics'), "about", user, request) | n,unicode }
-%endif
-
${layout.menubar(section='metrics')}
@@ -32,7 +23,4 @@ ${layout.menubar(section='metrics')}
-
-%if not is_embeddable:
-${ commonfooter(request, messages) | n,unicode }
-%endif
+